クラウドネイティブゲートウェイがアクセスリクエストを受信すると、ゲートウェイはルーティングルールの優先順位に基づいて、リクエストをルートと 1 つずつ照合します。 ゲートウェイは、ルーティングルールの優先順位に基づいて、降順でリクエストをルートと照合します。 リクエストがルートと一致する場合、リクエストは宛先サービスにルーティングされます。 リクエストがルートと一致しない場合、エラーコード 404 が返されます。
ルート一致の優先順位
複数のルーティングルールが存在する場合、ルーティングルールの優先順位は、高いものから低いものの順に、[関連付けられたドメイン名] > [パス] > [リクエストヘッダー] > [リクエストパラメーター] > [作成時間] の順にソートされます。
[ドメイン名] に基づいてルートの優先順位を決定します。 ルートのドメイン名文字列の長さが長いほど、ルートの優先順位は高くなります。
以下のシナリオでは、ルートの [パス] に基づいてルートの優先順位を決定します。
複数のルートの [パス一致ルール] が異なる場合、ルートの優先順位は、高いものから低いものの順に、[等しい] > [プレフィックス] > [正規表現一致] の条件に基づいてソートされます。
複数のルートの [パス一致ルール] が同じ場合、ルートの [パス] 文字列の長さが長いほど、ルートの優先順位は高くなります。
ルートの [リクエストヘッダー] 内のキーと値のペアの総数に基づいて、ルートの優先順位を決定します。 ルートのリクエストヘッダー内のキーと値のペアの総数が大きいほど、ルートの優先順位は高くなります。
ルートの [リクエストパラメーター] 内のキーと値のペアの総数に基づいて、ルートの優先順位を決定します。 ルートのリクエストパラメーター内のキーと値のペアの総数が大きいほど、ルートの優先順位は高くなります。
作成時間 に基づいてルートの優先順位を決定します。 ルートの作成時間が早いほど、ルートの優先順位は高くなります。
手順
[MSEコンソール] にログインします。 上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションペインで、Cloud-Native Gateway > ゲートウェイリスト を選択します。 [ゲートウェイ] ページで、ゲートウェイの名前をクリックします。
左側のナビゲーションペインで、Routes タブをクリックします。 [ルート] タブで、Add Route をクリックします。
[ルートの追加] ページで、パラメーターを設定し、[保存] をクリックします。
説明ルーティングルール内のすべての条件が満たされると、ルートが一致します。 より多くの条件を指定すると、一致するリクエストが少なくなります。
リクエストは、[ルート] ページに表示される順序に基づいてルートと一致します。
パラメーター
説明
Route Name
作成するルートの名前。 [説明を追加] をクリックし、[ルートの説明] フィールドにルートの説明を入力できます。
ドメイン名
ルートに一致させる 1 つ以上のドメイン名を選択します。
ドメイン名を作成するには、[ドメイン名] ドロップダウンリストの下にある [ドメイン名の追加] をクリックし、[ドメイン名の追加] パネルでパラメーターを設定してドメイン名を作成します。
Match Rule
Path
ルートで転送する HTTP リクエストのパス パラメーター。
複数のルートのパス一致ルールが同じ場合、ルートのパス値の長さが長いほど、ルートの優先順位は高くなります。
複数のルートのパス一致ルールが異なる場合、ルートの優先順位は、高いものから低いものの順に、[等しい] > [プレフィックス] > Regular Expression Match の条件に基づいてソートされます。
[等しい]: 完全なパスを使用して、リクエストをルートと照合します。 たとえば、パス パラメーターを
/userに設定できます。[プレフィックス]: パスのプレフィックスを使用して、リクエストをルートと照合します。 たとえば、プレフィックスを
/userとして指定できます。正規表現一致: 正規表現を使用して、リクエストをルートと照合します。
Method
HTTP リクエストをルートと照合するために使用されるメソッド パラメーター。 メソッド パラメーターに複数の値を指定して、より多くのリクエストをルートと照合できます。 デフォルトでは、[ANY] が選択されています。
Header
HTTP リクエストをルートと照合するために使用されるヘッダー パラメーター。 指定されたヘッダー パラメーターの数以外に同じ一致条件を持つ複数のルートがある場合、ルール内のヘッダー パラメーターの数が多いルートの方が優先順位が高くなります。
Query Parameters
HTTP リクエストをルートと照合するために使用されるクエリ パラメーター。 指定されたクエリ パラメーターの数以外に同じ一致条件を持つ複数のルートがある場合、ルール内のクエリ パラメーターの数が多いルートの方が優先順位が高くなります。
シナリオ
ルートの宛先サービスのタイプを選択します。
基本シナリオ: Single Service
カナリアリリース シナリオ: Multiple Services および Tag-based Routing
その他のシナリオ: Mock および Redirect
宛先サービスの種類の詳細については、「ルーティングモード」をご参照ください。
説明重みを設定する宛先サービスのトラフィックの割合の合計は 100% でなければなりません。
バックエンド サービス
関連付けられたバックエンド サービスとポートを選択します。
説明[サービス名] ドロップダウンリストから [サービスの関連付け] を選択し、[サービスの関連付け] パネルでソースとサービスを選択します。
追加できるソースの数は、ソースの種類によって異なります。
ソースの種類が [コンテナー サービス] に設定されている場合、最大 5 つのソースを追加できます。
ソースの種類が [MSE Nacos] または [MSE ZooKeeper] に設定されている場合、1 つのソースのみを追加できます。
ソースの種類が [EDASビルトインレジストリ] または [SAEビルトインレジストリ] に設定されている場合、無制限の数のソースを追加できます。
フォールバック
ビジネス要件に基づいてフォールバック サービスを指定します。 ルートが指すバックエンド サービスで使用可能なノードがない場合、元の要求は指定したフォールバック サービスにアクセスします。
説明HTTP サービス間のフォールバック機能のみがサポートされています。
タイムアウト期間(秒)
タイムアウト期間を入力します。 デフォルト値は 60 です。 値を 0 に設定すると、タイムアウトは発生しません。
再試行回数(回)
再試行回数を入力します。 デフォルト値は 2 です。 この値を 0 に設定すると、再試行は許可されません。
再試行条件
再試行条件を選択します。
再試行ステータス コード
1 つ以上の再試行ステータス コードを追加します。
参照
ビジネス要件に基づいて、いつでもルーティングルールを変更できます。 詳細については、「ルートの管理」をご参照ください。