YAML ファイルを作成せずに、グラフィカル ユーザー インターフェース(GUI)で Service Mesh(ASM)ゲートウェイの宛先ルールと仮想サービスを作成できます。これにより、トラフィック管理が簡素化されます。このトピックでは、GUI で ASM ゲートウェイのトラフィックポリシーとルーティングルールを作成する方法について説明します。
前提条件
クラスターが ASM インスタンスに追加されていること。詳細については、「ASM インスタンスへのクラスターの追加」をご参照ください。
イングレスゲートウェイがデプロイされていること。詳細については、「イングレスゲートウェイの作成」をご参照ください。
ASM インスタンスに追加されたクラスターにアプリケーションがデプロイされていること。詳細については、「ASM インスタンスに追加された ACK クラスターへのアプリケーションのデプロイ」をご参照ください。
指定された名前空間で自動サイドカープロキシインジェクションが有効になっていること。詳細については、「自動サイドカープロキシインジェクションの有効化」をご参照ください。
指定された ASM ゲートウェイの IP アドレスが取得されていること。詳細については、「Istio リソースを使用してサービスの異なるバージョンにトラフィックをルーティングする」トピックの手順 3 のサブステップ 1 をご参照ください。
背景情報
GUI で、サービスの負荷分散と接続プール設定を指定するトラフィックポリシーを作成できます。この例では、reviews サービスを使用します。トラフィックポリシーを作成すると、宛先ルール用の YAML ファイルが自動的に生成されます。/productpage や /login などの URL 内の特定のコンテンツに一致するサービスのルーティングルールを作成できます。この例では、Bookinfo サービスを使用します。このようにして、/productpage などの情報を含む URL を使用して Bookinfo サービスにアクセスできます。
トラフィックポリシーの作成
アップストリームサービスをインポートします。
ASM ゲートウェイに reviews サービスをインポートして、ASM ゲートウェイを reviews サービスに関連付けます。
ASM コンソール にログインします。左側のナビゲーションペインで、 を選択します。
[メッシュ管理] ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションペインで、 を選択します。
[イングレスゲートウェイ] ページで、reviews サービスをインポートする ASM ゲートウェイの名前をクリックします。
ゲートウェイの概要ページの左側のナビゲーションペインで、[アップストリームサービス] をクリックします。
[ゲートウェイのアップストリームサービス] ページで、[サービスのインポート] をクリックします。
[サービスのインポート] ページで、[名前空間] ドロップダウンリストから名前空間を選択します。サービスの選択ボックスで、[reviews] サービスを選択し、
アイコンをクリックして reviews サービスを選択済みボックスに移動します。次に、[送信] をクリックします。
reviews サービスのバージョンを管理します。
reviews サービスのインスタンスをバージョン別にグループ化します。この例では、reviews サービスのバージョンは v1、v2、v3 です。
[ゲートウェイのアップストリームサービス] ページで、[reviews] サービスを見つけ、バージョン[アクション] 列の をクリックします。
[バージョン] ページで、[サービスバージョンの追加 (サブセット)] をクリックします。[名前] パラメーターを v1 に設定します。次に、[ラベルの追加] をクリックし、[キー] パラメーターを version に、[値] パラメーターを v1 に設定します。
もう一度 [サービスバージョンの追加 (サブセット)] をクリックします。[名前] パラメーターを v2 に設定します。次に、[ラベルの追加] をクリックし、[キー] パラメーターを version に、[値] パラメーターを v2 に設定します。
もう一度 [サービスバージョンの追加 (サブセット)] をクリックします。[名前] パラメーターを v3 に設定します。次に、[ラベルの追加] をクリックし、[キー] パラメーターを version に、[値] パラメーターを v3 に設定します。次に、[作成] をクリックします。
トラフィックポリシーを作成します。
[ゲートウェイのアップストリームサービス] ページで、[reviews] サービスを見つけ、トラフィックポリシー[アクション] 列の をクリックします。
[トラフィックポリシー] ページで、[ポリシーの追加] をクリックします。[サブセットレベル] を選択し、サブセットドロップダウンリストから v3 を選択します。[負荷分散] をオンにし、[シンプル] を選択します。次に、[モード] パラメーターを [ランダム] に設定し、[送信] をクリックします。

