クラウドインフラストラクチャー上のAdobe Commerceでの Fastly のレート制限の設定

Cloud Infrastructure 上のAdobe Commerceにおける Fastly のレート制限設定により、リクエストが遅延し、しきい値に達すると HTTP 429制限超過)エラーが返されます。 この問題を修正するには、Fastly の VCL スニペットでターピット間隔を更新します。

説明 description

環境

クラウドインフラストラクチャー上のAdobe Commerce, v2.4.4 - 2.4.8-p2

問題/症状

  • リクエストのしきい値を超えると、Fastly は HTTP 429Limit Exceeded)エラーを返します。
  • 適用された時間間隔とペナルティ期間が原因で、リクエストの処理に時間がかかります。
  • クーリングオフ期間は明確に定義されていないか、アクセスできません。
  • ターピット間隔、その役割、調整方法を取得または変更する簡単な方法はありません。

解決策 resolution

Fastly では、スライディングウィンドウアルゴリズムを使用して、リクエストしきい値やペナルティ期間などの設定可能なパラメーターに基づいてレート制限を適用します。 これらの設定を理解して調整するには、次の手順に従います。

  1. Fastly では、周期的な時間枠(例:3600 秒)でレート制限を実施しています。 IP がしきい値を超えた場合:

    • Fastly は HTTP 429Limit Exceeded)応答を返します。
    • ブロックは、要求数がウィンドウ内のしきい値を下回るまで継続されます。
    • Adobe Commerceは、Fastly に 429 レスポンスを送信することでレート制限を開始し、その後、IP を tarpit (一時的なスローダウンゾーン)に配置します。
  2. Adobe Commerceは tarpit interval を使用して、レート制限を超える IP からのリクエストを減速します。 トリガーされると、さらにリクエストが処理されるまで、遅延(デフォルトは 5 秒)が発生します。 この間隔は、Fastly の API で調整できます。

  3. クラウドインフラストラクチャー上のAdobe Commerceでターピット間隔を変更するには、次の手順に従います。

    1. 認証用の Fastly API トークンを取得します。
    2. Fastly API を使用して、サービスのアクティブな VCL 設定 ​ を取得します。
    3. magentomodule_rate_limiting_deliver スニペットを探します。
    4. tarpit_interval パラメーターを目的の値に更新します(例:5 秒から増やす)。
    5. Fastly の API エンドポイントを使用して、変更した VCL 設定をアップロードします。
    6. 変更を適用するには、更新されたバージョンをアクティベートします。

その他のメモ:

  • これらの設定は、特にAdobe Commerceと Fastly の統合に適用されます。
  • 実稼動環境にデプロイする前に、必ずステージング環境で設定変更をテストしてください。
  • VCL スニペットの編集や Fastly の API の使用に関する詳細なガイダンスについては、Fastly の公式ドキュメントを参照するか、​ サポートチーム ​ にお問い合わせください。

関連資料

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f