Cloud-native API Gateway では、ルートレベルのリトライポリシーを設定できます。これにより、失敗したリクエストの自動リトライが可能になります。リトライポリシーでは、接続の失敗、バックエンドサービスが利用不可、または特定の HTTP ステータスコードを持つレスポンスなどのリトライ条件を指定できます。
リトライ条件
バックエンドサービスが 5xx エラーを返した場合、Cloud-native API Gateway は指定された最大リトライ回数に基づいて、失敗したリクエストを自動的にリトライします。
HTTP プロトコルのリトライ条件:
5xx:バックエンドサービスが
5xxレスポンスを返すか、接続が切断、リセット、または読み取り操作中にタイムアウトした場合、Cloud-native API Gateway は失敗したリクエストのリトライを試みます。説明5xxには、connect-failureとrefused-streamの条件が含まれます。reset:接続が切断、リセット、または読み取り操作中にタイムアウトした場合、Cloud-native API Gateway は失敗したリクエストのリトライを試みます。
connect-failure:接続の切断が原因でリクエストが失敗した場合、Cloud-native API Gateway は失敗したリクエストのリトライを試みます。
refused-stream:バックエンドサービスが
REFUSED_STREAMエラーコードでストリームをリセットした場合、Cloud-native API Gateway は失敗したリクエストのリトライを試みます。retriable-status-codes:バックエンドサービスからのレスポンスに含まれる HTTP ステータスコードが、指定したリトライステータスコードと一致する場合、Cloud-native API Gateway はリクエストのリトライを試みます。
説明リトライステータスコードは、リトライ条件で
retriable-status-codesを指定した場合にのみ使用できます。
GRPC プロトコルのリトライ条件:
cancelled:バックエンドの gRPC サービスからのレスポンスヘッダーに含まれる gRPC ステータスコードが
cancelledの場合、Cloud-native API Gateway はリクエストのリトライを試みます。deadline-exceeded:バックエンドの gRPC サービスからのレスポンスヘッダーに含まれる gRPC ステータスコードが
deadline-exceededの場合、Cloud-native API Gateway はリクエストのリトライを試みます。internal:バックエンドの gRPC サービスからのレスポンスヘッダーに含まれる gRPC ステータスコードが
internalの場合、Cloud-native API Gateway はリクエストのリトライを試みます。resource-exhausted:バックエンドの gRPC サービスからのレスポンスヘッダーに含まれる gRPC ステータスコードが
resource-exhaustedの場合、Cloud-native API Gateway はリクエストのリトライを試みます。unavailable:バックエンドの gRPC サービスからのレスポンスヘッダーに含まれる gRPC ステータスコードが
unavailableの場合、Cloud-native API Gateway はリクエストのリトライを試みます。
リトライポリシーの設定
Cloud-native API Gateway では、インスタンス外とインスタンス内の 2 つの方法でリトライポリシーを設定できます。
インスタンス外の API
Cloud-native API Gateway コンソールにログインします。左側のナビゲーションウィンドウで [API] を選択し、トップメニューバーでリージョンを選択します。
ターゲット API をクリックします。ドロップダウンリストからリトライポリシーを設定したいインスタンスを選択するか、[すべてのインスタンス] を選択できます。

[ルートリスト] からターゲットルートを選択します。
インスタンス内の API
Cloud-native API Gateway コンソールにログインします。左側のナビゲーションウィンドウで [インスタンス] を選択し、トップメニューバーでリージョンを選択します。
[インスタンス] ページで、ターゲットゲートウェイインスタンスの ID をクリックします。左側のナビゲーションウィンドウで [API] を選択し、ターゲット API をクリックします。
[ルート] タブで、ターゲットルートを選択します。
[ポリシー設定] タブをクリックし、[インバウンド処理] セクションの [ポリシー/プラグインの有効化] をクリックします。
[リトライ] カードをクリックします。[ポリシーの追加:リトライ] パネルでパラメーターを設定し、[OK] をクリックします。
説明リトライポリシーを作成して有効化した後、ビジネス要件に基づいてリトライポリシーが有効かどうかを確認できます。
パラメーター
説明
有効化
リトライポリシーを有効にするかどうかを指定します。
スイッチをオンにすると、リトライポリシーが有効になります。
スイッチをオフにすると、リトライポリシーは有効になりません。
説明リトライを無効にすると、ゲートウェイはデフォルトのリトライ構成を使用します。デフォルトの最大リトライ回数は 2 で、デフォルトのリトライ条件は
connect-failure、refused-stream、unavailable、cancelled、およびretriable-status-codesです。リトライ回数
失敗したリクエストの最大リトライ回数。0 から 10 までの整数を設定できます。このパラメーターは 0、1、または 2 に設定することを推奨します。
説明このパラメーターを 0 に設定すると、失敗したリクエストはリトライされません。
リトライ間隔 (秒)
リトライをトリガーする条件。1 つ以上の条件を選択できます。詳細については、「リトライ条件」をご参照ください。
リトライステータスコード
リトライをトリガーする HTTP ステータスコード。1 つ以上の HTTP ステータスコードを指定できます。
説明Retry Status Code は、[リトライ条件] で
retriable-status-codesを指定した場合にのみ設定できます。