API Gateway のレスポンス圧縮設定の確認

API のレスポンス特性に合わせて、圧縮の有無と最小サイズを選んでください。

説明

API Gateway のレスポンス圧縮は、通信量と処理遅延に影響します。無効にする選択も有効であり、圧縮自体はデータの暗号化やアクセス制限を行うセキュリティ制御ではありません。小さなレスポンスでは、圧縮によってサイズや処理負荷が増える場合があります。

想定される影響

  • 大きなレスポンスを圧縮しない場合、転送量が増える可能性があります。
  • レスポンスに合わないしきい値は、処理費用や遅延を増やす可能性があります。

対処方法

圧縮が必要な場合は minimum_compression_size を 0~10485760 バイトの適切なしきい値に設定し、無効にする場合は -1 を指定してください。実際のレスポンスサイズとクライアントの Accept-Encoding を考慮してテストし、API にデプロイしてください。転送を保護する HTTPS は別途構成してください。

例

REST API の圧縮設定の抜粋です。実際のメソッドと統合は別途構成してください。Terraform で新しい API にこの値を指定しない場合、圧縮は無効になります。

変更前

hcl
resource "aws_api_gateway_rest_api" "example" {
  name = "regional-example"

  endpoint_configuration {
    types = ["REGIONAL"]
  }

  minimum_compression_size = -1
}

変更後

hcl
resource "aws_api_gateway_rest_api" "example" {
  name = "regional-example"

  endpoint_configuration {
    types = ["REGIONAL"]
  }

  minimum_compression_size = 0
}

最初の -1 は有効な圧縮無効化設定です。変更後の 0 はサイズにかかわらず対象レスポンスを圧縮できるしきい値ですが、クライアントが対応するエンコーディングなどの条件は引き続き適用されます。0 がすべての API に適するわけではありません。

参考資料