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
APIフレームワークを Lambdaで動かす
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Issei.Komori
July 02, 2024
Technology
160
1
Share
APIフレームワークを Lambdaで動かす
札幌ITでぃぐでぃぐ会 vol.2 ~API勉強会~ 登壇資料
https://digdig.connpass.com/event/319132/
Issei.Komori
July 02, 2024
More Decks by Issei.Komori
See All by Issei.Komori
mnt_data_とは?ChatGPTコード実行環境を深堀りしてみた
icck
0
1.2k
MCPコードリーディングすると得られるもの
icck
1
160
NL2SQLの世界
icck
0
1.6k
Audio and Video Processing with Generative AI
icck
0
100
Postmanと仲良くなる。API簡易実行にしか使ってなかった初心者の第二歩目
icck
1
220
Other Decks in Technology
See All in Technology
Sony_KMP_Journey_KotlinConf2026
sony
2
210
ポケモンの型をTypeScriptの型システムで表現してみた
subroh0508
0
230
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
2
210
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.8k
Javaで学ぶSOLID原則
negima
1
280
脅威をエンジニアリングの糧にして:恐怖を乗り越えた先にあったもの / Turn threats into fuel for engineering: what lay beyond overcoming fear
nrslib
1
380
サイバーセキュリティ概論 / Introduction to Cybersecurity
ks91
PRO
0
130
Platform Engineering as a Product: Criteria for Improvement and Multi-Tenant Design
kumorn5s
0
490
オンコールの負荷軽減のためのBits Assistant 活用方法 / How to Use Bits Assistant to Reduce the Workload on On-Call Staff
sms_tech
1
380
タクシーアプリ『GO』の実践的データ活用
mot_techtalk
2
110
「気づいたら仕事が終わっている」バクラクAIエージェント本番運用の裏側 / layerx-bakuraku-aie2026
yuya4
18
9.2k
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
430
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
A better future with KSS
kneath
240
18k
Into the Great Unknown - MozCon
thekraken
41
2.5k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
200
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
360
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
190
Believing is Seeing
oripsolob
1
140
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
360
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
210
Transcript
APIフレームワークを Lambdaで動かす 生活協同組合コープさっぽろ 2024/08/31 小森一成(@icckx) 札幌ITでぃぐでぃぐ会 vol.2 ~API勉強会~
小森 一成(@icckx)
今日お話すること
• APIフレームワークは良い • APIフレームワークをLambdaで動かしたい 今日お話すること
皆さんは、APIを実装するとき、 APIフレームワークつかってますか?✋
例えば、FastAPI
• Node.jsやGo並の最も高速なPythonフレームワークの1つ • 大体のライブラリはPyPIに存在しており、ビジネスロジックに集中しやすい • コードファースト。OpenAPIが自動生成される
“FastAPI は巨人の肩の上に立っています” 引用
https://www.starlette.io/ ASGI Framework 非同期、Websoketの実装が 非常にかんたん 巨人 - 1(すたーれっと)
https://docs.pydantic.dev データ検証ライブラリ Pythonが型安全に 型アノテーションを利用した 型のバリデーション 巨人 - 2(ぱいだんてぃっく)
APIフレームワークを語弊がある程度に 端的にまとめると 難しかったり、めんどくさくて ビジネスをするには必要だが、 1円も売上に関係ない実装を 肩代わりしてくれるやつ (素晴らしい)
APIフレームワークを使うと ビジネスロジックに集中できる時間が増える
じゃあ、 APIフレームワークを使いたい場合、 どんなアーキテクチャになるか
Virtual private cloud (VPC) Amazon API Gateway Application Load Balancer
AWS Fargate まずコンテナが思い浮かぶ
15 Client ALB Cluster Service ECR Image Security Group Container
Port Mappings Task Definition HTTPSプロトコル通信 を選択 443ポート HTTPSを許可 80ポート、HTTP ホスト80→コンテナ8000 80ポート、HTTP ALBのSG Security Group Target Group 実際には、SGとかポートマッピングとかいろいろ考える必要がある
コンテナをホスティングしたくない VPCつかいたくない そしてこう考える....
Amazon API Gateway LambdaでAPIフレームワークが使えればいいのに.. AWS Lambda
現実
起動とペイロード Lambdaは「lambda_handler」から始まります
APIフレームワークは「独特」の記法から始まります 起動とペイロード
入出力インターフェースが違うので LambdaでAPIフレームワークは動かない
Lambda Web Adapter
https://github.com/awslabs/aws-lambda-web-adapter
https://github.com/awslabs/aws-lambda-web-adapter
https://github.com/awslabs/aws-lambda-web-adapter
なるほど...?
実装をみてみる
https://gallery.ecr.aws/awsguru/aws-lambda-adapter 最新バージョンをギャラリーからCopyして
COPYコマンド1つ追記(Dockerfileの場合)
https://github.com/awslabs/aws-lambda-web-adapter
👍とっても簡単
<幅広く対応> あなたの好きな APIフレームワーク きっと対応済
DEMO
まとめ
• APIフレームワークはサーバレスで動きます ◦ Lambda Web AdapterならDockerfileに1行追記するだけ • アーキテクチャパターンとして知っているかが重要 ◦ Lambda✕APIフレームワークしたいときは、まずコレ
◦ API待機のために常時稼働のFargateがあったら、リファクタが可能な構成 ▪ VPCやめられる可能性 ▪ ALBやめられて、コスト削減 ▪ Fargateやめられて、未稼働時間分のコスト削減 ▪ Dockerfile1行追記するだけ(大事なことなので繰り返し)なので難易度低め まとめ
APIフレームワークを Lambdaで動かす 生活協同組合コープさっぽろ 2024/08/31 小森一成(@icckx) 札幌ITでぃぐでぃぐ会 vol.2 ~API勉強会~