レスポンスキャッシュと使用量クォータ

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

レスポンスキャッシュの設定

  • レスポンスがキャッシュされている場合、バックエンドへのアクセスは不要
  • キャッシュはよく同じデータを返す人気エンドポイントに適用される
  • エンドポイントへの往復は時間とコストがかかる
  • APIMのキャッシュポリシーで実装可能

レスポンスキャッシュ

Azure API Management

レスポンスキャッシュの構成

  • キャッシュポリシーの設定で以下が可能:
    • キャッシュ時間の指定
    • クエリ文字列またはヘッダーによる変更
    • キャッシュの場所の設定
  • キャッシュの場所:
    • エッジ(APIゲートウェイ)
    • 外部キャッシュサービス(例:Redis

キャッシュポリシー

Azure API Management

リクエスト急増への対策

レート制限

  • キャッシュがあっても、クライアントが多すぎるとAPIが過負荷になる
    • パフォーマンスが低下する
    • リソースコストが増加する
    • 最悪の場合、システム障害が発生する(例:DDoS攻撃)
Azure API Management

使用量クォータによるAPIの保護

  • 一定期間内の呼び出し回数を制限する
    • リクエストの急増を防ぐ
  • DDoS攻撃から保護できる
  • 過剰使用を防ぎコストを削減できる

Azure API Management

リソース使用量の計測

Application Insights

  • 計測しなければ改善できない

    • Application Insights でメトリクス(例:レイテンシ、外れ値)を追跡する
  • 例:「GET Products」呼び出し

    • キャッシュヒット率が低いがトラフィックが多い
    • 対策:キャッシュ時間を延長(5 → 30分)
  • インサイトを活用して以下を最適化できる:

    • キャッシュ時間
    • クォータのしきい値
    • コストパフォーマンス最適なサービス層
Azure API Management

Let's practice!

Azure API Management

Preparing Video For Download...