すべてのプロダクト
Search
ドキュメントセンター

API Gateway:ルートの作成

最終更新日:Feb 08, 2025

クラウドネイティブAPI Gatewayインスタンスがアクセスリクエストを受信すると、ルーティングルールの優先順位に基づいて、リクエストをルートと1つずつ照合します。 ゲートウェイは、降順のルーティングルールの優先順位に基づいて、リクエストをルートと照合します。 リクエストがルートと一致する場合、リクエストは宛先サービスにルーティングされます。 リクエストがルートと一致しない場合、エラーコード404が返されます。

ルートマッチングの優先順位

複数のルーティングルールが存在する場合、ルーティングルールの優先度は、関連ドメイン名 > パス > リクエストヘッダー > リクエストパラメーター > 作成時間の順にソートされます。

  1. ドメイン名に基づいてルートの優先度を決定します。 ルートのドメイン名文字列の長さが長いほど、ルートの優先度が高くなります。

  2. 次のシナリオでは、ルートのパスに基づいてルートの優先度を決定します。

    • 複数のルートのパスマッチングルールが異なる場合、ルートの優先度は、等しい > プレフィックスマッチ > regexマッチの条件に基づいてソートされます。

    • 複数のルートのパスマッチング規則が同じである場合、ルートのパス文字列が長いほど、ルートの優先度が高くなります。

  3. ルートのリクエストヘッダーのキーと値のペアの総数に基づいて、ルートの優先度を決定します。 ルートのリクエストヘッダーのキーと値のペアの総数が多いほど、ルートの優先度が高くなります。

  4. ルートのリクエストパラメーターのキーと値のペアの総数に基づいて、ルートの優先度を決定します。 ルートのリクエストパラメータのキーと値のペアの総数が多いほど、ルートの優先度が高くなります。

  5. 作成時間に基づいてルートの優先順位を決定します。 ルートの作成時刻が早いほど、ルートの優先度は高くなる。

手順

説明

ルート設定は、HTTP 1.0、HTTP 1.1、HTTP 2.0、gPRCWebSocketなどのHTTPプロトコルをサポートしています。

  1. クラウドネイティブAPI Gatewayコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[API] をクリックします。 上部のナビゲーションバーで、リージョンを選択します。

  3. 対象のAPIをクリックし、左上隅の [ルートの作成] をクリックします。

  4. [ルートの追加] ページでパラメーターを設定し、[保存] をクリックします。

    説明
    • ルーティングポリシーのすべての条件が満たされると、ルートが一致します。 より多くの条件を指定すると、一致するリクエストが少なくなります。

    • リクエストは、[ルート] タブに表示される順序に基づいてルートを照合します。 次の表に、ルートパラメーターを示します。

    パラメーター

    説明

    ルート名

    作成するルートの名前。 [ルート説明の追加] をクリックし、[ルート説明] フィールドにルートの説明を入力します。

    ドメイン名

    • ルートに一致させる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つ以上の再試行ステータスコードを追加できます。