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
IaCジェネレーターを使って、昔に作ったLambda関数をCDK管理下においてみた / jaw...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kenichiro Wada
April 15, 2024
Technology
0
160
IaCジェネレーターを使って、昔に作ったLambda関数をCDK管理下においてみた / jaws-ug-josys-30
2024.04.15 JAWS-UG 情シス支部 #30 の登壇資料です。
てか、発表終わってから、IaCツールじゃない、IaCジェネレーターやん!って気づいて、タイトル直してますorz
Kenichiro Wada
April 15, 2024
Tweet
Share
More Decks by Kenichiro Wada
See All by Kenichiro Wada
JAWS-UGとLambdaに感謝を込めて~ AWS と共に歩んだX年 ~/kmj-20260117
kwada
1
54
My First Impression Of Kiro / 20250801-kumoben-lt
kwada
0
96
(全日本人)待望のS3トリガーのLambda無限ループ対応について / chibaraki-1
kwada
0
170
AWS Lambdaに出会って人生が変わった1人の10年間 /awslambda10th
kwada
0
120
GPSデバイスを使った簡易位置案内システムの構築をしてみた話。/jawsfesta2024
kwada
0
970
とある航空会社の飛行機の乗り方をお教えします。/20240913-lt
kwada
3
350
Building a Simple Navigation Guide Service Using GPS Devices/jaws-pankration2024
kwada
0
150
SORACOM UG Explorer 2023ハンズオンの裏側サービスを紹介 / soracom-ug-online-17
kwada
0
360
(2023.08.17 Update)Detecting and stopping recursive loops in AWS Lambda functionsでAWS Lambdaの無限ループを防ぐ! / jaws-ug-shizuoka
kwada
0
260
Other Decks in Technology
See All in Technology
AIとともに歩む情報セキュリティ / Information Security with AI
kanny
4
3.1k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
GSIが複数キー対応したことで、俺達はいったい何が嬉しいのか?
smt7174
3
130
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
370
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/jat08
thara0402
0
120
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
190
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
930
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
1.6k
AI時代、1年目エンジニアの悩み
jin4
1
150
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
2
1.6k
分析画面のクリック操作をそのままコード化 ! エンジニアとビジネスユーザーが共存するAI-ReadyなBI基盤
ikumi
0
130
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
410
Featured
See All Featured
Mind Mapping
helmedeiros
PRO
0
71
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Mobile First: as difficult as doing things right
swwweet
225
10k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
310
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
260
Discover your Explorer Soul
emna__ayadi
2
1.1k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
60
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
920
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
220
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
94
Transcript
BXT KBXTVH KBXTVHγε"846TFS(SPVQT BXTDPNNVOJUZ 2024.04.15 JAWS-UG 情シス⽀部 #30 和⽥健⼀郎@Keni_W *B$πʔϧδΣωϨʔλʔΛͬͯɺੲʹ࡞ͬͨ
-BNCEBؔΛ$%,ཧԼʹ͓͍ͯΈͨ
⾃⼰紹介 ⽒名:和⽥ 健⼀郎 アイレット株式会社 エンジニア JAWS-UG 千葉 運営メンバー SORACOM UG東京
運営メンバー X: @Keni_W Facebook : kenichiro.wada.3 好きなAWSサービス : AWS Lambda AWS Community Builder(Serverless) SORACOM MVC 2022 iretテクニカルアンバサダー 2023
会社紹介 開発 Development 構築 MSP※ 請求代行 Resale AWS:2010年開始 ・世界中でのサービス提供 ・洗練されたツールによる
MSP ・英語サポート ・AWS取扱量は毎年大幅増 ・パブリック クラウド 日本トップクラスの取扱量 ・アプリケーション開発 ・サーバーレス開発 ・デザイン / Webシステム開発 ・ゲーム開発 ・ITコンサルティング 開発 デザイン インフラ Infrastructure ※MSP: マネージド サービス プロバイダー / 監視運用保守 アイレットは、クラウドの導入設計から構築・保守・運用をトータルでサポートする「cloudpack」および「Rackspace」 そしてシステム設計・開発・デザインをワンストップで行う「開発」を提供しています。 セキュリティ Security IoT AWS:2020年開始 KCPS (RPC-Vベアメタル)
ࣗݾհଓ͖ • ロールはアプリケーションエンジニア • 普段の業務は、社内開発というチームで、 社内で使うアプリの開発等を担当 • 主にPHP、Node.js(TypeScript)、 Pythonでコード書いてる •
GoとかRubyもあったりする • 実は昔はJavaな⼈(最近全く書いてない) +"846(γεࢧ෦-5KBXTVHγε
ࣗݾհଓ͖ 社内で使うアプリと⾔っても、多種多様 • EC2上で動いているWebアプリ • EventBridge + SQS + Lambda
+ S3を 構築された定期バッチ • Step Functions + Lambdaで構築された 他システム連携処理 • Amplify で構築されたWebアプリ ・・・などなど +"846(γεࢧ෦-5KBXTVHγε
ࣗݾհଓ͖ 社内で使うアプリと⾔っても、多種多様 • EC2上で動いているWebアプリ • EventBridge + SQS + Lambda
+ S3を 構築された定期バッチ • Step Functions + Lambdaで構築された 他システム連携処理 • Amplify で構築されたWebアプリ ・・・などなど +"846(γεࢧ෦-5KBXTVHγε
+"846(γεࢧ෦-5KBXTVHγε 今年初めのこと・・ チームリーダー : 前に作った連携システムに 〜な機能を追加よろしく! 昔⾃分が作ったシステム ですね!。 了解です。 IaCジェネレーター使った&CDK
Migrationしてみた
IaCジェネレーター使った&CDK Migrationしてみた • Lambdaはコンソールで⼿動でデプロイ • それが全部で5つ • 今回処理追加で呼び出すLambdaが追加 • ランタイムバージョンが混在すること
に • Step FunctionsではMap使っているけど、 Distributed Mapを利⽤したい +"846(γεࢧ෦-5KBXTVHγε
IaCジェネレーター使った&CDK Migrationしてみた +"846(γεࢧ෦-5KBXTVHγε Lambdaは コンソールで デプロイ AWS CDK でデプロイ 作業を容易
にしたい Lambdaの バージョン 混在 全部作り直せ ばいいやん
IaCジェネレーター使った&CDK Migrationしてみた +"846(γεࢧ෦-5KBXTVHγε CDKのProjectととして、 新しく作って、 リリースは マルっと置き換えること にしよう!
IaCジェネレーター使った&CDK Migrationしてみた +"846(γεࢧ෦-5KBXTVHγε ってことを決めた頃、 登場したのがこのアップデート https://aws.amazon.com/jp/blogs/news/import-entire-applications-into-aws-cloudformation/
IaCジェネレーター使った&CDK Migrationしてみた +"846(γεࢧ෦-5KBXTVHγε これは使うしかない!ってことになりまして、 早速使ってみることに
IaCジェネレーター使った&CDK Migrationしてみた +"846(γεࢧ෦-5KBXTVHγε ⼿順としては、以下 • リソースのスキャン • テンプレート⽣成 • CDK
Migrate • (L2 Constructs化) https://qiita.com/KbSota/items/be3b4063deea52815d50
IaCジェネレーター使った&CDK Migrationしてみた +"846(γεࢧ෦-5KBXTVHγε ・リソースのスキャン ここのボタンをクリック して、終わるのを待つ
IaCジェネレーター使った&CDK Migrationしてみた +"846(γεࢧ෦-5KBXTVHγε 説明には、 とありますが、 結果としては、10000ちょいのリソースがあ りましたが、12分ほどでスキャン終了
IaCジェネレーター使った&CDK Migrationしてみた +"846(γεࢧ෦-5KBXTVHγε ・テンプレート⽣成 ※ここが肝 Scanしたリソースを探して選ぶ
IaCジェネレーター使った&CDK Migrationしてみた +"846(γεࢧ෦-5KBXTVHγε 個⼈的には、 AWS Lambdaの検索が名前でできるようにな ると嬉しい Tagに名前でもセットしておけ・・・っての はそうなんだけも
IaCジェネレーター使った&CDK Migrationしてみた +"846(γεࢧ෦-5KBXTVHγε ⽣成が終わると、そのままCloudFormation のStackとしてインポート可能 今回はAWS CDKで使いたいので、AWS CDK のタブに移動して、テンプレートファイルを ダウンロード
IaCジェネレーター使った&CDK Migrationしてみた +"846(γεࢧ෦-5KBXTVHγε https://aws.amazon.com/jp/blogs/news/announcing-cdk-migrate-a-single-command-to-migrate- to-the-aws-cdk/ ・CDK Migrate 後で気づいたんですが、ほぼ同時期に登場し てたんですね。このコマンド
IaCジェネレーター使った&CDK Migrationしてみた +"846(γεࢧ෦-5KBXTVHγε 落としてきたファイルを適当な場所に置いて、 記載してあるコマンドを実⾏ 注意点は、コマンド実⾏は、テンプレートを ⽣成したリージョンをデフォルトリージョン にする必要があり ※cdk deploy⾃体はリージョン変えても⼤丈
夫(そりゃそうだ)
IaCジェネレーター使った&CDK Migrationしてみた +"846(γεࢧ෦-5KBXTVHγε デプロイ時の注意点 Migrateコマンド実⾏すると、migrate.json というファイルが⽣成される これが残っていると、cdk deploy時にリソー スがないといってエラー発⽣ (cdk
diffの時はエラーにならない) (そのまま使うならいいけど)
IaCジェネレーター使った&CDK Migrationしてみた +"846(γεࢧ෦-5KBXTVHγε ・L2 Constructs 化 CDKのProjectとして取り込めればOK ただ、⽣成されたCDKのStackファイルは、 L1 Constructs
で構成されている 可能であれば、L2 Constructs化した⽅が、 メンテナンスは楽では?
IaCジェネレーター使った&CDK Migrationしてみた +"846(γεࢧ෦-5KBXTVHγε ⾃分の開発環境で試した例 L1 Constructs Ver. : 244⾏ L2
Constructs Ver. : 65⾏ ¼ぐらいなので、いい削減量ですし、 可読性が上がりますので、L2化がおすすめ
IaCジェネレーター使った&CDK Migrationしてみた +"846(γεࢧ෦-5KBXTVHγε 今回の作り直しに関して⾔えば、 CDK管理化 -> 達成 デプロイ作業の単純化 -> 達成
とまあ、いいことずくめで、 先⽇、無事に本番リリースおよび処理置き換 えを完了済
まとめ +"846(γεࢧ෦-5KBXTVHγε • IaCジェネレーターは既存リソースのAWS CDK等IaC管理下に置く際に⾮常に便利 • しかも無料 • その他、リソースの洗い出しに便利説あ り
• 30⽇後には再Scanが必要なので、 Lambdaあたりで、定期実⾏すると継続 的にリソース取得できそう
まとめ +"846(γεࢧ෦-5KBXTVHγε
͓͠·͍ +"846(γεࢧ෦-5KBXTVHγε ご清聴ありがとうございました。 本⽇の資料のベースは -> https://bit.ly/3vZKb5l