無限ノック › DOP 練習問題一覧 › 問題
DOP構成管理と Infrastructure as Code (IaC)

DevOpsチームはAWS CDKを使用してインフラをコード化しており、CDKアプリケーション自体のデプロイパイプラインを構築したいと考えています。パイプラインはCDKコードの変更に応じてパイプライン自体も自動更新(セルフミューテーション)し、dev→staging→prodの順でデプロイされる必要があります。最も適切な実装アプローチはどれですか?

A
CodePipelineにCloudFormationデプロイアクションを手動で追加し、cdk synthで生成したテンプレートを各ステージに順次デプロイするパイプラインを構成する
手動のCloudFormationデプロイアクション追加ではセルフミューテーション実装が複雑になり、パイプライン自体の自動更新が保証されません。
B
AWS CDK Pipelinesライブラリ(pipelines.CodePipeline)を使用してパイプラインを定義し、セルフミューテーションステージとaddStageメソッドで各環境のデプロイステージを宣言的に追加する
✓ 正解
CDK Pipelinesはセルフミューテーション機能を内包しており、CDKコードが変更されると最初のステージでパイプライン自体が自動更新されます。addStageメソッドで各環境ステージを宣言的に定義でき、Pre/PostフックでユニットテストやManual Approvalを挿入できます。手動構成と比較して実装量が大幅に削減され、CDKコードとパイプライン定義の整合性が保証されます。
C
GitHub Actionsのmatrix strategyを使用してcdk deployコマンドを各環境に順次実行し、OIDC認証でAWSへアクセスする
GitHub Actions はAWSネイティブではなくセルフミューテーションをネイティブサポートしないため、マルチアカウント・マルチステージ管理の観点でも劣ります。
D
CodeBuildプロジェクトでcdk deployを実行し、CodePipelineのシリアルアクションとして各ステージを手動設定してManual Approvalを追加する
CodeBuild でのcdk deploy手動実行ではセルフミューテーション実装が複雑になります。

解説

CDK Pipelinesはセルフミューテーション機能を内包しており、CDKコードが変更されると最初のステージでパイプライン自体が自動更新されます。addStageメソッドで各環境ステージを宣言的に定義でき、Pre/PostフックでユニットテストやManual Approvalを挿入できます。手動構成と比較して実装量が大幅に削減され、CDKコードとパイプライン定義の整合性が保証されます。 選択肢A の 手動のCloudFormationデプロイアクション追加ではセルフミューテーション実装が複雑になり、パイプライン自体の自動更新が保証されません。 選択肢C の GitHub Actions はAWSネイティブではなくセルフミューテーションをネイティブサポートしないため、マルチアカウント・マルチステージ管理の観点でも劣ります。 選択肢D の CodeBuild でのcdk deploy手動実行ではセルフミューテーション実装が複雑になります。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDOPを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DOP の問題一覧に戻る