【问题标题】:AWS CloudFormation: update-stack fails if VolumeAttachment specifiedAWS CloudFormation:如果指定了 VolumeAttachment,则更新堆栈失败
【发布时间】:2017-07-18 09:03:20
【问题描述】:

我们在使用 AWS CloudFormation 时遇到了一个奇怪的问题。

我们使用 CloudFormation 来自动部署我们的一些机器;我们的 CloudFormation yml 描述了部署,其中包含一个在堆栈外部创建的持久 EBS 卷,我们不想沿着这样的堆栈删除或重新创建(它包含我们应用程序的很多状态)。

相关的 CloudFormation yml sn-p 是:

DataVolumeAttachment01: Type: AWS::EC2::VolumeAttachment Properties: Device: "/dev/xvdm" InstanceId: !Ref EC2Instance01 VolumeId: !Ref DataVolumeId EC2Instance01: Type: "AWS::EC2::Instance" Properties: ImageId: "ami-6f587e1c" KeyName: !Ref "KeyName" InstanceType: !Ref "InstanceType" BlockDeviceMappings: # Root device - DeviceName: "/dev/sda1" Ebs: VolumeType: "gp2" DeleteOnTermination: "true" VolumeSize: 20

因此,根设备是“临时的”(每次更新堆栈时,都会删除此类卷并使用用户数据重新配置),而 /dev/xvdm 应该包含我们的持久数据;这样的设备会挂载在用户数据的末尾,并添加到 fstab 中。

AWS own documentation 之后,我创建了一个脚本,用于从 VM 内部卸载此类卷,我什至尝试从 EC2 实例中分离此类卷,类似于:

${SSH_CMD} "cd /home/application && application stop && sudo umount /data && echo data volume unmounted" echo "detaching data volume" VOLID=$(aws ec2 describe-volumes --filters Name=tag-key,Values="Name" Name=tag-value,Values=persistent-volume --query 'Volumes[*].{ID:VolumeId}' --output text) aws ec2 detach-volume --volume-id "${VOLID}"

我已经验证了umount和detach成功。

使用我的模板和参数创建新堆栈成功。

然而,当我启动时

aws cloudformation update-stack --capabilities CAPABILITY_IAM --stack-name $STACK_NAME --template-body file://single_ec2_instance.yml --parameters file://$AWS_PARAMETERS_FILE

更新失败,出现以下错误:

Update to resource type AWS::EC2::VolumeAttachment is not supported.

即使我没有更改此类资源中的任何内容。

怎么了?我该如何解决或变通?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-ebs amazon-cloudformation


    【解决方案1】:

    这件事似乎不是问题。

    要么 CloudFormation 受到用尽的 t2 cpu 积分的影响(我们已经用尽了,我们正试图更改实例类型以使用 m3 或 m4),或者我们在爱尔兰遇到了 EC2/CloudFormation 糟糕的一天.今天,使用完全相同的设置,每次更新都成功了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-18
      • 1970-01-01
      • 2018-09-11
      • 1970-01-01
      • 2021-06-29
      • 1970-01-01
      • 2021-12-29
      • 2021-06-27
      相关资源
      最近更新 更多