CloudFormationのスタック数とリソース数の一覧を表示するスクリプトを作った

CloudFormationには、スタックの最大数が200、1スタック内のリソース最大数が200という制限があります。 コレに事前に気づくために、CloudFormationのスタック数とリソース数を調べるスクリプトを作ってみました。
2020.02.17

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

CloudFormationには、スタックの最大数が200、1スタック内のリソース最大数が200という制限があります。

特に「1スタック内のリソース最大数が200」の制限は、成長を続けるプロダクトで発生しやすいと思います。 もしこの状況に遭遇すれば、CloudFormationのデプロイ(チェンジセット作成)が失敗するため、事前に気づいて対策する必要があります。

ということで、CloudFormationのスタック数とリソース数を調べて、一覧表示するスクリプトを作ってみました。

CloudFormationのスタック数とリソース数を調べるスクリプト

コード

使い方

$ python app.py

実行結果

スタック数と各スタック内のリソース数を表示します。

AWS-CDK-CircleCI-Deploy-Sample-App-Stack-prod(13)
AWS-CDK-CircleCI-Deploy-Sample-App-Stack-dev(13)
Deploy-Iam-Sample-SAM-App(7)
SwaggerSample(7)
sam-deploy-test-Stack(6)
aws-sam-cli-managed-default(2)
CDKToolkit(1)
----------------------------
total stack: 7

さいごに

週1ぐらいで実行して、上限に近づいているスタックに気づけると嬉しいですね。 Lambdaで動かして、しきい値(180とか)を超えたスタックをSlackに通知するのも良さそうです。

参考