クラウドネイティブゲートウェイのルートリトライポリシーは、設定可能な条件に基づいて失敗したリクエストを自動的にリトライします。HTTP または gRPC プロトコルのリトライ条件を設定して、接続失敗、バックエンドサービスのエラー、または特定のステータスコードに対応します。
前提条件
-
クラウドネイティブゲートウェイインスタンスが作成されています。
-
ゲートウェイに少なくとも 1 つのルートが設定されています。
ルートのリトライ条件
バックエンドサービスへのリクエストが失敗した場合、クラウドネイティブゲートウェイは設定した条件に基づいてリクエストを自動的にリトライできます。リトライ条件はプロトコル固有です。以下に、HTTP および gRPC プロトコルで利用可能な条件を示します。

-
[HTTP] プロトコルでは、以下のリトライ条件が利用可能です:
-
5xx:バックエンドサービスが
5xx応答を返すか、切断、リセット、または読み取りタイムアウトが発生した場合、クラウドネイティブゲートウェイは失敗したリクエストをリトライします。説明5xx条件には、connect-failureおよびrefused-stream条件が含まれます。 -
reset:切断、リセット、または読み取りタイムアウトが発生した場合、クラウドネイティブゲートウェイは失敗したリクエストをリトライします。
-
connect-failure:切断が原因でリクエストが失敗した場合、クラウドネイティブゲートウェイは失敗したリクエストをリトライします。
-
refused-stream:バックエンドサービスが
REFUSED_STREAMエラーコードでストリームをリセットした場合、クラウドネイティブゲートウェイは失敗したリクエストをリトライします。 -
retriable-status-codes:バックエンドサービスからのレスポンスに含まれる HTTP ステータスコードが、指定した再試行可能なステータスコードと一致する場合、クラウドネイティブゲートウェイはリクエストをリトライします。
説明再試行可能なステータスコードは、リトライ条件として
retriable-status-codesを指定した場合にのみ使用できます。
-
-
[gRPC] プロトコルでは、以下のリトライ条件が利用可能です:
-
cancelled:バックエンド gRPC サービスのレスポンスヘッダーに含まれる gRPC ステータスコードが
cancelledの場合、クラウドネイティブゲートウェイはリクエストをリトライします。 -
deadline-exceeded:バックエンド gRPC サービスのレスポンスヘッダーに含まれる gRPC ステータスコードが
deadline-exceededの場合、クラウドネイティブゲートウェイはリクエストをリトライします。 -
internal:バックエンド gRPC サービスのレスポンスヘッダーに含まれる gRPC ステータスコードが
internalの場合、クラウドネイティブゲートウェイはリクエストをリトライします。 -
resource-exhausted:バックエンド gRPC サービスのレスポンスヘッダーに含まれる gRPC ステータスコードが
resource-exhaustedの場合、クラウドネイティブゲートウェイはリクエストをリトライします。 -
unavailable:バックエンド gRPC サービスのレスポンスヘッダーに含まれる gRPC ステータスコードが
unavailableの場合、クラウドネイティブゲートウェイはリクエストをリトライします。
-
ルートリトライポリシーの設定
MSE コンソール にログインします。上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーション ウィンドウで、Cloud-Native Gateway > ゲートウェイリスト を選択します。 [ゲートウェイ] ページで、ゲートウェイの名前をクリックします。
左側のナビゲーションウィンドウで、Routes をクリックし、[ルート] タブをクリックします。
-
変更したいルートを見つけ、操作 列の ポリシー構成 をクリックします。
-
ポリシー構成 タブで、再試行 をクリックします。
-
再試行 ルールでパラメーターを設定し、保存 をクリックします。
パラメーター
説明
[再試行回数]
失敗したリクエストをリトライする最大回数。有効値:0~10。2 以下の値を推奨します。
説明値が 0 の場合、リトライは無効になります。
[リトライ条件]
ワークロードに適したリトライ条件を選択します。複数の条件を選択できます。各条件については、「ルートのリトライ条件」をご参照ください。
[再試行状態コード]
リトライ対象の HTTP ステータスコードを指定します。複数の HTTP ステータスコードを設定できます。
説明再試行状態コード を設定する前に、リトライ条件 として
retriable-status-codesを指定する必要があります。[有効化]
ルートリトライポリシーの有効/無効を切り替えます。
-
有効化:ゲートウェイのルートリトライポリシーが有効になります。
-
無効化:カスタムルートリトライポリシーは有効になりません。
説明カスタムリトライポリシーを無効にすると、ゲートウェイは内部のデフォルトリトライ設定にフォールバックします。デフォルトのリトライ回数は 2 で、デフォルトのリトライ条件は
connect-failure、refused-stream、unavailable、cancelled、およびretriable-status-codesです。リトライポリシーを設定して有効にした後、ルートにテストリクエストを送信し、失敗したリクエストが設定した条件とリトライ回数に従ってリトライされることを確認します。
-