AWS Control Tower を有効化するときに躓いた話
About
Control Tower を有効化するときに躓いたポイントの備忘
とりあえず大事なことは、 ここ に書いてある。
やばそうだったらサポートチケット切る。
発生したエラーたち
- AWS Control Tower failed to deploys stack(s)
- No launch paths found for resource: prod-xxxxxxxxxxx
AWS Control Tower failed to deploys stack(s)
実際のエラーメッセージは以下。
AWS Control Tower failed to deploy stack(s):arn:aws:cloudformation:ap-northeast-1:xxxxxxxxxxxx:stack/ControlTowerBP-BASELINE-CLOUDTRAIL-MASTER/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. To continue, review the failed stack(s) and try again.
CLOUDTRAIl-MASTERのstackをデプロイする途中でコケているらしい。
当該のStackは CloudFormation > Stacks
から確認できる。
アクセスすると、より詳細なエラーメッセージが表示されている。
今回のエラーの根本原因としては、ControllTowerでKMSを利用するよう設定したにも関わらず、当該のKeyのアクセス権限設定を行っていなかったためであった。
同様の症状が公式問い合わせサイト(repost)で報告されていたので、提示されていた以下の解決策で解決した。
- KMSのアクセス権限を再設定(参考:公式ドキュメント)
- エラーを吐いているStackを削除
- Control Tower を再度有効化
No launch paths found for resource: prod-xxxxxxxxxxx
Control Towerの有効化が完了したのち、いざAccountFactoryでアカウント発行をしようとしたところ、以下のエラーが発生した。
No launch paths found for resource: prod-xxxxxxxxxxx
公式によると、このエラーが出現する理由として、
- ルートアカウントでログインしている時
- IAM Identity Centerのユーザーのアクセス許可グループが適切でない時
- IAMユーザーとしてログインしている時
- AWS Control Towerでドリフトがある時
などがあるらしい。
今回は、3つめの「IAMユーザーとしてログイン」が原因。 AWS Service Catalogにアクセスし、ポートフォリオ > AWS Control Tower Account Factory Portfolio
を選択。 このポートフォリオへのアクセス権が、ログインしている自分のIAMユーザーには付与されていなかった。 アクセス
タブから、自分のIAMユーザーを追加したら、無事にアカウント発行ができた。
参考
Discussion