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
260
CDK Pipelinesで複数アカウントにCDKリソースを一括デプロイしてみた
Shuri Takano
May 20, 2025
Tweet
Share
More Decks by Shuri Takano
See All by Shuri Takano
データ分析初心者がQuickSightハンズオンやってみた
takanoshuri
2
120
JAWS-UG朝会_58_CDK初心者の私が紹介するBLEA.pdf
takanoshuri
1
220
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
6.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Become a Pro
speakerdeck
PRO
29
5.6k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Embracing the Ebb and Flow
colly
88
4.9k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Navigating Team Friction
lara
190
15k
How to train your dragon (web standard)
notwaldorf
97
6.3k
Automating Front-end Workflow
addyosmani
1371
200k
Visualization
eitanlees
150
16k
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 株式会社エーピーコミュニケ―ションズ クラウド事業部 髙野朱理