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

Alibaba Cloud Service Mesh:ASM ゲートウェイのトラフィックルーティングの設定

最終更新日:Jan 15, 2025

YAML ファイルを作成せずに、グラフィカル ユーザー インターフェース(GUI)で Service Mesh(ASM)ゲートウェイの宛先ルールと仮想サービスを作成できます。これにより、トラフィック管理が簡素化されます。このトピックでは、GUI で ASM ゲートウェイのトラフィックポリシーとルーティングルールを作成する方法について説明します。

前提条件

背景情報

GUI で、サービスの負荷分散と接続プール設定を指定するトラフィックポリシーを作成できます。この例では、reviews サービスを使用します。トラフィックポリシーを作成すると、宛先ルール用の YAML ファイルが自動的に生成されます。/productpage/login などの URL 内の特定のコンテンツに一致するサービスのルーティングルールを作成できます。この例では、Bookinfo サービスを使用します。このようにして、/productpage などの情報を含む URL を使用して Bookinfo サービスにアクセスできます。

トラフィックポリシーの作成

  1. アップストリームサービスをインポートします。

    ASM ゲートウェイに reviews サービスをインポートして、ASM ゲートウェイを reviews サービスに関連付けます。

    1. ASM コンソール にログインします。左側のナビゲーションペインで、[サービスメッシュ] > [メッシュ管理] を選択します。

    2. [メッシュ管理] ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションペインで、[ASM ゲートウェイ] > [イングレスゲートウェイ] を選択します。

    3. [イングレスゲートウェイ] ページで、reviews サービスをインポートする ASM ゲートウェイの名前をクリックします。

    4. ゲートウェイの概要ページの左側のナビゲーションペインで、[アップストリームサービス] をクリックします。

    5. [ゲートウェイのアップストリームサービス] ページで、[サービスのインポート] をクリックします。

    6. [サービスのインポート] ページで、[名前空間] ドロップダウンリストから名前空間を選択します。サービスの選択ボックスで、[reviews] サービスを選択し、上游服务 アイコンをクリックして reviews サービスを選択済みボックスに移動します。次に、[送信] をクリックします。

      导入服务

  2. reviews サービスのバージョンを管理します。

    reviews サービスのインスタンスをバージョン別にグループ化します。この例では、reviews サービスのバージョンは v1、v2、v3 です。

    1. [ゲートウェイのアップストリームサービス] ページで、[reviews] サービスを見つけ、バージョン[アクション] 列の をクリックします。

    2. [バージョン] ページで、[サービスバージョンの追加 (サブセット)] をクリックします。[名前] パラメーターを v1 に設定します。次に、[ラベルの追加] をクリックし、[キー] パラメーターを version に、[値] パラメーターを v1 に設定します。

    3. もう一度 [サービスバージョンの追加 (サブセット)] をクリックします。[名前] パラメーターを v2 に設定します。次に、[ラベルの追加] をクリックし、[キー] パラメーターを version に、[値] パラメーターを v2 に設定します。

    4. もう一度 [サービスバージョンの追加 (サブセット)] をクリックします。[名前] パラメーターを v3 に設定します。次に、[ラベルの追加] をクリックし、[キー] パラメーターを version に、[値] パラメーターを v3 に設定します。次に、[作成] をクリックします。

  3. トラフィックポリシーを作成します。

    1. [ゲートウェイのアップストリームサービス] ページで、[reviews] サービスを見つけ、トラフィックポリシー[アクション] 列の をクリックします。

    2. [トラフィックポリシー] ページで、[ポリシーの追加] をクリックします。[サブセットレベル] を選択し、サブセットドロップダウンリストから v3 を選択します。[負荷分散] をオンにし、[シンプル] を選択します。次に、[モード] パラメーターを [ランダム] に設定し、[送信] をクリックします。

      流量策略

  4. (オプション) トラフィックポリシーの作成後、宛先ルール用に自動的に生成された YAML ファイルを表示します。

    [ゲートウェイのアップストリームサービス] ページで、[reviews] サービスを見つけ、[アクション] 列の [YAML] をクリックして、[プレビュー] ダイアログボックスで YAML ファイルを表示します。YAML ファイルの正確さを確認した後、[送信] をクリックします。

    説明

    ASM インスタンスの詳細ページの左側のナビゲーションペインで、[トラフィック管理センター] > [宛先ルール] を選択することもできます。[宛先ルール] ページで、YAML ファイルを表示するルールを見つけ、[アクション] 列の [YAML] をクリックします。[編集] ダイアログボックスで、宛先ルールの YAML ファイルを表示します。

    YAML ファイルの表示

    apiVersion: networking.istio.io/v1beta1
    kind: DestinationRule
    metadata:
      name: reviews
      namespace: default
      labels:
        provider: asm
    spec:
      host: reviews
      subsets:
        - name: v1
          labels:
            version: v1
        - name: v2
          labels:
            version: v2
        - name: v3
          labels:
            version: v3
          trafficPolicy:  // トラフィックポリシー
            loadBalancer:  // 負荷分散
              simple: RANDOM  // ランダム

