クラウドネイティブ ゲートウェイがリクエストを受信すると、設定されているルーティングルールを優先度の高いものから順に評価します。ゲートウェイは、リクエストが最初に一致したルールで設定されている宛先サービスにリクエストを転送します。リクエストがいずれのルールにも一致しない場合、ゲートウェイは HTTP ステータスコード 404 を返します。
前提条件
既存のクラウドネイティブ ゲートウェイインスタンス。
ルートが一致する既存のドメイン名、またはルート設定中に作成するドメイン名。
ルートのバックエンドサービスを提供する既存のサービスソース。
制限
ルートを作成する際には、次の制限が適用されます。
サービスソース:[Source Type] が [MSE Nacos] または [MSE Zookeeper] に設定されている場合、追加できるソースは 1 つだけです。[Source Type] が [Container Service] に設定されている場合、最大 5 つのソースを追加できます。[Source Type] が [EDAS Built-in Registry] または [SAE Built-in Registry] に設定されている場合、ソースの数に制限はありません。
トラフィックの重み:重みを使用する宛先サービスのトラフィックパーセンテージの合計は 100% にする必要があります。
フォールバック:フォールバックは HTTP サービス間でのみサポートされます。
操作手順
ルートパラメーター
次の表では、ルート作成時に設定するパラメーターについて説明します。
| パラメーター | 説明 |
| [ルーティング名] | ルートのカスタム名です。説明の追加 をクリックしてルートの説明を追加することもできます。 |
| [ドメイン名] | ルートに一致させるドメイン名を選択します。複数のドメイン名を選択できます。ドメイン名を作成するには、ドメインの作成 をクリックし、表示されるパネルでドメイン名を作成します。 |
| [マッチングルール] | マッチルールは論理 AND で結合されます。指定するルールが多いほど、一致するリクエストの範囲は狭くなります。マッチルールの優先順位の詳細については、「ルートのマッチング優先度」をご参照ください。 |
| [パス (Path)] | HTTP リクエストの照合に使用する Path パラメーターを指定します。ルートが同じマッチルールを使用する場合、Path の値が長いほど優先度が高くなります。ルートが異なるマッチルールを使用する場合、優先度は次のようになります: [等しい] > [プレフィックスは] > [正規表現マッチング]。[等しい]:完全一致です。例:Path の値が /user と等しい。[プレフィックスは]:プレフィックスをマッチング条件として使用します。例:Path の値が /user で始まる。正規表現一致:正規表現をマッチング条件として使用します。 |
| [メソッド] | HTTP リクエストの照合に使用する Method パラメーターを指定します。複数の HTTP メソッドを選択できます。デフォルト値は ANY です。 |
| [リクエストヘッダー (Header)] | HTTP リクエストの照合に使用する Header パラメーターを指定します。キーと値のペアの合計数が多いほど優先度が高くなります。 |
| [リクエストパラメーター (Query)] | HTTP リクエストの照合に使用する Query パラメーターを指定します。キーと値のペアの合計数が多いほど優先度が高くなります。 |
| [使用シナリオ] | 現在のルートの宛先サービスのタイプを選択します。基本的なシナリオ: [単一サービス]。カナリアリリースシナリオ: [マルチサービス]と[タグベースルーティング]。その他のシナリオ: [モック]と[リダイレクト]。宛先サービスのタイプの詳細については、「ルーティングモード」をご参照ください。 |
| [バックエンドサービス] | 関連付けるバックエンドサービスとポートを選択します。サービスの関連付け をクリックして、表示されるパネルでソースとサービスを選択します。追加できるソースの数は、ソースタイプによって異なります。詳細については、「制限」をご参照ください。 |
| フォールバック | ビジネス要件に基づいてフォールバックサービスを指定します。ルートの転送先であるバックエンドサービスに利用可能なノードがない場合、リクエストはここで指定したフォールバックサービスに転送されます。 |
| [タイムアウト時間 (秒)] | タイムアウト期間を入力します。デフォルト値は 60 秒です。値 0 は、リクエストがタイムアウトしないことを指定します。 |
| [リトライ回数 (回)] | リトライ回数を入力します。デフォルト値は 2 です。値 0 はリトライを無効にします。 |
| [リトライ条件] | リトライ条件を選択します。 |
| [再試行状態コード] | 1 つ以上のリトライステータスコードを追加します。 |
ルートのマッチング優先度
複数のルーティングルールが存在する場合、ルールは次の優先順位で評価されます: [関連ドメイン] > [パス (Path)] > リクエストヘッダー > [リクエストパラメーター (Query)] > [作成日時]。次のルールが適用されます:
[関連ドメイン]:ドメイン名の文字列が長いほど、優先度が高くなります。
[パス (Path)]:
[マッチングルール]が異なる場合、優先度は次のようになります: [等しい] > [プレフィックスは] > [正規表現マッチング]。
[マッチングルール]が同じ場合、[パス (Path)]の文字列が長いほど優先度が高くなります。
[リクエストヘッダー (Header)]:キーと値のペアの合計数が多いほど、優先度が高くなります。
[リクエストパラメーター (Query)]:キーと値のペアの合計数が多いほど、優先度が高くなります。
作成日時:作成日時が早いルートほど、優先度が高くなります。
ルートのマッチング優先度は、ルート設定ページに表示されるルートの順序と同じです。
関連ドキュメント
実際のシナリオや要件の変更に応じて、いつでもルーティングルールを変更できます。手順については、「ルーティングルールの変更」をご参照ください。