Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
APIフレームワークを Lambdaで動かす
Search
Issei.Komori
July 02, 2024
Technology
190
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
APIフレームワークを Lambdaで動かす
札幌ITでぃぐでぃぐ会 vol.2 ~API勉強会~ 登壇資料
https://digdig.connpass.com/event/319132/
Issei.Komori
July 02, 2024
Transcript
36 slides
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勉強会~
More Decks by Issei.Komori
See All by Issei.Komori
AntigravityをAgent Platform APIで利用してみた
icck
0
400
200個のGitHubリポジトリを横断調査したかった
icck
0
230
mnt_data_とは?ChatGPTコード実行環境を深堀りしてみた
icck
0
1.4k
MCPコードリーディングすると得られるもの
icck
1
190
NL2SQLの世界
icck
0
2.2k
Audio and Video Processing with Generative AI
icck
0
130
Postmanと仲良くなる。API簡易実行にしか使ってなかった初心者の第二歩目
icck
1
240
Other Decks in Technology
See All in Technology
2026 Apache Flink Community Checkpoint
rmetzger
0
230
AI Agent 時代のデータ基盤: ClickHouse で実現する 超高速分析とコスト削減の両立
jozono
0
230
Shared Signals Framework 仕様解説
oidfj
0
380
Copilot Coworkで「みのるん式」やってみた
minorun365
PRO
2
1.7k
うちなーぐちが認識できるなら、秋田弁もいけるはず!? Amazon Transcribe方言チューニング検証
ryouto715
1
160
AWS構成から考えるWebセキュリティ ― WordPressの構築経験から考える公開範囲と更新運用【JAWS FESTA 2026 in AKITA】
cscengineer
PRO
2
410
【Oracle AI SPOTLIGHT ウェビナー】【特別開催:日本語で解説!】Oracle AI World 2026 最新情報フィードバック
oracle4engineer
PRO
1
160
アラートを見直していたら営業組織への理解にちょっとだけ繋がった話
z63d
1
170
Building Audio Plugin Ecosystem for Android in 2026
atsushieno
2
170
AWSを利用する上で知っておきたい名前解決の話 2026
nagisa53
5
3.4k
ゼロから作るWebアプリの新定番!?Amplify Gen 2 × AWS Blocksで実現する「開発速度とRDBの柔軟性のいいとこ取り」
amixedcolor
1
240
PostgreSQL オプティマイザ統計の秘密
nori_shinoda
1
460
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Deep Space Network (abreviated)
tonyrice
0
410
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Designing Experiences People Love
moore
143
24k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
Raft: Consensus for Rubyists
vanstee
143
7.9k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
890
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.7k
Unsuck your backbone
ammeep
672
58k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
2
3.8k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
520