0

に指定されていると、AWS CloudFormationに奇妙な問題が発生した場合、update-stackが失敗します。AWS CloudFormation:VolumeAttachmentが

私たちはいくつかのマシンの配置を自動化するためにCloudFormationを使用しています。私たちのCloudFormation ymlは、スタックの外側に作成された永続的なEBSボリュームを含む展開を記述しており、そのようなスタックを削除または再作成したくない(アプリケーションの状態が非常に多い)

関連CloudFormationのYMLスニペットがある:

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インスタンスから、このようなボリュームをdeattaching試してみました、のようなもの:私はアンマウントを確認した

${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}"

とは切り離しは成功する。

テンプレートとパラメータを使用して新しいスタックを作成すると成功します。私は、このエラーで

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.

どうしたのですか?どうすれば解決できますか?

答えて

0

事は問題ではないようです。

CloudFormationは、消耗したt2cpuクレジット(私たちは疲れていましたが、m3またはm4を使用するためにその正確な理由でインスタンスタイプを変更しようとしていました)またはEC2/CloudFormationの悪い日をアイルランド。今日、同じ正確なセットアップで、すべての更新が成功しました。

関連する問題