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
220
CDK Pipelinesで複数アカウントにCDKリソースを一括デプロイしてみた
Shuri Takano
May 20, 2025
Tweet
Share
More Decks by Shuri Takano
See All by Shuri Takano
データ分析初心者がQuickSightハンズオンやってみた
takanoshuri
2
95
JAWS-UG朝会_58_CDK初心者の私が紹介するBLEA.pdf
takanoshuri
1
210
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
328
39k
A designer walks into a library…
pauljervisheath
207
24k
Code Reviewing Like a Champion
maltzj
524
40k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Music & Morning Musume
bryan
46
6.7k
Optimizing for Happiness
mojombo
379
70k
Balancing Empowerment & Direction
lara
1
530
Automating Front-end Workflow
addyosmani
1370
200k
KATA
mclloyd
32
14k
Done Done
chrislema
185
16k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
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 株式会社エーピーコミュニケ―ションズ クラウド事業部 髙野朱理