ある企業の DevOps チームは AWS CDK(Cloud Development Kit)でインフラとアプリケーションを定義しており、次の要件を持つ CI/CD パイプラインを構築したいと考えています。 ①パイプライン定義自体(CDK コード)の変更がリポジトリに push されたら人手を介さずパイプラインが自己更新される。 ②dev → staging → prod の順にデプロイされ、prod への昇格前に手動承認ステップが入る。 この要件を最も適切かつシンプルに実現する方法はどれですか?
CDK Pipelines の自己変異(Self-Mutating)パイプラインは、CDK コードが変更されると最初のステージでパイプライン自体を自動更新してから後続ステージを実行する仕組みを持ち要件①を満たします。各デプロイ環境は Stage クラスで定義し addStage() に ManualApprovalStep を渡すことで要件②の prod 手動承認も宣言的・シンプルに実装できます。 選択肢AのCodePipelineコンソール手動設定は、運用負荷が高く、パイプライン定義の変更を自動反映できません。 選択肢CのEventBridge+Lambda 方式は、カスタムコードの維持コストが大きいため、自動更新メカニズムとしては非効率です。 選択肢DのAWS Service Catalogは、CDK テンプレート製品化には適していますが、パイプラインの自己変異機能を提供しません。