API Gateway がレート制限されているので、スロットリングを防ぎたいと考えています。自分のワークロードに最適な API Gateway キャッシュ容量を選択したいと考えています。
簡単な説明
Amazon API Gateway は API へのリクエストを調整して、リクエストが多すぎて過負荷にならないようにします。API キャッシュを有効にして、エンドポイントへの呼び出し回数を減らします。
API Gateway キャッシュには複数のサイズがあります。適切なキャッシュサイズを選択するには、API で負荷テストを実行してから、Amazon CloudWatch メトリクスを確認します。
解決策
API ゲートウェイのキャッシュを有効にする
API ステージの Amazon API ゲートウェイキャッシュを有効にします。キャッシュ容量は、レスポンスとワークロードのサイズによって異なります。
注: キャッシュ容量は、キャッシュインスタンスの CPU、メモリ、およびネットワーク帯域幅に影響します。その結果、キャッシュ容量がキャッシュのパフォーマンスに影響する可能性があります。
キャッシュを作成したら、負荷テストを実行して、キャッシュサイズがスロットリングを防ぐのに十分大きいかどうかを確認します。
ロードテストを実行する
API のロードテストを実行します。AWS 分散負荷テストを使用して負荷テストをシミュレートできます。
ロードテストを少なくとも 10 分間実行し、本番環境のトラフィックをミラーリングします。テスト中に、次のセクションの手順を使用して、関連する CloudWatch メトリクスをモニタリングします。
CloudWatch で API メトリクスをモニタリングする
- CloudWatch コンソールを開きます。
- ナビゲーションペインで [メトリクス] を選択します。
- API ゲートウェイメトリクスを選択します。
- ロードテスト対象の API のレイテンシー、4XXError、5XXError、CacheHitCount、CacheMissCount の各メトリクスをモニタリングします。
- レイテンシー、4XXError、5XXError、または CacheMissCount が増加し、CacheHitCount が減少した場合は、API Gateway キャッシュのサイズを大きい容量に変更してください。
- CacheHitCount が増加しても、それに対応して CacheMissCount が増加しない場合は、API ゲートウェイのキャッシュのサイズを小さい容量に変更してください。
- キャッシュの容量を変更したら、急激な増減がなくなるまでロードテストを再度実行します。
関連情報
Amazon API Gateway 料金
API キャッシュを有効にすると、応答性が向上します。
Amazon API ゲートウェイのディメンションとメトリクス