- 新しい順
- 投票が多い順
- コメントが多い順
ROLLBACK_COMPLETEはスタックの作成に失敗しています。
CloudFormationの画面からスタックの「イベント」タブを確認してどのリソースの作成に失敗しているか (どのような原因で失敗しているか) 確認する必要があります。
ステップファンクションワークフローを手動で開始します
こちらはStepFunctionの画面から対象のステートマシンを開いて「実行を開始」をクリックしたときに入力するJSONだと思います。
エラーの内容を読むとわかるのですが、「Bucket name should be between 3 and 63 characters long」と記載されています。
S3バケット名の長さは3文字から63文字以内に収まるように設定する必要があります。
問題があるのはCloudFormationテンプレートによって作成されるS3バケットの名前です。
手動で作成したものは関係ありません。
CloudFormationテンプレートの中身を確認しました。
474~502行目でエラーが出ているS3バケットを作成しています。
おそらく"BucketName"で結合したりしている内容が長くなっていて作成時にエラーが出ているのだと思います。
NukeS3Bucket:
Type: AWS::S3::Bucket
DeletionPolicy: Retain # should empty the S3 bucket contents if you want to delete the S3 when the stack is deleted
UpdateReplacePolicy: Retain
Properties:
BucketName: !Join
- '-'
- - !Ref BucketName
- !Ref AWS::AccountId
- !Ref AWS::Region
- !Select
- 0
- !Split
- '-'
- !Select
- 2
- !Split
- /
- !Ref AWS::StackId
PublicAccessBlockConfiguration:
BlockPublicAcls: true
IgnorePublicAcls: true
BlockPublicPolicy: true
RestrictPublicBuckets: true
Tags:
- Key: DoNotNuke
Value: 'True'
- Key: owner
Value: !Ref Owner
CloudFormation実行時にAWS CLIのオプションにパラメータを追加してみてください。
デフォルトだとバケット名の接頭辞が"nuke-account-cleanser-config"になるようなのでそれを"nuke-conf"にして短くすることで対応する感じです。
aws cloudformation create-stack \
--stack-name NukeCleanser \
--template-body file://nuke-cfn-stack.yaml \
--region <Region> \
--capabilities CAPABILITY_NAMED_IAM \
--parameters ParameterKey=BucketName,ParameterValue=nuke-conf
回答有難うございます。
スタックの「イベント」タブを確認したところ添付の通りでした。 ”ステートマシンを開いて「実行を開始」”については確認します。
どうぞよろしくお願い致します。
お返事有難うございます。
S3バケットは作成してません。
なんという名のバケットを作成すればよろしいでしょうか? nuke-account-cleanser-config-{AWS::AccountId}-ap-northeast-1というバケットを作成しましたが結果はかわりませんでした。
どうぞよろしくお願いいたします
再度のお返事有難うございました。
また、下記の回答ですが、少し言葉が足りなかったと思ったので訂正させて頂きます。 https://repost.aws/questions/QUtbD9t9ooSq-D_PQR9dJhHw/aws-nukeの実行するためのステップファンクションワークフローを手動で開始方法#AN2L_9H7urTVG7C0ovZIYwEw
=======訂正前======== S3バケットは作成してません。
なんという名のバケットを作成すればよろしいでしょうか? nuke-account-cleanser-config-{AWS::AccountId}-ap-northeast-1というバケットを作成しましたが結果はかわりませんでした。 =======訂正前========
********訂正後******** S3バケットは作成してませんでした。
そのため、 https://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/automate-deletion-of-aws-resources-by-using-aws-nuke.htmlの 「S3 バケットを準備します。」の手順を参考にnuke-account-cleanser-config-{AWS::AccountId}-ap-northeast-1というバケットを作成後、 スタックを再作成ましたが出力されたイベント内容含め結果は変わりませんでした。
nuke-account-cleanser-config-{AWS::AccountId}-ap-northeast-1は私のIDに置き換えると56文字で3~63文字の間に納まってます。
なんという名のバケットを作成すればよろしいでしょうか?
********訂正後********
どうぞよろしくお願いします。
お世話になっております。
他の事例や私の検証用環境をテストして、「ステップファンクションワークフロー」を利用しないで、 環境の削除が可能なことが分かりましたのでaws-nukeとcloudshellのみで実行しようと思います。
色々回答頂いたり、一部ですがCloudFormationなどの経験ができ勉強になりました。
どうもありがとうございました
内容を見た限り、S3バケットの作成で問題があるようです。 S3バケット名の文字数を確認していただけますでしょうか?