【くらうどふぉーめーしょん】
CloudFormation とは?
最終更新:
💡 AWSインフラの「設計図」をコードで書いて自動構築するサービス
AWSのインフラをテンプレートファイル(JSON/YAML)で定義し、その内容どおりにリソースを作成・更新・削除するIaCサービス。VPC・EC2・RDSなどのAWSリソースをコードでまとめて管理できる。
📌 このページのポイント
もっと詳しく知りたい人へ
変更セットで内容を確認すれば、スタックの更新は必ず成功するの?
必ずではありません。AWSの公式ドキュメントは、変更セットはスタックの更新が成功することを保証しないと明記しています。変更セットの作成時には、プロパティの書き方の誤り、リソース名の衝突、サービスクォータの上限などよくある失敗原因が検査されますが、カスタムリソースの処理や各サービス固有の制約のように、実行してみないとわからない原因で失敗することは残ります。変更セットは「何が変わるか」を確かめる道具として使い、失敗時のロールバックやデータのバックアップは別に準備しておきます。
まとめ:ざっくりこれだけ覚えればOK!
「CloudFormation」って出てきたら「AWSのインフラをコードで定義して自動構築するサービスのことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「Cloud Formation」 = クラウドの構成・形成
💬 Cloud(クラウド)+ Formation(形成・編成)。雲の形を作るように、クラウドリソースの構成を定義するイメージだよ
参考資料
- What is CloudFormation?(AWS CloudFormation User Guide)
- Understand update behaviors of stack resources(AWS CloudFormation User Guide)
- AWS::RDS::DBInstance(CloudFormation Template Reference)
- Update CloudFormation stacks using change sets(AWS CloudFormation User Guide)
- Detect unmanaged configuration changes to stacks and resources with drift detection(AWS CloudFormation User Guide)
- DeletionPolicy attribute(CloudFormation Template Reference)
- State(Terraform Documentation)
- What is Terraform?(Terraform Documentation)