ある開発チームはAWS CDKをTypeScriptで使用してインフラを定義し、GitHubのmainブランチへのマージをトリガーにAWSリソースを自動デプロイするCI/CDパイプラインを構築しようとしています。パイプラインにステージを追加するなどのコード変更をコミットした際に、パイプライン自体が自動的に更新(セルフミューテーション)されるようにしたいと考えています。最も適切なアプローチはどれですか?
AWS CDK PipelinesはCDKアプリ内でCI/CDパイプラインを定義する高レベルコンストラクトです。セルフミューテーション機能により、パイプラインのコード変更がリポジトリにプッシュされると、パイプライン自体が更新ステップを実行して自動的に最新状態に同期されます。インフラとパイプラインを同一コードベースで管理でき、運用負荷が最小です。 選択肢Aは、CodeBuildでcdk deployを手動またはイベントトリガーで実行する構成ですが、パイプライン定義の変更を自動反映するセルフミューテーション機能がなく変更のたびに手動対応が必要です。 選択肢Cは、cdk synthで生成したCloudFormationテンプレートを既存のCodePipelineで適用する方法ですが、パイプライン構成変更の自動反映ができません。 選択肢Dは、GitHub ActionsをOIDC(OpenID Connect)認証でAWSに接続してcdk deployを実行できますが、CDK Pipelinesのセルフミューテーション機能を持たず、パイプライン変更時にワークフローファイルを手動で更新する必要があります。