レート制限に達しないように、最適な Amazon API Gateway キャッシュ容量を選択するにはどうすればよいですか?

最終更新日: 2021 年 11 月 18 日

私の API Gateway はレート制限があり、スロットリングを防ぎたいです。ワークロードに最適な API Gateway キャッシュ容量を選択するにはどうすればいいですか?

簡単な説明

Amazon API Gateway は、API へのリクエストをスロットリングして、リクエスト数が多すぎることで過負荷にならないようにします。 API キャッシュを有効にして、エンドポイントに対する呼び出しの数を減らします。

API Gateway キャッシュのサイズは複数あります。適切なキャッシュのサイズを選択するには、API でロードテストを実行し、Amazon CloudWatch メトリクスを確認します。

解決方法

API Gateway のキャッシュをオンにする

API ステージで Amazon API Gateway のキャッシュをオンにします。キャッシュ容量は、応答とワークロードのサイズによって異なります。

: キャッシュ容量は、キャッシュインスタンスの CPU、メモリ、およびネットワーク帯域幅に影響します。その結果、キャッシュ容量がキャッシュのパフォーマンスに影響を与える可能性があります。

キャッシュを作成したら、ロードテストを実行して、キャッシュサイズがスロットリングを防ぐのに十分大きいかどうかを確認します。

ロードテストを実行する

API でロードテストを実行します。AWS 分散負荷テストを使用して、ロードテストをシミュレートできます

ロードテストを 10 分以上実行し、本番トラフィックをミラーリングします。ロードテストの実行中は、次のセクションの手順を使用して、関連する CloudWatch メトリクスをモニタリングします。

CloudWatch で API メトリクスをモニタリングする

  1. CloudWatch コンソールを開きます。
  2. ナビゲーションペインで [メトリクス] を選択します。
  3. APIGateway メトリクスを選択します。
  4. ロードテスト対象の API のレイテンシー 4XXError、5XXError、CacheHitCount、および CacheMissCount メトリクスをモニタリングします。
  5. CacheHitCount の減少に伴い、レイテンシー 4XXError、5XXError、または CacheMissCount が増加した場合は、API Gateway のキャッシュを大きい容量にサイズ変更します。
  6. CacheHitCount が増加し、それに対応して CacheMissCount が増加しない場合は、API Gateway キャッシュのサイズを小さい容量にサイズ変更します。
  7. キャッシュ容量が変更されたら、急激な増減がなくなるまでロードテストを再度実行します。