急成長している企業が、開発者のAWS開発環境に対する需要に対応するために拡張したいと考えている。開発環境は AWS Management Console で手動で作成される。ネットワークチームはAWS CloudFormationを使用してネットワークインフラを管理し、Amazon VPCとすべてのサブネットのスタック出力値をエクスポートする。開発環境には、アプリケーションロードバランサー、Amazon EC2 Auto Scalingグループ、セキュリティグループ、Amazon DynamoDBテーブルなどの共通規格がある。
A. テンプレートのResourcesセクションでFn:ImportValue組込み関数を使用して、Virtual Private Cloud(VPC)とサブネットの値を取得する。開発環境には CloudFormation StackSets を使用し、Count 入力パラメーターを使用して必要な環境の数を示す。UpdateStackSet コマンドを使用して既存の開発環境を更新する。
B. ネストされたスタックを使用して、共通のインフラストラクチャ・コンポーネントを定義します。エクスポートされた値にアクセスするには、TemplateURL を使用してネットワーキング・チームのテンプレートを参照します。Virtual Private Cloud(VPC)とサブネットの値を取得するには、マスターテンプレートの Parameters セクションで Fn::ImportValue 組み込み関数を使用します。既存の開発環境を更新するには、CreateChangeSet コマンドと ExecuteChangeSet コマンドを使用します。
C. ネストされたスタックを使用して、共通のインフラストラクチャーコンポーネントを定義します。ネストされたスタックのリソースで Fn::ImportValue 組み込み関数を使用して、仮想プライベートクラウド(VPC)とサブネットの値を取得します。CreateChangeSet コマンドと ExecuteChangeSet コマンドを使用して、既存の開発環境を更新します。
D. マスターテンプレートのParametersセクションでFn:ImportValue組込み関数を使用して、Virtual Private Cloud(VPC)とサブネットの値を取得する。CloudFormation のネストされたスタックで作成する必要がある順序で開発リソースを定義します。CreateChangeSet コマンドと ExecuteChangeSet コマンドを使用して、既存の開発環境を更新します。