投稿日: Apr 16, 2024

AWS CloudFormation で ChangeSets が強化され、デプロイ時に CloudFormation が実行するアクションの詳細をプレビューできるようになりました。このリリースにより、デプロイによって実行中のリソースに意図しない変更が発生しないかどうかを評価しやすくなります。

現在、ChangeSets には、CloudFormation がデプロイで作成、更新、置換、または削除するリソースが表示されます。ChangeSets を確認すると、データベースの置き換えなど、意図しないリソースレベルの変更を検出できます。ChangeSets では、影響を受けるリソースのリソースプロパティや属性 (削除ポリシーなど) の変更前と変更後の値も追加で表示されるようになりました。これにより、ChangeSet の確認中に、S3 バケット暗号化の削除など、意図しないプロパティレベルの変更を検出できます。

CloudFormation には、テンプレート内のリソースプロパティを参照するための Ref や GetAtt などの組み込み関数が用意されています。さらに、CloudFormation は AWS Secrets Manager と AWS Systems Manager の機能であるパラメータストアへのインライン参照をサポートしています。参照を使用すると、複数の環境にデプロイできる動的テンプレートを構築できます。現在、ChangeSets はプレビュー計算中に参照を解決できず、リソースの置き換えなどの変更について控えめな仮定を行います。今後、ChangeSets はデプロイ前に参照値が使用可能になったときに参照を解決するようになり、変更をより正確にプレビューできるようになります。

利用を開始するには、CloudFormation コンソールで既存のスタックを開き、[スタックアクション] ドロップダウンから [ChangeSet を作成] を選択します。AWS CLI または SDK から拡張 ChangeSets にアクセスするには、DescribeChangeSet API の呼び出し時に--include-property-values パラメータを含めてください。 拡張 ChangeSets は、CloudFormation が利用可能な AWS リージョンでご利用いただけます。詳細については、AWS リージョン一覧表を参照してください。