SAA / ドメイン2 レジリエントなアーキテクチャの設計
重要な内容
AWS CloudFormation
概要
は、AWSリソースとその依存関係をテンプレートに記述し、スタックとして一貫して作成・更新・削除するサービスです。環境を繰り返し再現できるため、復旧時間の短縮と構成ミスの抑制に役立ちます。
主要技術
① テンプレートとスタック
またはテンプレートにリソース、パラメータ、出力などを定義します。は依存関係を解決し、テンプレートをスタックとしてします。
② 変更セット
スタックを更新する前に変更セットを作成すると、追加・変更・削除されるリソースを確認できます。意図しない置換や削除のリスクを抑えられます。
③ ロールバック
作成または更新中に失敗すると、原則として変更をロールバックします。スタックイベントを確認すると、失敗したリソースと原因を追跡できます。
④ StackSets
StackSetsは、複数のAWSアカウントやへ同じスタックを展開します。組織全体へ共通のネットワーク設定や監視設定を配布する場合に適しています。
⑤ ドリフト検出
スタック外で変更されたリソースとテンプレートの差異を検出できます。宣言した構成と実環境のずれを把握するために使用します。
⑥ 再利用、データ保護、権限
Parametersは環境ごとの入力、Mappingsは固定の対応表、Conditionsは条件付き作成、Outputsは作成した値の公開に使います。ネストされたスタックは共通テンプレートを部品化します。
DeletionPolicyでRetainやSnapshotを指定すると、スタック削除時に重要データを残せます。ただし、自体はバックアップサービスではありません。機密値はテンプレートへ直接書かず、Parameter Storeやの動的参照を検討します。
試験対策
① レジリエンスへの寄与
インフラ構成をコードとして保管し、別で再作成できるようにすると、手作業による復旧より一貫性と再現性を高められます。データ自体のバックアップやは別途必要です。
② 更新前の安全確認
本番スタックの変更影響を事前確認する要件では変更セットを選びます。複数アカウント・複数への標準構成展開ではStackSetsが適しています。
| キーワード | 機能 |
|---|---|
| 更新前に置換・削除を確認 | 変更セット |
| 手動変更との差分 | ドリフト検出 |
| 複数アカウントへ展開 | StackSets |
| スタック削除後もDBを保持 | DeletionPolicy |
⚠️ 頻出: 変更セットはリソース変更を表示しますが、変更後のアプリケーション動作までは保証しません。