(オプション) トラフィックポリシーの作成後、宛先ルール用に自動的に生成された YAML ファイルを表示します。
[ゲートウェイのアップストリームサービス] ページで、[reviews] サービスを見つけ、[アクション] 列の [YAML] をクリックして、[プレビュー] ダイアログボックスで YAML ファイルを表示します。YAML ファイルの正確さを確認した後、[送信] をクリックします。
説明ASM インスタンスの詳細ページの左側のナビゲーションペインで、 を選択することもできます。[宛先ルール] ページで、YAML ファイルを表示するルールを見つけ、[アクション] 列の [YAML] をクリックします。[編集] ダイアログボックスで、宛先ルールの YAML ファイルを表示します。
ルーティングルールの作成
アップストリームサービスをインポートします。
ASM ゲートウェイに productpage サービスをインポートして、ASM ゲートウェイを productpage サービスに関連付けます。
ASM コンソール にログインします。左側のナビゲーションペインで、 を選択します。
[メッシュ管理] ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションペインで、 を選択します。
[イングレスゲートウェイ] ページで、productpage サービスをインポートする ASM ゲートウェイの名前をクリックします。
ゲートウェイの概要ページの左側のナビゲーションペインで、[アップストリームサービス] をクリックします。
[ゲートウェイのアップストリームサービス] ページで、[サービスのインポート] をクリックします。
[サービスのインポート] ページで、[名前空間] ドロップダウンリストから名前空間を選択します。サービスの選択ボックスで、[productpage] サービスを選択し、
アイコンをクリックして productpage サービスを選択済みボックスに移動します。次に、[送信] をクリックします。
ルーティングルールを作成します。
/productpage を含む URL に一致するルーティングルールを作成します。
ゲートウェイの概要ページの左側のナビゲーションペインで、[ルート管理] をクリックします。表示されるページで、[作成] をクリックします。
[ルート詳細の設定] 手順で、次の表に示すパラメーターを設定し、[次へ] をクリックします。
パラメーター
説明
[ルートタイプ]
ルーティングするトラフィックのタイプ。この例では、値は http です。
[名前空間]
ルーティングルールを作成する名前空間。この例では、値は default です。
[名前]
ルーティングルールの名前。この例では、値は productpage-route です。
[説明]
ルーティングルールの説明。この例では、値は productpage ルーティング です。
[優先度]
ルーティングルールの優先度。値が小さいほど優先度が高くなります。URL が複数のルーティングルールに一致する場合、優先度が最も高いルーティングルールが優先されます。この例では、値は 3 です。
[一致ルール]
URL 内で一致するコンテンツ。指定されたコンテンツを含む URL を持つリクエストのみが宛先サービスにルーティングできます。
[リクエスト URI の一致] をオンにし、[メソッド] を [完全一致] に、[コンテンツ] を /productpage に設定します。
説明[ヘッダー一致ルールの追加] をクリックして、HTTP ヘッダーの照合設定を構成することもできます。
[ルートデスティネーションの設定] ステップで、次の表に示すパラメーターを設定し、[次へ] をクリックします。
パラメーター
説明
アップストリームサービスの選択
ルーティングルールが適用されるサービス。この例では、値は productpage です。
ポート
(オプション) ルーティングルールがアップストリームサービスに接続するために使用するポート。アップストリームサービスは複数のポートを公開する場合があります。この場合、ポートを指定します。
サブセット
ルーティングルールが適用されるサービスのバージョン。
重み
デスティネーションサービスのトラフィックの重み。
[詳細設定] 手順で、[フォールト インジェクション] をオンにします。その後、[リクエスト レイテンシ] をオンにし、[レイテンシ] パラメーターを 4s に、[挿入率] パラメーターを 100 に設定し、[作成] をクリックします。
/static を含む URL と一致するルーティングルールを作成します。
[ルート管理] ページで、[作成] をクリックします。
[ルート詳細の設定] ステップで、次の表に示すパラメーターを設定し、[次へ] をクリックします。
パラメーター
説明
ルートタイプ
ルーティングされるトラフィックのタイプ。この例では、値は http です。
名前空間
ルーティングルールを作成する名前空間。この例では、値は default です。
名前
ルーティングルール名。この例では、値は static です。
説明
ルーティングルールの説明。この例では、値は static resource です。
優先度
ルーティングルールの優先度。値が小さいほど、優先度が高くなります。URL が複数のルーティングルールと一致する場合、優先度の最も高いルーティングルールが優先されます。この例では、値は 0 です。
一致ルール
URL 内で一致させるコンテンツ。指定されたコンテンツを含む URL を持つリクエストのみを宛先サービスにルーティングできます。
[リクエスト URI の一致] をオンにし、[メソッド] を Prefix に設定し、[コンテンツ] を /static に設定します。
/static を含む URL と一致するルーティングルールを作成するための後続のステップは、/productpage を含む URL と一致するルーティングルールを作成するためのステップと同じです。詳細については、このトピックの /productpage を含む URL と一致するルーティングルールを作成する セクションをご参照ください。
/login を含む URL と一致するルーティングルールを作成します。
[ルート管理] ページで、[作成] をクリックします。
[ルート詳細の設定] ステップで、次の表に示すパラメーターを設定し、[次へ] をクリックします。
パラメーター
説明
ルートタイプ
ルーティングされるトラフィックのタイプ。この例では、値は http です。
名前空間
ルーティングルールを作成する名前空間。この例では、値は default です。
名前
ルーティングルール名。この例では、値は login です。
説明
ルーティングルールの説明。この例では、値は login request routing です。
優先度
ルーティングルールの優先度。値が小さいほど、優先度が高くなります。URL が複数のルーティングルールと一致する場合、優先度が最も高いルーティングルールが優先されます。この例では、値は 0 です。
一致ルール
URL 内で一致させるコンテンツ。指定されたコンテンツを含む URL を持つリクエストのみを宛先サービスにルーティングできます。
[リクエスト URI の一致] をオンにし、[メソッド] パラメーターを Prefix に、[コンテンツ] パラメーターを /login に設定します。
/login を含む URL と一致するルーティングルールを作成するための後続のステップは、/productpage を含む URL と一致するルーティングルールを作成するためのステップと同じです。詳細については、このトピックの /productpage を含む URL と一致するルーティングルールを作成する セクションをご参照ください。
URL に /logout が含まれるルーティングルールを作成します。
[ルート管理] ページで、[作成] をクリックします。
[ルート詳細の設定] 手順で、次の表に記載されているパラメーターを設定し、[次へ] をクリックします。
パラメーター
説明
ルートタイプ
ルーティングされるトラフィックのタイプ。この例では、値は http です。
名前空間
ルーティングルールを作成する名前空間。この例では、値は default です。
名前
ルーティングルール名。この例では、値は logout です。
説明
ルーティングルールの説明。この例では、値は logout route です。
優先度
ルーティングルールの優先度。値が小さいほど、優先度が高くなります。URL が複数のルーティングルールと一致する場合、優先順位が最も高いルーティングルールが優先されます。この例では、値は 0 です。
一致ルール
URL 内で一致させるコンテンツ。指定されたコンテンツを含む URL を持つリクエストのみを宛先サービスにルーティングできます。
[リクエスト URI の一致] をオンにし、[メソッド] パラメーターを Prefix に、[コンテンツ] パラメーターを /logout に設定します。
URL に /logout が含まれるルーティングルールを作成するための後続の手順は、URL に /productpage が含まれるルーティングルールを作成するための手順と同じです。詳細については、このトピックの /productpage が含まれる URL に一致するルーティングルールを作成する セクションをご参照ください。
/api/v1/products を含む URL と一致するルーティングルールを作成します。
[ルート管理] ページで、[作成] をクリックします。
[ルート詳細の設定] ステップで、次の表に示すパラメーターを設定し、[次へ] をクリックします。
パラメーター
説明
ルートタイプ
ルーティングされるトラフィックのタイプ。この例では、値は http です。
名前空間
ルーティングルールを作成する名前空間。この例では、値は default です。
名前
ルーティングルール名。この例では、値は products-route です。
説明
ルーティングルールの説明。この例では、値は product information です。
優先度
ルーティングルールの優先度。値が小さいほど、優先度が高くなります。URL が複数のルーティングルールと一致する場合、優先度が最も高いルーティングルールが優先されます。この例では、値は 0 です。
一致ルール
URL 内で一致させるコンテンツ。指定されたコンテンツを含む URL を持つリクエストのみを宛先サービスにルーティングできます。
[リクエスト URI の一致] をオンにし、[メソッド] を プレフィックス に設定し、[コンテンツ] を /api/v1/products に設定します。
/api/v1/products を含む URL と一致するルーティングルールを作成するための後続のステップは、/productpage を含む URL と一致するルーティングルールを作成するためのステップと同じです。詳細については、このトピックの/productpage を含む URL と一致するルーティングルールを作成するセクションをご参照ください。
ルーティングルールが有効になっているかどうかを確認します。
Google Chrome のアドレスバーに http://{ASM ゲートウェイの IP アドレス}/productpage と入力します。
次の図は、表示されるページの例を示しています。
Bookinfo ページの右上隅にある [サインイン] をクリックします。
[サインインしてください] ページで、アカウントとパスワードを入力し、[サインイン] をクリックします。
次の図は、ログイン後の Bookinfo サービスのページを示しています。
/logout、/static、または /api/v1/products を含む URL を使用して、Bookinfo サービスにアクセスして検証することもできます。
Google Chrome の右上隅にある
アイコンをクリックし、 を選択します。 アドレスが http://{ASM ゲートウェイの IP アドレス}/productpage であるページを更新します。
[ネットワーク] タブで、約 4 秒の遅延が報告されます。
(オプション) ルーティングルールが作成された後、対応する仮想サービス用に自動的に生成された YAML ファイルを確認します。
ASM インスタンスの詳細ページで、左側のナビゲーションペインの を選択します。
[仮想サービス] ページで、管理する仮想サービスを見つけ、YAML[アクション] 列の をクリックします。
[編集] ダイアログボックスで、仮想サービスの YAML ファイルを確認します。設定を確認し、[OK] をクリックします。
関連操作
サービス詳細の表示
サイドカープロキシインジェクションの設定やリージョンなど、インポートされたサービスの詳細を表示します。
[ASM コンソール] にログインします。左側のナビゲーションペインで、 を選択します。
[メッシュ管理] ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションペインで、 を選択します。
[イングレスゲートウェイ] ページで、サービスの詳細を表示する ASM ゲートウェイの名前をクリックします。
ゲートウェイ概要ページの左側のナビゲーションペインで、[アップストリームサービス] をクリックします。
[ゲートウェイアップストリームサービス] ページで、詳細を表示するサービスを見つけ、サービスの詳細[アクション] 列の をクリックします。
[サービス詳細] ページで、サイドカープロキシインジェクションの設定やリージョンなど、サービスの詳細を表示します。
ルーティングルールの無効化
ルーティングルールを無効にして、このルーティングルールを無効にすることができます。
[ASM コンソール] にログインします。左側のナビゲーションペインで、 を選択します。
[メッシュ管理] ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションペインで、 を選択します。
[イングレスゲートウェイ] ページで、ルーティングルールを無効にする ASM ゲートウェイの名前をクリックします。
ゲートウェイ概要ページの左側のナビゲーションペインで、[ルート管理] をクリックします。
表示されるページで、目的のルーティングルールを見つけ、オフライン[アクション] 列の をクリックします。
[送信] メッセージで、[OK] をクリックします。
無効化されたルーティングルールが有効でなくなったことを確認します。
Google Chrome のアドレスバーに http://{ASM ゲートウェイの IP アドレス}/productpage と入力します。
Bookinfo ページの右上隅にある [サインイン] をクリックします。
[サインインしてください] ページで、アカウントとパスワードを入力し、[サインイン] をクリックします。
404 エラーが発生します。これは、ログインルーティングルールが無効になっており、有効ではなくなったことを示します。
無効にしたルーティングルールは、次の手順を実行することで有効にできます。
[ルート管理] ページで、有効にするルーティングルールを見つけ、[アクション] 列の [オンライン] をクリックします。[送信] メッセージで、[OK] をクリックします。