ルーティングルールの作成

  1. アップストリームサービスをインポートします。

    ASM ゲートウェイに productpage サービスをインポートして、ASM ゲートウェイを productpage サービスに関連付けます。

    1. ASM コンソール にログインします。左側のナビゲーションペインで、[サービスメッシュ] > [メッシュ管理] を選択します。

    2. [メッシュ管理] ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションペインで、[ASM ゲートウェイ] > [イングレスゲートウェイ] を選択します。

    3. [イングレスゲートウェイ] ページで、productpage サービスをインポートする ASM ゲートウェイの名前をクリックします。

    4. ゲートウェイの概要ページの左側のナビゲーションペインで、[アップストリームサービス] をクリックします。

    5. [ゲートウェイのアップストリームサービス] ページで、[サービスのインポート] をクリックします。

    6. [サービスのインポート] ページで、[名前空間] ドロップダウンリストから名前空間を選択します。サービスの選択ボックスで、[productpage] サービスを選択し、上游服务 アイコンをクリックして productpage サービスを選択済みボックスに移動します。次に、[送信] をクリックします。

  2. ルーティングルールを作成します。

    1. /productpage を含む URL に一致するルーティングルールを作成します。

      1. ゲートウェイの概要ページの左側のナビゲーションペインで、[ルート管理] をクリックします。表示されるページで、[作成] をクリックします。

      2. [ルート詳細の設定] 手順で、次の表に示すパラメーターを設定し、[次へ] をクリックします。

        パラメーター

        説明

        [ルートタイプ]

        ルーティングするトラフィックのタイプ。この例では、値は http です。

        [名前空間]

        ルーティングルールを作成する名前空間。この例では、値は default です。

        [名前]

        ルーティングルールの名前。この例では、値は productpage-route です。

        [説明]

        ルーティングルールの説明。この例では、値は productpage ルーティング です。

        [優先度]

        ルーティングルールの優先度。値が小さいほど優先度が高くなります。URL が複数のルーティングルールに一致する場合、優先度が最も高いルーティングルールが優先されます。この例では、値は 3 です。

        [一致ルール]

        URL 内で一致するコンテンツ。指定されたコンテンツを含む URL を持つリクエストのみが宛先サービスにルーティングできます。

        [リクエスト URI の一致] をオンにし、[メソッド][完全一致] に、[コンテンツ]/productpage に設定します。

        説明

        [ヘッダー一致ルールの追加] をクリックして、HTTP ヘッダーの照合設定を構成することもできます。

      3. [ルートデスティネーションの設定] ステップで、次の表に示すパラメーターを設定し、[次へ] をクリックします。

        パラメーター

        説明

        アップストリームサービスの選択

        ルーティングルールが適用されるサービス。この例では、値は productpage です。

        ポート

        (オプション) ルーティングルールがアップストリームサービスに接続するために使用するポート。アップストリームサービスは複数のポートを公開する場合があります。この場合、ポートを指定します。

        サブセット

        ルーティングルールが適用されるサービスのバージョン。

        重み

        デスティネーションサービスのトラフィックの重み。

      4. [詳細設定] 手順で、[フォールト インジェクション] をオンにします。その後、[リクエスト レイテンシ] をオンにし、[レイテンシ] パラメーターを 4s に、[挿入率] パラメーターを 100 に設定し、[作成] をクリックします。

    2. /static を含む URL と一致するルーティングルールを作成します。

      1. [ルート管理] ページで、[作成] をクリックします。

      2. [ルート詳細の設定] ステップで、次の表に示すパラメーターを設定し、[次へ] をクリックします。

        パラメーター

        説明

        ルートタイプ

        ルーティングされるトラフィックのタイプ。この例では、値は http です。

        名前空間

        ルーティングルールを作成する名前空間。この例では、値は default です。

        名前

        ルーティングルール名。この例では、値は static です。

        説明

        ルーティングルールの説明。この例では、値は static resource です。

        優先度

        ルーティングルールの優先度。値が小さいほど、優先度が高くなります。URL が複数のルーティングルールと一致する場合、優先度の最も高いルーティングルールが優先されます。この例では、値は 0 です。

        一致ルール

        URL 内で一致させるコンテンツ。指定されたコンテンツを含む URL を持つリクエストのみを宛先サービスにルーティングできます。

        [リクエスト URI の一致] をオンにし、[メソッド]Prefix に設定し、[コンテンツ]/static に設定します。

      3. /static を含む URL と一致するルーティングルールを作成するための後続のステップは、/productpage を含む URL と一致するルーティングルールを作成するためのステップと同じです。詳細については、このトピックの /productpage を含む URL と一致するルーティングルールを作成する セクションをご参照ください。

    3. /login を含む URL と一致するルーティングルールを作成します。

      1. [ルート管理] ページで、[作成] をクリックします。

      2. [ルート詳細の設定] ステップで、次の表に示すパラメーターを設定し、[次へ] をクリックします。

        パラメーター

        説明

        ルートタイプ

        ルーティングされるトラフィックのタイプ。この例では、値は http です。

        名前空間

        ルーティングルールを作成する名前空間。この例では、値は default です。

        名前

        ルーティングルール名。この例では、値は login です。

        説明

        ルーティングルールの説明。この例では、値は login request routing です。

        優先度

        ルーティングルールの優先度。値が小さいほど、優先度が高くなります。URL が複数のルーティングルールと一致する場合、優先度が最も高いルーティングルールが優先されます。この例では、値は 0 です。

        一致ルール

        URL 内で一致させるコンテンツ。指定されたコンテンツを含む URL を持つリクエストのみを宛先サービスにルーティングできます。

        [リクエスト URI の一致] をオンにし、[メソッド] パラメーターを Prefix に、[コンテンツ] パラメーターを /login に設定します。

      3. /login を含む URL と一致するルーティングルールを作成するための後続のステップは、/productpage を含む URL と一致するルーティングルールを作成するためのステップと同じです。詳細については、このトピックの /productpage を含む URL と一致するルーティングルールを作成する セクションをご参照ください。

    4. URL に /logout が含まれるルーティングルールを作成します。

      1. [ルート管理] ページで、[作成] をクリックします。

      2. [ルート詳細の設定] 手順で、次の表に記載されているパラメーターを設定し、[次へ] をクリックします。

        パラメーター

        説明

        ルートタイプ

        ルーティングされるトラフィックのタイプ。この例では、値は http です。

        名前空間

        ルーティングルールを作成する名前空間。この例では、値は default です。

        名前

        ルーティングルール名。この例では、値は logout です。

        説明

        ルーティングルールの説明。この例では、値は logout route です。

        優先度

        ルーティングルールの優先度。値が小さいほど、優先度が高くなります。URL が複数のルーティングルールと一致する場合、優先順位が最も高いルーティングルールが優先されます。この例では、値は 0 です。

        一致ルール

        URL 内で一致させるコンテンツ。指定されたコンテンツを含む URL を持つリクエストのみを宛先サービスにルーティングできます。

        [リクエスト URI の一致] をオンにし、[メソッド] パラメーターを Prefix に、[コンテンツ] パラメーターを /logout に設定します。

      3. URL に /logout が含まれるルーティングルールを作成するための後続の手順は、URL に /productpage が含まれるルーティングルールを作成するための手順と同じです。詳細については、このトピックの /productpage が含まれる URL に一致するルーティングルールを作成する セクションをご参照ください。

    5. /api/v1/products を含む URL と一致するルーティングルールを作成します。

      1. [ルート管理] ページで、[作成] をクリックします。

      2. [ルート詳細の設定] ステップで、次の表に示すパラメーターを設定し、[次へ] をクリックします。

        パラメーター

        説明

        ルートタイプ

        ルーティングされるトラフィックのタイプ。この例では、値は http です。

        名前空間

        ルーティングルールを作成する名前空間。この例では、値は default です。

        名前

        ルーティングルール名。この例では、値は products-route です。

        説明

        ルーティングルールの説明。この例では、値は product information です。

        優先度

        ルーティングルールの優先度。値が小さいほど、優先度が高くなります。URL が複数のルーティングルールと一致する場合、優先度が最も高いルーティングルールが優先されます。この例では、値は 0 です。

        一致ルール

        URL 内で一致させるコンテンツ。指定されたコンテンツを含む URL を持つリクエストのみを宛先サービスにルーティングできます。

        [リクエスト URI の一致] をオンにし、[メソッド]プレフィックス に設定し、[コンテンツ]/api/v1/products に設定します。

      3. /api/v1/products を含む URL と一致するルーティングルールを作成するための後続のステップは、/productpage を含む URL と一致するルーティングルールを作成するためのステップと同じです。詳細については、このトピックの/productpage を含む URL と一致するルーティングルールを作成するセクションをご参照ください。

  3. ルーティングルールが有効になっているかどうかを確認します。

    1. Google Chrome のアドレスバーに http://{ASM ゲートウェイの IP アドレス}/productpage と入力します。

      次の図は、表示されるページの例を示しています。访问服务

    2. Bookinfo ページの右上隅にある [サインイン] をクリックします。

    3. [サインインしてください] ページで、アカウントとパスワードを入力し、[サインイン] をクリックします。

      次の図は、ログイン後の Bookinfo サービスのページを示しています。登录bookinfo

      /logout/static、または /api/v1/products を含む URL を使用して、Bookinfo サービスにアクセスして検証することもできます。

    4. Google Chrome の右上隅にある 更多 アイコンをクリックし、[その他のツール] > [デベロッパーツール] を選択します。

    5. アドレスが http://{ASM ゲートウェイの IP アドレス}/productpage であるページを更新します。

      [ネットワーク] タブで、約 4 秒の遅延が報告されます。延迟

  4. (オプション) ルーティングルールが作成された後、対応する仮想サービス用に自動的に生成された YAML ファイルを確認します。

    1. ASM インスタンスの詳細ページで、左側のナビゲーションペインの [トラフィック管理センター] > [仮想サービス] を選択します。

    2. [仮想サービス] ページで、管理する仮想サービスを見つけ、YAML[アクション] 列の をクリックします。

    3. [編集] ダイアログボックスで、仮想サービスの YAML ファイルを確認します。設定を確認し、[OK] をクリックします。

