
CloudFormation は、IaC(Infrastructure as Code) を実現するサービスであり、AWSリソースを テンプレート(YAML/JSON) 形式でコード化して管理します。これにより、リソース間の 依存関係 を考慮しながら、インフラを自動的かつ一貫して構築することができます。
作成されたテンプレートは、Stack(スタック) としてデプロイされ、リソース群をまとめて宣言的に
作成・更新・削除 できます。スタックを更新する際には、Change Sets(変更セット) を使用して、
実際に変更を適用する前に影響範囲を事前確認することができます。
Drift Detection(ドリフト検出) 機能を利用することで、テンプレートで定義された構成と、実際にデプロイされたリソースの状態との不整合を検出し、運用中の構成ずれを防止できます。
複数アカウントや複数リージョンに対して一括展開を行う場合は、StackSet(スタックセット) を活用します。これにより、組織全体で統一されたインフラ管理・展開が可能になります。
テンプレートには パラメータ や 出力(Outputs) を定義でき、環境ごとの可変値設定や、他のスタックとの連携を容易にします。
開発者は CDK(Cloud Development Kit) を用いて、TypeScript や Python などの一般的なプログラミング言語からテンプレートを自動生成することもでき、CloudFormation と連携した柔軟な IaC 運用を実現します。
重要用語
関連サービス
CDK
ユースケース
- リスト1
 - リスト2
 - リスト3
 
ベストプラクティス
- リスト1
 - リスト2
 - リスト3
 
高可用性・冗長化
- リスト1
 - リスト2
 - リスト3
 
セキュリティ
- リスト1
 - リスト2
 - リスト3
 
運用・監視
- リスト1
 - リスト2
 - リスト3
 
デフォルトのリミット値
| リミット事項 | 上限数 | 
|---|---|
| 項目1 | 上限1 | 
| 項目2 | 上限2 | 
| 項目3 | 上限3 | 
| 項目4 | 上限4 | 
| 項目5 | 上限5 | 
AWS CLIのサンプルコード
vpc を作成
#include <stdio.h>
void main(void) {
  int i;
  for (i=0; i<10; i++)
    printf("%d\n", i);
vpc を作成
aaaaaaaaaaaaa
bbbbbbbbbbbbb
ccccccccccccc
Terraformのサンプルコード
vpc を作成
bbbbbbbbbbbbbbbbbbbbbbb
ddddddddddddddddddddddd
vpc を作成
xxxxxxxxxxxxxxxxxxxxxxx
yyyyyyyyyyyyyyyyyyyyyy
課金モデル
| 項目 | 内容 | 
|---|---|
| 項目1 | 内容1 | 
| 項目2 | 内容2 | 
| 項目3 | 内容3 | 
| 項目4 | 内容4 | 
| 項目5 | 内容5 |