Open3
FastAPIをAWS Lambdaにデプロイする(Zappa/Mangum)

それぞれの比較がある

Zappa
AWS Lambda
とAmazon API gateway
等のサービスを利用して、Web アプリケーションを構築するサーバレスフレームワーク。
通常の AWS Lambda
とAmazon API gateway
の組み合わせでは、以下のような課題がある。
-
Web アプリであっても使い慣れたLambda 用にコーディングしなければならない
-
標準でサポートされていないライブラリを使用する際は zip ファイルでデプロイパッケージを作成し、アップロードする必要がある
-
ログが手軽に参照できない
-
必要な設定や操作が多く、それらを CLI で完結することが難しい
Zappa ではこれらの課題を上手にラッピングし、手軽なアプリケーション開発を支援する。
Zappaの機能
アプリケーション実行機能
- WSGI アプリケーションの実行
- CloudWatch Events によるスケジュール実行
- 非同期タスク実行
開発、運用のサポート機能
- CloudWatch Logs ログの tail
- 開発、ステージング、プロダクションといったステージごとの設定とデプロイ
- 任意の世代へロールバック
- 任意の関数の手動実行
- ACM や Let’s Encrypt などを利用した独自ドメイン
- ACM への証明書発行リクエスト
- API Gateway のアクセスポリシー設定
- Keep warm でレスポンス速度の維持
またデプロイ時にIAM Role
やLambda イメージ用 S3
の自動作成も可能。(自動作成せず既存の IAM Role や S3 Bucket の指定も可能)