2025年11月18日に AWS CloudFormation に関して以下2点のアップデートがありました。
- AWS CloudFormation が早期検証とシンプルなトラブルシューティングにより開発からテストまでのサイクルを短縮 - AWS
- AWS CloudFormation のドリフト対応変更セットで設定のドリフトを安全に処理 - AWS
とても便利な機能ですので、ご紹介したいと思います。
① 変更セット作成時の事前検証
CloudFormationで変更セットの作成段階で事前検証がされ、リソース名の競合などを検知して、実行自体をブロックしてくれるようになりました。
以下の事前検証を行ってくれます。
プロパティ構文の検証 – AWSリソーススキーマに対してリソースプロパティを検証します。必須プロパティと有効なプロパティ値をチェックし、非推奨またはサポートされていないプロパティの組み合わせを特定します。
リソース名の競合検出 – 既存のAWSリソースとの名前の競合をチェックします。リソース名がAWSの命名要件を満たしているかを検証し、デプロイを試みる前に潜在的な競合を特定します。
S3バケットの空チェック検証 – オブジェクトを含むS3バケットを削除しようとした際に警告します。削除の影響を評価するためにオブジェクト数を提供し、よくあるS3削除エラーの防止に役立ちます。
事前検証の詳細はAWS公式マニュアルを参照してください。
Validate stack deployments - AWS CloudFormation
CloudFormationのスタックを実行してみてからエラーとなってロールバックされるとそれなりの待機時間が必要だったため、スタック実行前にエラーが検出できるのは非常に助かります。
② ドリフト対応変更セットによる設定復元
CloudFormationで変更セットを作成する際に、新しいパラメータ --deployment-mode REVERT_DRIFT を指定することで、ドリフト対応変更セットが作成できるようになりました。
ドリフト対応変更セットは、以下の動作となります。
- ドリフト対応の変更セットにより、新しいテンプレート、最後にデプロイされたテンプレート、実際のインフラストラクチャの状態の間の 3 方向の差分が得られます。
- ドリフトの意図しない上書きが差分から予測される場合は、テンプレート値を更新して変更セットを再作成できます。
- 変更セットの実行中、CloudFormation はリソースプロパティをテンプレート値と照合し、IaC 以外の方法で削除されたリソースを再作成します。プロビジョニングエラーが発生した場合、CloudFormation はインフラストラクチャをデプロイ前の実際の状態に復元します。
- 詳細はAWS公式マニュアルを参照してください。
Using drift-aware change sets - AWS CloudFormation
今まではCloudFormationでAWSリソースを作成した後、一時的に通信ポートを開けたいなど手作業で暫定対応をした際に、戻し忘れをしたことがあるのではないでしょうか。
この機能を利用すると、手作業で変更した内容を検出し安全に元に戻すことが可能となります。
とても便利な機能だと思うので、ぜひ利用するようにしてみてください。
AWS CLIから利用する場合、通常の変更セット作成にパラメーターを追加する必要があるので注意です。

