クラウドネイティブゲートウェイでは、ルートレベルでリトライポリシーを設定できます。リトライポリシーを設定すると、クラウドネイティブゲートウェイは、リトライポリシーに基づいて失敗したリクエストを自動的に再試行できます。リトライポリシーでは、接続の失敗、バックエンドサービスの利用不可、指定された HTTP ステータスコードでの応答など、再試行条件を指定できます。
リトライ条件
バックエンドサービスが 5xx ステータスコードを返した場合、クラウドネイティブゲートウェイは指定された回数だけ失敗したリクエストを自動的に再試行します。
HTTP リクエストのリトライ条件:
5xx: バックエンドサービスが
5xxステータスコードを返すか、切断、リセット、または読み取りタイムアウトイベントが発生します。説明5xx条件には、connect-failure条件とrefused-stream条件が含まれます。reset: 切断、リセット、または読み取りタイムアウトイベントが発生します。
connect-failure: 切断が原因でリクエストが失敗しました。
refused-stream: バックエンドサーバーが
REFUSED_STREAMステータスコードを返します。retriable-status-codes: バックエンドサーバーが指定されたステータスコードのいずれかを返します。
説明リトライ条件として
retriable-status-codesを選択した場合にのみ、ステータスコードを指定できます。
gRPC リクエストのリトライ条件:
cancelled:
CANCELLEDステータスコードが、バックエンド gRPC サービスからのレスポンスのヘッダーに含まれています。deadline-exceeded:
DEADLINE_EXCEEDEDステータスコードが、バックエンド gRPC サービスからのレスポンスのヘッダーに含まれています。internal:
INTERNALステータスコードが、バックエンド gRPC サービスからのレスポンスのヘッダーに含まれています。resource-exhausted:
RESOURCE_EXHAUSTEDステータスコードが、バックエンド gRPC サービスからのレスポンスのヘッダーに含まれています。unavailable:
UNAVAILABLEステータスコードが、バックエンド gRPC サービスからのレスポンスのヘッダーに含まれています。
リトライポリシーの設定
MSE コンソール にログインします。トップナビゲーションバーで、リージョンを選択します。
左側のナビゲーションペインで、Cloud-Native Gateway > ゲートウェイリスト を選択します。[ゲートウェイ] ページで、ゲートウェイの名前をクリックします。
左側のナビゲーションペインで、Routes をクリックし、[ルート] タブをクリックします。
[ルート] タブで、変更するルーティングルールを見つけ、Actions 列の Policies をクリックします。
Policies タブで、Retry をクリックします。
Retry タブで、パラメーターを設定し、OK をクリックします。
パラメーター
説明
Retry Times
失敗したリクエストの最大再試行回数。 0 ~ 10 の整数を設定できます。このパラメーターは 0、1、または 2 に設定することをお勧めします。
説明このパラメーターを 0 に設定すると、失敗したリクエストは再試行されません。
Retry Condition
再試行をトリガーする条件。1 つ以上の条件を選択できます。詳細については、このトピックの「リトライポリシーの設定」セクションをご参照ください。
Retry Status Code
再試行をトリガーする HTTP ステータスコード。1 つ以上の HTTP ステータスコードを指定できます。
説明Retry Condition パラメーターに
retriable-status-codesを選択した場合にのみ、このパラメーターは有効です。Retry Status Code有効化
リトライポリシーを有効にするかどうかを指定します。
スイッチをオンにすると、リトライポリシーが有効になります。
スイッチをオフにすると、リトライポリシーは無効になります。
説明リトライポリシーを無効にすると、ゲートウェイは、
connect-failure、refused-stream、unavailable、cancelled、retriable-status-codesの条件に基づいて、失敗したリクエストを最大 2 回自動的に再試行します。リトライポリシーが作成されて有効になったら、ビジネス要件に基づいてリトライポリシーが有効になっているかどうかを確認できます。