CloudFormation は、AWS構成をテンプレートとしてコードで定義し、スタック単位でまとめて作成・更新・削除できるサービスです。EC2、VPC、IAM、RDS、S3 などをコンソールで手作業する代わりに、こういう構成にしたい をコードで管理します。AWSにおける代表的な Infrastructure as Code の手段のひとつです。
まず押さえたいポイント
- AWS構成をコードで管理するための基本サービス
- テンプレートを書き、スタック単位で反映する
- 同じ構成を再現しやすくなる
- Change Set で更新差分を事前確認できる
- Drift Detection で手動変更によるズレを見つけやすい
どんな場面で使うか
CloudFormation は、本番、ステージング、検証環境をなるべく同じ形で作りたいときや、AWS構成をレビュー可能な形で残したいときに使います。複数人で運用する環境では、画面で誰かが作った設定 を減らしやすくなるのが大きいです。
また、変更前に差分を見たい、手動変更が残っていないか確認したい、といった運用にも向いています。単に自動化するだけでなく、構成変更を追いやすくするための土台として使うイメージです。
どう理解するとよいか
初心者向けには、CloudFormation を AWS構成の設計図をコードで持つ仕組み と考えると分かりやすいです。ただし、YAMLを書くこと自体が目的ではありません。大事なのは、構成を再現しやすくし、差分を見ながら安全に更新できる状態を作ることです。
このため、テンプレート、スタック、Change Set、Drift Detection をセットで理解すると全体像がつかみやすいです。
注意点
CloudFormation を使っていても、コンソールやCLIで手動変更が入ればズレは起きます。IaCだから安心 ではなく、手動変更後にどう戻すか、どこまでCloudFormation管理に寄せるかを決めておく方が安全です。
また、巨大な1スタックに詰め込みすぎると運用しにくくなるので、所有者やライフサイクル単位で分ける考え方も大事です。
詳しい整理は、CloudFormationとは?AWS構成をコードで管理する基本 で解説しています。