Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CDK Pipelinesで複数アカウントにCDKリソースを一括デプロイしてみた
Search
Shuri Takano
May 20, 2025
1
200
CDK Pipelinesで複数アカウントにCDKリソースを一括デプロイしてみた
Shuri Takano
May 20, 2025
Tweet
Share
More Decks by Shuri Takano
See All by Shuri Takano
データ分析初心者がQuickSightハンズオンやってみた
takanoshuri
2
79
JAWS-UG朝会_58_CDK初心者の私が紹介するBLEA.pdf
takanoshuri
1
200
Featured
See All Featured
Designing for Performance
lara
609
69k
Practical Orchestrator
shlominoach
188
11k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Typedesign – Prime Four
hannesfritz
42
2.7k
We Have a Design System, Now What?
morganepeng
53
7.7k
Building Applications with DynamoDB
mza
95
6.5k
Thoughts on Productivity
jonyablonski
69
4.7k
Optimizing for Happiness
mojombo
379
70k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Transcript
CDK Pipelinesで複数アカウントに CDKリソースを⼀括デプロイしてみた 2025/5/20 株式会社エーピーコミュニケ―ションズ クラウド事業部 髙野朱理
⾃⼰紹介 名前:髙野 朱理(TAKANO SHURI) 所属:(株)エーピーコミュニケーションズ AWS歴:4年 近況:GWに友⼈と伊東旅⾏ @shurit400
はじめに ‧マルチアカウント構成 ‧IaC (Infrastructure as Code) デファクトスタンダード
はじめに 複数のアカウントに対する、 共通リソースのデプロイを⾃動化したい セキュリティ設定 監視設定
はじめに CDK Pipelines を紹介します! https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.pipelines-readme.html
今⽇話すこと • CDK Pipelinesとは • CDK Pipelinesを⽤いたデプロイの仕組み • パイプラインの実装⼿順(簡単に) 概要と⼤事なと
ころだけ!
今⽇話さないこと • パイプラインの詳細な実装⼿順 • ⾼度なカスタマイズ • BLEAについて 細かい話は控え めで!
CDK Pipelinesとは
CDK Pipelinesとは 複数のAWSアカウントやリージョンへ 安全かつ⾃動的にデプロイするための CDKコンストラクトライブラリ
CDK Pipelinesとは • デプロイプロセス⾃体もコードで定義‧管理 • ソースコードの変更をトリガーに、ビルド、テスト、そし て複数のステージへのデプロイといった⼀連の流れを⾃動 化 • 異なるアカウントやリージョンに対して、順序⽴てて安全
にデプロイ
パイプライン実装⼿順
パイプライン構成
⼿順1「リポジトリにデプロイ対象のコードを登録」 • 任意の⽅法でリモートリポジトリにコードを登録 • 今回はGitHubのリポジトリに登録
⼿順2「リポジトリとの接続を作成」 • AWS CodeConnectionsを使⽤して、パイプラインが対象 GitHubリポジトリにアクセスするための接続を作成
⼿順2「リポジトリとの接続を作成」 • 表⽰された接続のARNを控えておく
⼿順3「パラメーターを設定」 • パイプラインのパラメータを設定
⼿順3「パラメーターを設定」
⼿順4「CDKブートストラップを実施」 • アカウント1のブートストラップを実施 npx aws-cdk bootstrap aws://<アカウント1のアカウントID>/us-east-1 --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess •
アカウント2のブートストラップを実施 npx aws-cdk bootstrap aws://<アカウント2のアカウントID>/us-east-2 --trust <アカウント1 のアカウントID> --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess ※--trustにアカウント1のIDを指定することで、アカウント1のパイプラインがアカウント2 にデプロイできるようになります。
⼿順5「パイプラインをデプロイ」 • アカウント1にパイプラインをデプロイ npx aws-cdk deploy Dev-BLEAGovBaseCtPipeilne --app "npx ts-node
--prefer-ts-exts bin/blea-gov-base-ct-via-cdk-pipelines.ts"
⼿順5「パイプラインをデプロイ」
⼿順5「コードの変更をPushし、変更デプロイを実⾏」 • SecurityHub通知設定を変更して、変更をCommit/Push
⼿順5「コードの変更をPushし、変更デプロイを実⾏」
⼿順5「コードの変更をPushし、変更デプロイを実⾏」
さいごに • コードの変更をトリガーに複数アカウントに⾃動デプロイ • デプロイ前にテストや⼿動承認を追加することも可能
まとめ 詳細な説明は左記のブログを ⾒てみてください!
ご清聴ありがとうございました! 2025/5/20 株式会社エーピーコミュニケ―ションズ クラウド事業部 髙野朱理