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
第133回 雲勉 【オンライン】今度こそ既存のAWSリソースをいい感じにコードに落とし込みたい!
Search
iret.kumoben
April 25, 2024
Technology
0
74
第133回 雲勉 【オンライン】今度こそ既存のAWSリソースをいい感じにコードに落とし込みたい!
下記、勉強会での資料です。
https://youtu.be/5-RB3kysSV0
iret.kumoben
April 25, 2024
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第146回 雲勉 BLEAを眺めてCDKの書き方について学ぶ
iret
1
45
第145回 雲勉 Amazon ECSでサービス間通信する方法を調べてみよう
iret
0
39
第144回 雲勉 Amazon Aurora Serverless v2の基礎とアーキの裏側を覗いてみる
iret
0
84
第143回 雲勉 [New Relic]インフラストラクチャ監視と気をつけたいポイント
iret
0
39
第142回 雲勉 AWS Backupの復元テストで自動化できること・できないこと
iret
0
84
第141回 雲勉 Amazon Inspectorによる脆弱性管理~ECR コンテナイメージ編~
iret
0
200
第2回 雲勉LT大会 パブリッククラウドのサーバレスサービスの違いを調べてみた
iret
0
24
第2回 雲勉LT大会 AWS Control Tower の「コントロール」って何? という謎から AWS Control Tower を知る
iret
0
23
第2回 雲勉LT大会 AWS/Google Cloud/Wasabi ストレージサービスを比較したい
iret
0
44
Other Decks in Technology
See All in Technology
TypeScript、上達の瞬間
sadnessojisan
46
13k
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
2
230
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
1
290
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
120
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
160
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.7k
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
950
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
300
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
140
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
180
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
880
Featured
See All Featured
Unsuck your backbone
ammeep
668
57k
A Philosophy of Restraint
colly
203
16k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
The Invisible Side of Design
smashingmag
298
50k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Thoughts on Productivity
jonyablonski
67
4.3k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Transcript
第133回 雲勉【オンライン】 今度こそ既存のリソースをいい感じに コードに落とし込みたい︕
0.⾃⼰紹介 2 • 本⽥ 岳⼠(ほんだ たけし) • クラウドインテグレーション事業部ソリューション開発セクション第2開発グループ (⼤阪オフィス) •
40歳からエンジニア(4年⽬)、⾃社開発2社経験してアイレット • アイレット歴 10ヶ⽉ • スパゲッティコードに対する耐性が強み • 趣味は⼀⼈旅、変なTシャツ・パーカー、猫3匹 • 気になるAWSのサービスはAWS CDK, AWS SAM
本⽇のテーマ 3 既存のAWSリソースをIaCへ (2024年1⽉の第14回雲勉LTのリベンジ)
アジェンダ 4 0. ⾃⼰紹介 1. 新機能の紹介 2. マネジメントコンソールのIaCジェネレーター (VPC, ELB,
EC2, RDS) 3. cdk migrate --from-scan(API Gateway, Lambda, DynamoDB) 4. 感想・まとめ
1.新機能の紹介 5
1.新機能の紹介 6 今年1⽉の第14回雲勉LTが公開された約10⽇後、既存のAWSリソースからAWS CloudFormation テンプレート、AWS CDKに移⾏する新機能が続々と公開されました(現在はプレビューリリー ス)。
1.新機能の紹介 7 • 既存のAWSリソースからCloudFormationテンプレートを作成することができる︕ • CloudFormationテンプレートからCDKのコードを⽣成することができる︕ • 既存のAWSリソースからCDKのコードを⽣成することができる︕
8 これはやってみるしかない︕
2.マネジメントコンソールのIaCジェネレーター (VPC, ELB, EC2, RDS) 9
2.マネジメントコンソールのIaCジェネレーター 10 AWSのハンズオンで作成したアプリケーションをCDKのコードに マネジメントコンソールのIaCジェネレーターで作成
2.マネジメントコンソールのIaCジェネレーター 11 CloudFormationのマネジメントコンソールにIaCジェネレーターというメニューが追加されてい る。スキャンを⾏うとアカウントにあるAWSリソースをスキャンする。スキャンが終わったらテ ンプレートを作成していく
2.マネジメントコンソールのIaCジェネレーター 12 テンプレートの詳細を指定
2.マネジメントコンソールのIaCジェネレーター 13 スキャンしたリソースを追加 この辺りは⾒づらいが、あらかじめタグを付けておくなどして絞り込みできるようにしておく
2.マネジメントコンソールのIaCジェネレーター 14 関連リソースを追加 今回タグ付けしていなかったセキュリティグループ、サブネットなども候補に上がっている。
2.マネジメントコンソールのIaCジェネレーター 15 テンプレートを作成ボタンをクリックすると、数分後にテンプレートが作成される
2.マネジメントコンソールのIaCジェネレーター 16 CDKタブからテンプレートをダウンロードし、新たにディレクトリを作成して配置する。 ターミナルで新しいディレクトリに移動してステップ2のコマンドを実⾏する。
2.マネジメントコンソールのIaCジェネレーター 17 コマンドを実⾏するとエラー =>VpcId is not a valid property
2.マネジメントコンソールのIaCジェネレーター 18 EC2インスタンスのプロパティにある VpcIdを削除して実⾏
2.マネジメントコンソールのIaCジェネレーター 19 VpcIdを削除して実⾏するとファイルが作成される
3. cdk migrate --from-scan (API Gateway, Lambda, DynamoDB) 20
3. cdk migrate --from-scan 21 AWSのハンズオンで作成したアプリケーションをCDKのコードに 今度は既存のAWSリソースからCDKアプリケーションを作成
3. cdk migrate --from-scan 22 cdk migrate -–from-scanコマンドで実⾏ --from-scanオプションによって既存のAWSリソースから直接CDKのコードを作成する
3. cdk migrate --from-scan 23 CDKアプリケーションが作成されている
3. cdk migrate --from-scan 24 ただし、Lambdaのコードに関してはコンストラクタにS3バケットとキーを指定する形になって いるがcdk deployコマンドを実⾏する前にコードを保存し、そのバケット名とキー名をコンスト ラクタに引き渡す、もしくはプロジェクト内にコードを保存してlambda.Code.fromAssetで指定 する必要がある。cdk
deployを実⾏するとCloudFormationスタックが作成される S3のバケットとキーを指定してコンス トラクタに渡す
3. 感想・まとめ 25
3.感想・まとめ 26 n こういうのを待っていた︕ • まだプレビューリリースということもあって、若⼲スムーズにいかない部分や 使いづらいと感じるところはあるものの、⾮常に直感的な操作で使いやすい • ⾃動で作成された変数名は⻑くなるなど読みやすいコードとは⾔いにくいので 若⼲⼿を⼊れたほうがいいかもしれない
• コンソールでぽちぽちした後コードに落としてちょっとアレンジ、という使い ⽅も⼗分できる
27 ご清聴ありがとうございました︕