クラウドネイティブAPI Gatewayインスタンスがアクセスリクエストを受信すると、ルーティングルールの優先順位に基づいて、リクエストをルートと1つずつ照合します。 ゲートウェイは、降順のルーティングルールの優先順位に基づいて、リクエストをルートと照合します。 リクエストがルートと一致する場合、リクエストは宛先サービスにルーティングされます。 リクエストがルートと一致しない場合、エラーコード404が返されます。
ルートマッチングの優先順位
複数のルーティングルールが存在する場合、ルーティングルールの優先度は、関連ドメイン名 > パス > リクエストヘッダー > リクエストパラメーター > 作成時間の順にソートされます。
ドメイン名に基づいてルートの優先度を決定します。 ルートのドメイン名文字列の長さが長いほど、ルートの優先度が高くなります。
次のシナリオでは、ルートのパスに基づいてルートの優先度を決定します。
複数のルートのパスマッチングルールが異なる場合、ルートの優先度は、等しい > プレフィックスマッチ > regexマッチの条件に基づいてソートされます。
複数のルートのパスマッチング規則が同じである場合、ルートのパス文字列が長いほど、ルートの優先度が高くなります。
ルートのリクエストヘッダーのキーと値のペアの総数に基づいて、ルートの優先度を決定します。 ルートのリクエストヘッダーのキーと値のペアの総数が多いほど、ルートの優先度が高くなります。
ルートのリクエストパラメーターのキーと値のペアの総数に基づいて、ルートの優先度を決定します。 ルートのリクエストパラメータのキーと値のペアの総数が多いほど、ルートの優先度が高くなります。
作成時間に基づいてルートの優先順位を決定します。 ルートの作成時刻が早いほど、ルートの優先度は高くなる。
手順
クラウドネイティブAPI Gatewayコンソールにログインします。
左側のナビゲーションウィンドウで、[API] をクリックします。 上部のナビゲーションバーで、リージョンを選択します。
対象のAPIをクリックし、左上隅の [ルートの作成] をクリックします。
[ルートの追加] ページでパラメーターを設定し、[保存] をクリックします。
説明ルーティングポリシーのすべての条件が満たされると、ルートが一致します。 より多くの条件を指定すると、一致するリクエストが少なくなります。
リクエストは、[ルート] タブに表示される順序に基づいてルートを照合します。 次の表に、ルートパラメーターを示します。
パラメーター
説明
ルート名
作成するルートの名前。 [ルート説明の追加] をクリックし、[ルート説明] フィールドにルートの説明を入力します。
ドメイン名
ルートに一致させる1つ以上のドメイン名。
ドメイン名を作成する場合は、[ドメイン名の追加] をクリックし、[ドメイン名の追加] パネルでドメイン名を作成するパラメーターを設定します。
パス
ルートで転送するHTTPリクエストのPathパラメーター。
複数のルートのパスマッチングルールが同じである場合、ルートのpath値が長いほど、ルートの優先度が高くなります。
複数のルートのパスマッチングルールが異なる場合、ルートの優先度は、最高から最低へと、Equals to > Prefix > Regular Expression Matchという条件に基づいてソートされる。
等しい: 完全なパスは、リクエストをルートと照合するために使用されます。 たとえば、Pathパラメーターを
/userに設定できます。プレフィックス: パスプレフィックスは、リクエストをルートと照合するために使用されます。 たとえば、
/userプレフィックスを使用して、リクエストをルートと照合できます。正規表現一致: 正規表現は、リクエストをルートと一致させるために使用されます。
その他のマッチルール
課金方法
HTTPリクエストをルートと照合するために使用されるHTTPメソッド。 Methodパラメーターに複数の値を指定して、より多くのリクエストをルートに一致させることができます。 デフォルトでは、ANYが選択されています。
ヘッダー
HTTPリクエストをルートと照合するために使用されるHeaderパラメーター。 複数のルートが同じ一致ルールを持つ場合、ルール内のHeaderパラメーターの数が多い方が優先度が高くなります。
クエリパラメータ
HTTPリクエストをルートと照合するために使用されるQueryパラメーター。 複数のルートが同じ一致ルールを持つ場合、ルール内のQueryパラメーターの数が多い方が優先度が高くなります。
インスタンスとバックエンドサービス
インスタンス
ルートが有効になるインスタンス。
シナリオ
ルートの宛先サービスのタイプ。
基本的なシナリオ: 単一サービス
カナリアリリースのシナリオ: 割合 (マルチサービス) とタグ (タグベースのルーティング)
その他のシナリオ: モックとリダイレクト
宛先サービスの種類の詳細については、「ルーティングモード」をご参照ください。
説明宛先サービスのトラフィックの割合の合計を100% する必要があります。
バックエンドサービス
関連付けられたバックエンドサービスとポート。
説明[サービス名] ドロップダウンリストの [サービスの作成] をクリックして、[関連サービス] パネルでソースとサービスを選択できます。
追加できるソースの数は、ソースタイプによって異なります。
ソースタイプがACKに設定されている場合、最大5つのソースを追加できます。
Source TypeがMSE NacosまたはMSE Zookeeperに設定されている場合、追加できるソースは1つだけです。
ポリシー設定
タイムアウト期間 (秒)
タイムアウト期間。 デフォルト値は 640 です。 このパラメーターを0に設定すると、タイムアウトは発生しません。
フォールバック
ビジネス要件に基づいてフォールバックを有効にするかどうかを指定します。 ルートが指すバックエンドサービスで使用できるノードがない場合、元のリクエストは指定したフォールバックサービスにアクセスします。
説明フォールバックはHTTPサービス間でのみサポートされます。
再試行時間
許可されている再試行の数。 デフォルト値:2 値0は、再試行が許可されないことを示す。
リトライ条件
リトライ条件。
再試行ステータスコード
再試行ステータスコード。 1つ以上の再試行ステータスコードを追加できます。