Help us understand the problem. What is going on with this article?

AWS Lambda:API GatewayとApplication Load Balancerの違い

AWS Lambdaを使ってサーバーレスでWeb APIを作る場合、Lambdaの呼び出し元としてAPI Gateway (API GW) もしくはApplication Load Balancer (ALB) のどちらかを選択することになる。この選択基準となる両者の違いを整理した。

API Gateway特有の機能

プロトコル・ポート番号

  • API GWは443番でのHTTPS (TLS 1.2) のみをサポートする。(VPC Endpoint経由での呼び出しはできるが、この場合でもHTTPSのみとなる。)
  • ALBは任意のポート番号でのHTTP/HTTPS(TLSバージョンも選択肢がある)をサポートする。

実行可能時間(タイムアウト時間)

リクエスト・レスポンスサイズ

Request Event(参考

  • evt.headers (Request)
    • API GWでは大文字小文字を区別した状態で設定するが、ALBではヘッダ名は小文字化された状態で設定する。
  • evt.queryStringParameters (Request)
    • クエリストリングが指定されない場合、API GWは null を設定するが、ALBは {} を設定する。
    • クエリストリングのキー・バリューについて、API GatewayはURLデコードされた状態で設定するが、ALBはデコード前の状態で設定する。
  • evt.multiValueHeaders / evt.multiValueQueryStringParameters (Request)
    • API GWではデフォルトで設定されるが、ALBでは設定で有効化する必要がある。

Response Event(参考

  • ALBではstatusDescription、isBase64Encoded、headers(Multi Value Headerを有効化している場合はmultiValueHeder)の指定が必須となる。

コスト

  • 一定のリクエスト頻度までであれば、時間課金があるALBよりも実行回数による課金であるAPI GWの方が安いが、大量のリクエストを受ける場合はALBの方が安くなる。(参考

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした