DOP構成管理と Infrastructure as Code (IaC)
開発チームは AWS CDK を使用してインフラを定義しており、CDK アプリケーションのデプロイを自動化する CI/CD パイプラインを CodePipeline で構築しようとしています。以下の要件があります。
①パイプラインの定義(新ステージの追加等)が変更された場合、パイプライン自身が自動的に更新されてから後続ステージを実行する(セルフミューティング)
②dev・staging・prod の順に複数環境へ順序付きでデプロイし、各環境は独立した CloudFormation スタックを持つ。これらの要件を最も効率的に実現する方法はどれですか?
ACodePipeline と CodeBuild を個別に定義し、cdk synth および cdk deploy コマンドを実行するビルドステージを手動で構成する。パイプライン定義変更時は手動で aws codepipeline update-pipeline を実行する
CodePipeline と CodeBuild を個別に構成してもセルフミューティング機能は得られず、パイプライン定義を変更するたびに手動で aws codepipeline update-pipeline を実行する必要があり、運用負荷が高まります。
Baws-cdk-lib/pipelines モジュールの CodePipeline クラスを使用してセルフミューティングパイプラインを定義し、ShellStep で cdk synth を実行してクラウドアセンブリを生成し、各環境の Stage クラスを addStage() で追加する
✓ 正解
CDK Pipelines の CodePipeline クラスを使用することで、SelfMutate ステップによる自動パイプライン更新と、addStage() による順序付きマルチ環境デプロイが標準機能として実現でき、2つの要件をともに満たします。
CAWS CodeStar Connections でソースリポジトリを接続し、Elastic Beanstalk の .ebextensions 設定ファイルで環境別デプロイ順序を制御する
Elastic Beanstalk は PaaS サービスであり CDK の CloudFormation ベース IaC パターンとは無関係です。.ebextensions は Beanstalk 固有の環境設定ファイルであり、CDK のセルフミューティングやマルチアカウントデプロイには利用できません。
DGitHub Actions ワークフローで cdk deploy --all を実行し、環境別の GitHub Environments(承認ゲート機能)でデプロイ順序を制御する
GitHub Actions は CodePipeline とは別のプラットフォームであり、CDK Pipelines の SelfMutate 機構を持ちません。cdk deploy --all はパイプライン定義の変更を自動検知して自己更新する機能を提供しません。
解説
CDK Pipelines(aws-cdk-lib/pipelines の CodePipeline クラス)は、セルフミューティング(自己更新)機能を持つ高レベルの CI/CD 構成です。パイプライン定義が変更されると、SelfMutate ステップでパイプライン自身を先に更新し、次回実行から新しい定義が反映されます。ShellStep で npx cdk synth を実行してクラウドアセンブリを生成し、addStage() で dev・staging・prod の各 Stage を追加することで順序付きのマルチ環境デプロイが実現できます。
選択肢AのCodePipeline と CodeBuild を手動で構成する方法はセルフミューティング機能を持たず、パイプライン定義変更のたびに手動更新が必要です。
選択肢CのAWS CodeStar Connections でソースリポジトリを接続し、Elastic Beanstalk の .ebextensions 設定ファイルで環境別デプロイ順序を制御する方法は、Elastic Beanstalk は PaaS サービスであり CDK の IaC パターンとは無関係です。.ebextensions は Beanstalk 固有の設定ファイルであり、CDK のセルフミューティング要件を実現できません。
選択肢DのGitHub Actions ワークフローで cdk deploy --all を実行する方法はCodePipeline ベースの CDK Pipelines とは別のプラットフォームであり、CDK のセルフミューティング機構を持ちません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDOPを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →