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使用歴1年の僕が現場でCDK導入するときに得たTips
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
KMiura
March 22, 2023
Technology
0
720
CDK使用歴1年の僕が現場でCDK導入するときに得たTips
2022/3/22 JAWS-UG CDK支部 #6
https://jawsug-cdk.connpass.com/event/274879/
KMiura
March 22, 2023
Tweet
Share
More Decks by KMiura
See All by KMiura
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
1
1.2k
Amazon Rekognitionを使ったインターホンハック
miura55
0
110
Pythonでルンバをハックしてみた
miura55
0
210
あなたの知らないクラフトビールの世界
miura55
0
400
Storage Browser for Amazon S3を触ってみた + α
miura55
0
260
Cloudflare R2をトリガーにCloudflare Workersを動かしてみた
miura55
0
260
あのボタンでつながるSORACOM
miura55
0
160
Postman Flowsで作るAPI連携LINE Bot
miura55
0
420
Lambdaと共に歩んだAWS
miura55
3
940
Other Decks in Technology
See All in Technology
Claude Code Skills 勉強会 (DevelersIO向けに調整済み) / claude code skills for devio
masahirokawahara
1
22k
わからなくて良いなら、わからなきゃだめなの?
kotaoue
1
370
AI駆動AI普及活動 ~ 社内AI活用の「何から始めれば?」をAIで突破する
oracle4engineer
PRO
1
110
組織全体で実現する標準監視設計
yuobayashi
3
490
猫でもわかるKiro CLI(AI 駆動開発への道編)
kentapapa
0
260
社内レビューは機能しているのか
matsuba
0
140
20260311 技術SWG活動報告(デジタルアイデンティティ人材育成推進WG Ph2 活動報告会)
oidfj
0
360
実践 Datadog MCP Server
nulabinc
PRO
2
240
銀行の内製開発にて2つのプロダクトを1つのチームでスクラムしてみてる話
koba1210
1
140
生成AI活用でQAエンジニアにどのような仕事が生まれるか/Support Required of QA Engineers for Generative AI
goyoki
1
260
Postman v12 で変わる API開発ワークフロー (Postman v12 アップデート) / New API development workflow with Postman v12
yokawasa
0
140
Scrumは歪む — 組織設計の原理原則
dashi
0
200
Featured
See All Featured
Balancing Empowerment & Direction
lara
5
950
Into the Great Unknown - MozCon
thekraken
40
2.3k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.5k
Designing for humans not robots
tammielis
254
26k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.7k
How to Talk to Developers About Accessibility
jct
2
150
Making the Leap to Tech Lead
cromwellryan
135
9.8k
BBQ
matthewcrist
89
10k
Thoughts on Productivity
jonyablonski
75
5.1k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
92
Transcript
CDK使用歴1年の僕が現場でCDK導入 するときに得たTips KMiura(@k_miura_io)
自己紹介 • 三浦 耕生(こうき) • JAWS UG名古屋運営 • 三次元地図技術のスタートアッ プのエンジニア&社内のAWSの
管理人 @k_miura_io koki.miura05
CDKとの出会い • 前職の勉強会で初めてCDKを触ったけど、何に使えるのかわからなかった(そもそ もAWSの知識もあんまりなかった) • 2022年のAWS Summitのライブコーディングを見ていてCDKの可能性を感じて、プ ロダクトに導入したいと思った https://youtu.be/rcFqJWLwncU
導入するときに考えたこと • 環境ごとにデプロイできるようにしたい • 環境変数の管理を効率よくしたい • CI/CDを導入したい
環境ごとにデプロイを切り替える • cdk.jsonのcontextを使うことで環境名を定義する • スタック名・リソース名に環境名を含めることでリソース管理が効率良くなる "context": { ... "environment": "dev",
}
環境変数を効率よく管理する • cdk.jsonのcontextを利用する • 環境ごとに変わる値(ドメイン名、リージョンとか)は環境名ごとにまとめると効率いい • レポジトリに入れるとまずい機密情報はSSMに格納してStackからSDKで呼び出すと安心 • 命名の重複を防ぐためにスタック名にcontextの環境名を使うとGood "context":
{ ... "environment": "dev", "dev" : { "account": "123456789011", "region": "ap-northeast-1" }, "prod" : { "account": "123456789012", "region": "ap-northeast-1" } }
CI/CDを導入する • もともと導入してたGithub ActionsにCDKのデプロイを足して運用中 • Github ActionsでビルドしたイメージをそのままPushできる • 最初はエラーが出まくったけど今は安定稼働中
チーム開発で詰まったこと • デプロイ先のリージョンを間違えた • Stackを定義するときにenvの中にリージョン名を入れることでデプロイ先リージョンを 統一する • Admin権限のないメンバーだとデプロイができない • 以前CDK支部で紹介されていたデプロイ権限を参考にIAMポリシーを作ったら必要
最小限の権限でデプロイ出来るようになった(流石に管理者があれこれ準備する必 要あり) https://bit.ly/3FGiSyG
まとめ • 環境ごとの値を.envではなくcdk.jsonにまとめておくことで環境変数を整理しやすく なる • 変数を整理することでGithub ActionsでCDKコマンドを組み込むときもスムーズに できた(本当はCDK Pipelineも導入したい…) •
チーム開発でCDKを使うときにはデプロイしたときに差異が起きないようにする仕 組み作りが大事
ほどよいCDK入門(自称) https://github.com/Miura55/jawsug- nagoya-cdk-handson ソースコード https://miura55.github.io/ cdk-handson-text/ 資料
宣伝 https://bit.ly/3JBCSDP
END