IAMロールの権限を最新化する CloudFormation のスタック作成に失敗する場合、以下の原因が考えられます。
1. サインインするAWSアカウントが間違っている
サインインするAWSアカウントが間違っている場合、CloudFormationスタックのステータスが ROLLBACK_COMPLETE で作成に失敗します。
STEP1 に記載されている、AWSアカウントIDにサインインしているかどうかをご確認ください。
サインインしているAWSアカウント番号は、AWSマネジメントコンソール画面の右上で確認できます。
2. CloudFormationのスタックを作成するAWSリージョンが間違っている
CloudFormationのスタックを作成するAWSリージョンが間違っている場合、スタックのステータスが ROLLBACK_COMPLETE で作成に失敗します。
更新対象のIAMロールを新規作成した時のリージョンで、CloudFormationスタックを作成する必要があります。
「更新対象のIAMロールを作成した時のリージョン」は、以下の手順でご確認いただけます。
- 更新対象のAWSアカウントの編集ボタンをクリックする
- 下記画像赤枠の「CloudFormationのスタック名」をコピーする
- AWSマネジメントコンソールのタグエディタ画面に移動する
- 「リソースを検索」ボタンをクリックする
- (2) でコピーした「CloudFormationのスタック名」を、リソースの検索結果のフィルタリング欄に入力して結果を絞り込む
- 絞り込まれた結果の「リージョン」列に表示されているリージョンが、権限を最新化する際に切り替える必要があるAWSリージョンです
上記AWSリージョンに切り替えた後に、IAMロールの権限を最新化する操作を最初から実施してください。
AWSリージョンの切り替えは、AWSマネジメントコンソール画面の右上から行えます。
3. サインインしているAWSアカウントのユーザーの権限が不足している
サインインしているAWSアカウントのユーザーにCloudFormationスタックを作成する権限が不足している場合、下記エラーが表示され、スタックの作成を行うことができません。
User: arn:aws:iam::123456789012:user/example-user is not authorized to perform: cloudformation:GetTemplateSummary because no identity-based policy allows the cloudformation:GetTemplateSummary action
この場合、お客様側でユーザーに対してこちらの権限を許可していただく必要がございます。
上記権限をユーザーに許可した後に、IAMロールの権限を最新化する操作を最初から実施してください。
4. IAMロール作成後に手動でインラインポリシーを追加した
更新対象のIAMロールに手動でインラインポリシーを追加した状態で最新化操作を行うと、CloudFormationスタックのステータスが ROLLBACK_COMPLETE で失敗する場合がございます。
この場合、以下の手順でご対応ください。
- ROLLBACK_COMPLETE で失敗したCloudFormationスタックの「イベント」をクリックする
- イベントを下にスクロールして「状況の理由」が The policy {インラインポリシー名} already exists on the role CloudAutomator-XXXXXXXXXXXX-CloudAutomator-XXXXXXXXXXXX. になっている行を探して、インラインポリシー名を控えておきます (下記画像の場合は lambda-statement と fsx-statement の2つを控えます)
- CloudFormationスタックの「パラメータ」をクリックして、IamRoleName の値を控えておきます
- AWSマネジメントコンソールのIAMロールの一覧画面を表示して、(3) で控えておいたIamRoleName の値でIAMロールを検索して、見つかったIAMロール名をクリックしてください
- (2) で控えておいたインラインポリシー名を選択して「削除」してください
上記手順を実施した後に、IAMロールの権限を最新化する操作を最初から実施してください。