CloudFormation のテンプレートファイルアップロードで api_error_message_500 が発生するときの対処方法

2022.06.01

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

CloudFormation で環境構築を行うため、テンプレートファイルのアップロードをしたところapi_error_message_500が表示されます。操作ユーザには AWSCloudFormationFullAccess と作成するリソースへのアクセス許可を付与しており、AWS CLI だと問題なくスタックが作成できたのでテンプレートに問題はないと思います。
対処方法があれば教えてください。

どう対応すればいいの?

IAM ユーザの権限をご確認ください。

CloudFormation コンソールからスタックを作成する場合は、AWS CLI で実行する場合と比べて追加の権限が必要です。例えば、テンプレートのアップロード機能を使用する場合は、CloudFormation に対するアクセス権限以外にも、次のような S3 に対するアクセス権限が必要となります。

s3:PutObject
s3:ListBucket
s3:GetObject
s3:CreateBucket

CloudFormation コンソールを使用する際は、AWS CLI で実行する際に比べて追加権限が必要になること認識し、必要な権限が不足していないかご確認ください。

なお、この他にもドロップダウンリスト機能を使用する場合は EC2 へのアクセス権限が必要となるなど、機能によって必要な権限は異なるため、エラーの際はドキュメントもご確認ください。

AWS CloudFormation コンソール固有のアクション - AWS CloudFormation

参考資料

AWS CloudFormation コンソールを使用する IAM ユーザーには、AWS Command Line Interface または AWS CloudFormation API を使用する場合に必要とならない追加の権限が必要です。CLI および API と比較して、コンソールには追加の権限が必要な追加の機能 (Amazon S3 バケットへのテンプレートアップロード、AWS 固有のパラメータタイプのドロップダウンリストなど) が備わっています。