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
第14回 雲勉LT【オンライン】cdk import を使って既存のAWSリソースをいい感じに...
Search
iret.kumoben
January 23, 2024
Technology
0
120
第14回 雲勉LT【オンライン】cdk import を使って既存のAWSリソースをいい感じにコードに落とし込みたい!
下記、勉強会での資料です。
https://youtu.be/xhQOwzPLqLQ
iret.kumoben
January 23, 2024
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第168回 雲勉 JITNAの使い方とハマったポイントについて語る回
iret
0
26
第167回 雲勉 エージェント開発を加速する Agent Development Kit 入門
iret
1
31
第166回 雲勉 コードを読んで理解する AWS Amplify Gen2 Backend
iret
0
33
第165回 雲勉 Google Agentspace について
iret
0
29
第164回 雲勉 Agent Development Kit と MCP Toolbox for Databases で MCP 連携してみた
iret
1
45
第163回 雲勉 CircleCIで複数リポジトリ間のパイプラインを連携する
iret
1
35
第162回 雲勉 比較して学ぶ AWS Amplify Gen 2
iret
0
49
第161回 雲勉 Amazon Kinesis Data Streams と Amazon Data Firehose を使ってみよう
iret
0
48
第160回 雲勉 それ、AWS Step Functions で置き換えれん?
iret
0
78
Other Decks in Technology
See All in Technology
成長し続けるアプリのためのテストと設計の関係、そして意思決定の記録。
sansantech
PRO
0
120
How Do I Contact HP Printer Support? [Full 2025 Guide for U.S. Businesses]
harrry1211
0
120
B2C&B2B&社内向けサービスを抱える開発組織におけるサービス価値を最大化するイニシアチブ管理
belongadmin
1
7.1k
ネットワーク保護はどう変わるのか?re:Inforce 2025最新アップデート解説
tokushun
0
210
IPA&AWSダブル全冠が明かす、人生を変えた勉強法のすべて
iwamot
PRO
2
150
KubeCon + CloudNativeCon Japan 2025 Recap Opening & Choose Your Own Adventureシリーズまとめ
mmmatsuda
0
280
What’s new in Android development tools
yanzm
0
320
2025-07-06 QGIS初級ハンズオン「はじめてのQGIS」
kou_kita
0
170
American airlines ®️ USA Contact Numbers: Complete 2025 Support Guide
airhelpsupport
0
390
AI時代の開発生産性を加速させるアーキテクチャ設計
plaidtech
PRO
3
160
さくらのIaaS基盤のモニタリングとOpenTelemetry/OSC Hokkaido 2025
fujiwara3
3
440
ビズリーチにおけるリアーキテクティング実践事例 / JJUG CCC 2025 Spring
visional_engineering_and_design
1
130
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
Code Review Best Practice
trishagee
69
18k
Fireside Chat
paigeccino
37
3.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
The Cult of Friendly URLs
andyhume
79
6.5k
Code Reviewing Like a Champion
maltzj
524
40k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
Bash Introduction
62gerente
613
210k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Raft: Consensus for Rubyists
vanstee
140
7k
Transcript
第14回 雲勉LT【オンライン】 cdk import を使って既存のAWSリソースを いい感じにコードに落とし込みたい︕
0.講師⾃⼰紹介 2 • 本⽥ 岳⼠(ほんだ たけし) • クラウドインテグレーション事業部開発第⼆セクション第2開発グループ(⼤阪オフィス) • 40歳からエンジニア(4年⽬)、⾃社開発2社経験してアイレット
• アイレット歴 半年 • スパゲッティコードに対する耐性が強み • 趣味は⼀⼈旅、変なTシャツ・パーカー、猫3匹 • 気になるAWSのサービスはAWS CDK, AWS SAM
アジェンダ 3 0. ⾃⼰紹介 1. どんな場合に有効なの︖ 2. cdk import やってみた
3. 感想・まとめ
本⽇のテーマ 4 既存のAWSリソースをIaCへ
1.どんな場合に有効なの︖ 5
1.どんな場合に有効なの︖ 6 • 既存のインフラをコード化したい • 現在稼働している環境と別の環境を作成したい • 中⾝を完全に把握できているわけではない • ドキュメントで構築の⼿順書はあったものの古くて環境と乖離がある
2. cdk import やってみた 7
2.cdk import やってみた 8 n ⼿順 • AWSリソースの作成(今回はLambdaを作成) • CloudFormationスタック作成
• cdk import • ドリフトの検出、ソースの修正
2.cdk import やってみた 9 n AWSリソースの作成(今回はLambdaを作成)
2.cdk import やってみた 10 n CloudFormationスタック作成 cdk init してそのまま cdk
deploy
2.cdk import やってみた 11 n cdk import リソース作成の際の必須のプロパティについ ては最低限書いておく必要がある。今回は Lambdaの例でruntime,
code, handlerが必 須。他の例ではS3だと何もいらない。 TSで実装したら 型エラーで教えてくれる
2.cdk import やってみた 12 n cdk import 途中Lambdaのロール名と関数名を⼊⼒するように求められた 完了するとドリフトの検出で確認するように勧められている
2.cdk import やってみた 13 n ドリフトの検出、ソースの修正 ドリフトの検出 ↓ ドリフトステータスの確認 ↓
ドリフト結果を表⽰
2.cdk import やってみた 14 n ドリフトの検出、ソースの修正 CDKでデフォルトで設定されるものと コンソールで作成した時に⽣成されるものに差分がある
2.cdk import やってみた 15 n ドリフトの検出、ソースの修正 この差分を埋める修正は⼿作業
2.cdk import やってみた 16 n ドリフトの検出、ソースの修正 CDKのソースで特に記述していないものについてはDefaultの値がセットされて いるので、実際のリソースとの差分が⽣まれるとコードで追記する必要がある
3. 感想・まとめ 17
3.感想・まとめ 18 n 楽ではない • cdk importするための準備が必要になることもある(リソース作成に必須の項 ⽬に関してはコンソールの値と同じものを記述しておくなど) • 結局CDKでのソースと既存のAWSリソースの設定との差分を表⽰するところ以
降は現状ソリューションがないので、cdk importした後差分を⼿動で埋める地 道な作業が発⽣する • コンソールでぽちぽちした後コードに落としてよしなにしてくれる、といった 使い⽅は期待できなさそう • 既存のリソースから設定を拾うには良さそう