gpt4 book ai didi

amazon-web-services - Cloudformation - 如果 EC2 实例是使用 Auto Scaling 组和启动配置创建的,如何引用该实例的实例 ID

转载 作者:行者123 更新时间:2023-12-03 07:15:34 25 4
gpt4 key购买 nike

我正在尝试创建 EBS 卷并将其附加到我的 EC2 实例。该实例有自己的 Auto Scaling 组和启动配置。我希望如果该实例变得不健康并终止,EBS 卷应自动附加到由 Auto Scaling 组启动的新实例。挂载命令位于启动配置中,因此这不是问题。

这是我的代码:

Influxdbdata1Asg:
Type: 'AWS::AutoScaling::AutoScalingGroup'
Properties:
TargetGroupARNs:
- !Ref xxxx
VPCZoneIdentifier:
- !GetAtt 'NetworkInfo.PrivateSubnet1Id'
LaunchConfigurationName: !Ref yyyy
MinSize: 1
MaxSize: 1
DesiredCapacity: 1
Data1:
Type: AWS::EC2::Volume
DeletionPolicy: Retain
Properties:
Size: !Ref 'DataEbsVolumeSize'
AvailabilityZone: !GetAtt 'NetworkInfo.PrivateSubnet1Id'
Tags:
- Key: Name
Value: !Join
- '-'
- - !Ref 'AWS::StackName'
- data1
Attachdata1:
Type: AWS::EC2::VolumeAttachment
Properties:
InstanceId: !Ref ????
VolumeId: !Ref Data1
Device: /dev/xvdb

最佳答案

遗憾的是,您无法使用以下方法执行此操作:

Attachdata1:
Type: AWS::EC2::VolumeAttachment
Properties:
InstanceId: !Ref ????
VolumeId: !Ref Data1
Device: /dev/xvdb

原因是实例是由ASG启动的,你不会有它的想法。

附加必须在 CloudFormation 外部完成,因为无法预先知道将来的实例 ID 是什么。正如其他答案提到的生命周期 Hook 。

或者甚至更好地使用独立于 ASG 的存储,例如 EFS,它将在实例启动和终止之间自动保留,并且可以由多个实例安装。

关于amazon-web-services - Cloudformation - 如果 EC2 实例是使用 Auto Scaling 组和启动配置创建的,如何引用该实例的实例 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62327583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com