DOP-C02 スペシャリスト DOP

マルチアカウントCI・CDパイプライン CodePipelineのクロスアカウントデプロイとCDK Pipelines

本記事はDOP試験対策として、開発・検証・本番などアカウントを分離した環境へ安全にデプロイするマルチアカウントCI・CDパイプラインの設計を解説します。試験では、アカウント間の権限委譲とパイプラインの構造化が問われます。

覚え方のフレームは3つの観点です。分離(環境ごとにアカウントを分ける)・委譲(デプロイ権限を安全に渡す)・構造化(パイプライン定義をコード化する)。

分離 環境ごとのアカウント分離とクロスアカウントデプロイ

開発・検証・本番を別々のAWSアカウントに分離すると、権限の誤設定やリソースの混在によるインシデントのリスクを下げられます。CodePipelineはクロスアカウントのCodeDeployやCloudFormationアクションを使い、パイプライン自体は共有サービスアカウントに置きつつ各ステージで対象アカウントのロールへ切り替えてデプロイしたい要件に対応できます。

委譲 IAMロールによる権限の受け渡し

クロスアカウントデプロイでは、パイプラインアカウントが対象アカウントのデプロイ用ロールをAssumeRoleで引き受け、対象アカウント側は信頼ポリシーで許可します。本番アカウントの管理者が、パイプラインからのデプロイ操作だけを明示的に許可したい要件ではこのロール委譲を最小権限で設計します。

構造化 CDK Pipelinesによるパイプライン定義のコード化

AWS CDK PipelinesはCI・CDパイプライン自体をCDKコードとして定義し、新しいステージ(アカウント)の追加もコードの変更としてレビュー・バージョン管理できます。環境の数が増えるたびに手作業でパイプラインを複製する運用を避けたい要件ではCDK Pipelinesを選びます。

構成環境分離選ぶ要件
単一アカウントパイプラインなし小規模でシンプルに始めたい
クロスアカウントCodePipelineIAMロール委譲で実現既存パイプラインに環境分離を追加したい
CDK Pipelinesコードで定義環境数が多く追加・変更を頻繁に行いたい
試験ポイント クロスアカウントアクションを使うパイプラインでは、成果物を保存するS3バケットの暗号化にKMSのカスタマー管理キーを使う場合、対象アカウントのロールにもそのキーへの復号権限を明示的に付与する必要があります。バケットポリシーだけでなくキーポリシー側の設定漏れが典型的な出題ポイントです。

チェックリスト

  • 環境ごとのアカウント分離のメリットを説明できる
  • クロスアカウントデプロイでのAssumeRoleによる権限委譲を説明できる
  • CDK Pipelinesでパイプライン定義をコード化するメリットを説明できる
  • クロスアカウント時のKMSキーポリシー設定の注意点を理解している

まとめ

マルチアカウントCI・CDは「分離・委譲・構造化」の3観点で設計し、クロスアカウントロール委譲とCDK Pipelinesの組み合わせで安全かつスケーラブルなパイプラインを構築するのが定石です。この記事の理解度はクイズで確認し、最新の試験範囲はAWS認定 公式ページで確認しましょう。

📚

DOP(DevOpsエンジニア) におすすめの教材

AWS認定 DevOpsエンジニア − プロフェッショナル DOP-C02 出題予想問題集 第2版 表紙
問題集

AWS認定 DevOpsエンジニア − プロフェッショナル DOP-C02 出題予想問題集 第2版

体系的にサービスと出題範囲を学べる定番テキスト

★★★★☆

Amazonで見る
AWS認定 DevOpsエンジニア − プロフェッショナル DOP-C02 練習問題集 表紙
問題集

AWS認定 DevOpsエンジニア − プロフェッショナル DOP-C02 練習問題集

本番形式の演習で総仕上げに最適

★★★★☆

Amazonで見る
Udemyコース
Udemy・講座

AWS認定DOP(DOP-C02)実践問題集(全範囲・225問)

動画で体系的に学べる対策コース

Udemy

Udemyで見る
Udemy模擬試験
Udemy・模試

AWS認定DOP 演習テスト(日本語)

本番形式の演習で総仕上げ

Udemy

Udemyで見る

本セクションにはAmazonアソシエイト・Udemyアフィリエイトのリンクが含まれます。