CloudFormationスタック設計の実践|ネストスタック・クロススタック参照・スタック管理のベストプラクティス

現場実践|CloudFormation実践設計
CloudFormationスタック設計の実践|ネストスタック・クロススタック参照・スタック管理のベストプラクティス
「CloudFormationを使い始めたが一つのテンプレートが巨大になってきた」——CloudFormationのネストされたスタック・クロススタック参照(Exports/Fn::ImportValue)・スタック分割の設計パターンを解説します。
💡 CloudFormationのスタック設計はTerraformのモジュール設計と同様に「1つのスタックに全てを詰め込まない」ことが重要です。適切なスタック分割で変更の影響範囲を限定できます。
1. スタック分割の基本パターン
インフラ層(ネットワーク)
VPC・サブネット・IGW・NAT GW・ルートテーブル・セキュリティグループを1つのスタックにまとめる。頻度が低い変更のため独立させることで安定性が高まる。
データ層(DB・ストレージ)
RDS・ElastiCache・S3・DynamoDBを独立したスタックにまとめる。データは最も慎重に扱うため、アプリ層から分離して変更頻度を最小にする。
アプリ層(EC2・ECS・ALB)
EC2・ECS・ALB・Auto Scalingを独立したスタックにまとめる。最も頻繁に変更される層のため独立させることで他の層への影響を防ぐ。
2. クロススタック参照の実装
# ネットワークスタック(出力側)
Outputs:
VpcId:
Value: !Ref VPC
Export:
Name: !Sub "${AWS::StackName}-VpcId"
PrivateSubnet1aId:
Value: !Ref PrivateSubnet1a
Export:
Name: !Sub "${AWS::StackName}-PrivateSubnet1aId"
---
# アプリスタック(参照側)
Parameters:
NetworkStackName:
Type: String
Default: "network-stack"
Resources:
AppInstance:
Type: AWS::EC2::Instance
Properties:
SubnetId: !ImportValue
!Sub "${NetworkStackName}-PrivateSubnet1aId"3. スタック操作の注意点
- 削除保護の有効化:本番スタックは削除保護(Termination Protection)を有効化する。誤ってスタックを削除しようとした際に確認画面が表示される
- 変更セット(Change Set)を使う:本番スタックに変更を加える前に必ず変更セットを作成して「何が変更されるか」を確認してから実行する
- ドリフト検出:CloudFormationコンソールの「ドリフト検出」でスタックの定義と実際のリソース状態の差分を確認する。手動変更による差分を発見できる
📌 この記事のポイント
- CloudFormationはネットワーク・データ・アプリの3層にスタックを分割してクロススタック参照で連携するのが標準設計
- Exports/Fn::ImportValueでスタック間のリソース参照を安全に行い、各スタックの変更範囲を限定する
- 本番スタックは削除保護有効化・変更前のChange Set確認・定期的なドリフト検出が必須の運用ルール
キャリアの疑問、一緒に解決しませんか?
Infra Academyでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。
資格取得後のキャリアに、AI活用という選択肢を
資格取得の先に現場でのIT効率化を任される場面が増えます。職場のルーティン業務にAIをどう組み込めるか、無料のセルフ診断(3問・約1分)でヒントが得られます。
この記事を読んでいる方へのおすすめ:
【編集・制作ポリシー】
本記事はRoute Bloom編集部が公式ドキュメント・技術仕様書の一次情報をもとに作成しています。ITインフラ・技術情報は急速に変化するため、実装前に最新の公式ドキュメントをご確認ください。情報の正確性には万全を期していますが、最新情報は各公式サイトをご確認ください。
本記事はRoute Bloom編集部が公式ドキュメント・技術仕様書の一次情報をもとに作成しています。ITインフラ・技術情報は急速に変化するため、実装前に最新の公式ドキュメントをご確認ください。情報の正確性には万全を期していますが、最新情報は各公式サイトをご確認ください。
【編集・制作ポリシー】
本記事はRoute Bloom編集部が各ベンダー公式ドキュメント・エンジニア監修をもとに作成しています。インフラ・クラウド構築は環境により異なります。本番環境への適用前に必ずテストを実施してください。情報の正確性には万全を期していますが、最新情報は各公式ドキュメントをご確認ください。
本記事はRoute Bloom編集部が各ベンダー公式ドキュメント・エンジニア監修をもとに作成しています。インフラ・クラウド構築は環境により異なります。本番環境への適用前に必ずテストを実施してください。情報の正確性には万全を期していますが、最新情報は各公式ドキュメントをご確認ください。
【編集・制作ポリシー】
本記事はRoute Bloom編集部が各ベンダー・技術標準の公式ドキュメントをもとに作成しています。 インフラ・クラウド技術に関する最終判断は実際の環境・バージョンで検証のうえ実施してください。 情報の正確性には万全を期していますが、最新情報は各公式ドキュメントをご確認ください。
本記事はRoute Bloom編集部が各ベンダー・技術標準の公式ドキュメントをもとに作成しています。 インフラ・クラウド技術に関する最終判断は実際の環境・バージョンで検証のうえ実施してください。 情報の正確性には万全を期していますが、最新情報は各公式ドキュメントをご確認ください。
この記事で学んだスキルをさらに深めたい方へ
AWS・クラウド技術をさらに深く学びたい方に。試験対策から実践まで網羅した参考書を活用しましょう。
Amazonアソシエイトプログラムを利用しています。
ABOUT ME