関連操作

サービス詳細の表示

サイドカープロキシインジェクションの設定やリージョンなど、インポートされたサービスの詳細を表示します。

  1. [ASM コンソール] にログインします。左側のナビゲーションペインで、[service Mesh] > [メッシュ管理] を選択します。

  2. [メッシュ管理] ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションペインで、[ASM ゲートウェイ] > [イングレスゲートウェイ] を選択します。

  3. [イングレスゲートウェイ] ページで、サービスの詳細を表示する ASM ゲートウェイの名前をクリックします。

  4. ゲートウェイ概要ページの左側のナビゲーションペインで、[アップストリームサービス] をクリックします。

  5. [ゲートウェイアップストリームサービス] ページで、詳細を表示するサービスを見つけ、サービスの詳細[アクション] 列の をクリックします。

  6. [サービス詳細] ページで、サイドカープロキシインジェクションの設定やリージョンなど、サービスの詳細を表示します。

ルーティングルールの無効化

ルーティングルールを無効にして、このルーティングルールを無効にすることができます。

  1. [ASM コンソール] にログインします。左側のナビゲーションペインで、[service Mesh] > [メッシュ管理] を選択します。

  2. [メッシュ管理] ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションペインで、[ASM ゲートウェイ] > [イングレスゲートウェイ] を選択します。

  3. [イングレスゲートウェイ] ページで、ルーティングルールを無効にする ASM ゲートウェイの名前をクリックします。

  4. ゲートウェイ概要ページの左側のナビゲーションペインで、[ルート管理] をクリックします。

  5. 表示されるページで、目的のルーティングルールを見つけ、オフライン[アクション] 列の をクリックします。

  6. [送信] メッセージで、[OK] をクリックします。

  7. 無効化されたルーティングルールが有効でなくなったことを確認します。

    1. Google Chrome のアドレスバーに http://{ASM ゲートウェイの IP アドレス}/productpage と入力します。

    2. Bookinfo ページの右上隅にある [サインイン] をクリックします。

    3. [サインインしてください] ページで、アカウントとパスワードを入力し、[サインイン] をクリックします。

      404 エラーが発生します。これは、ログインルーティングルールが無効になっており、有効ではなくなったことを示します。

説明

無効にしたルーティングルールは、次の手順を実行することで有効にできます。

[ルート管理] ページで、有効にするルーティングルールを見つけ、[アクション] 列の [オンライン] をクリックします。[送信] メッセージで、[OK] をクリックします。