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
29
第133回 雲勉 【オンライン】今度こそ既存のAWSリソースをいい感じにコードに落とし込みたい!
iret.kumoben
April 25, 2024
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第132回 雲勉【オンライン】春の生成AI祭り
iret
1
45
第17回 雲勉LT【オンライン】Amazon Managed Grafanaを使ってCloudWatchログを分析・可視化する
iret
0
36
Amazon Bedrockのロックな使い方を考えたい
iret
0
25
CloudWatch SyntheticsとAmazon Managed Grafanaを連携する
iret
0
20
Amazon SageMaker Canvasで学ぶ機械学習モデルの構築
iret
0
35
ECR経由でのデプロイ通知を考える〜App Runner編〜
iret
0
29
AWSのサーバーレスでとりあえず開発をはじめてみた時に無知ゆえに陥りがちなこと
iret
1
50
第131回 雲勉【オンライン】AWSを9年触ってきて経験した落とし穴、ハマったポイント
iret
8
640
第130回 雲勉【オンライン】Step Functions を使ってS3のファイルを操作してみよう
iret
0
36
Other Decks in Technology
See All in Technology
Android Target SDK 35 (Android 15) 対応の概要
akkie76
0
160
ゼロから始めるVue.jsコミュニティ貢献 / first-vuejs-community-contribution-link-and-motivation
lmi
1
150
【SORACOM UG 東海】あらゆるモノがつながる社会へ、IoT と SORACOM
soracom
PRO
1
140
Cypress or Playwright?
rainerhahnekamp
0
170
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
150
2024春 注目のWeb系 OSS & SaaS 3選
makies
0
180
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
400
Além do else! Categorizando Pokemóns com Pattern Matching no JavaScript
wmsbill
0
710
Azureの基本的な権限管理の勉強会
yhana
1
2.1k
一生覚えておきたい「システム開発=コミュニケーション」〜初めての実務案件振り返りLT〜
maimyyym
2
320
Python と Snowflake はズッ友だょ!~ Snowflake の Python 関連機能をふりかえる ~
__allllllllez__
2
140
本当のAWS基礎
toru_kubota
1
630
Featured
See All Featured
For a Future-Friendly Web
brad_frost
172
9k
Statistics for Hackers
jakevdp
790
220k
Designing the Hi-DPI Web
ddemaree
276
33k
Atom: Resistance is Futile
akmur
260
25k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
A better future with KSS
kneath
231
16k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
245
20k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
A Tale of Four Properties
chriscoyier
152
22k
KATA
mclloyd
16
12k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
242
1.2M
How to name files
jennybc
65
93k
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 ご清聴ありがとうございました︕