Service Mesh (ASM) は、ゲートウェイ用のグラフィカルユーザーインターフェイス (GUI) をサポートしています。 YAML ファイルを作成せずに、GUI で ASM ゲートウェイの宛先ルールと仮想サービスを作成できます。 これにより、トラフィック管理が簡素化されます。 このトピックでは、GUI で ASM ゲートウェイのトラフィックポリシーとルーティングルールを作成する方法について説明します。
前提条件
指定された名前空間で、自動サイドカープロキシインジェクションが有効になっています。 詳細については、「自動サイドカープロキシインジェクションを有効にする」をご参照ください。
イングレスゲートウェイがデプロイされています。 詳細については、「イングレスゲートウェイを作成する」をご参照ください。
ASM インスタンスに追加されたクラスタにアプリケーションがデプロイされています。 詳細については、「ASM インスタンスに追加された ACK クラスタにアプリケーションをデプロイする」をご参照ください。
指定された ASM ゲートウェイの IP アドレスが取得されています。 詳細については、「Istio リソースを使用してトラフィックをサービスの異なるバージョンにルーティングする」トピックのステップ 3 のサブステップ 1 をご参照ください。
例
GUI で、サービスのロードバランシングと接続プールの設定を指定するトラフィックポリシーを作成できます。 この例では、reviews サービスが使用されます。 トラフィックポリシーが作成されると、宛先ルールの YAML ファイルが自動的に生成されます。 /productpage や /login などの URL 内の特定のコンテンツに一致するサービスのルーティングルールを作成できます。 この例では、Bookinfo サービスが使用されます。 このようにして、/productpage などの情報を含む URL を使用して Bookinfo サービスにアクセスできます。
ドメイン名を作成する
[ASM コンソール] にログインします。 左側のナビゲーションウィンドウで、 を選択します。
[メッシュ管理] ページで、ASM インスタンスの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
[イングレスゲートウェイ] ページで、ターゲット ASM ゲートウェイの名前をクリックします。 [ゲートウェイ] 概要ページの左側のナビゲーションウィンドウで、[ドメイン/証明書] をクリックします。
[ドメインの追加] ページで、次のパラメーターを設定し、[作成] をクリックします。
パラメーター
例
[ドメイン]
*
[プロトコル]
HTTP
[名前空間]
default
[ポート名]
http
[ポート]
80

アップストリームサービスをインポートする
reviews サービスを ASM ゲートウェイにインポートして、ASM ゲートウェイを reviews サービスに関連付けます。
[イングレスゲートウェイ] ページで、reviews サービスをインポートする ASM ゲートウェイの名前をクリックします。 [ゲートウェイ] 概要ページの左側のナビゲーションウィンドウで、[アップストリームサービス] をクリックします。
[ゲートウェイのアップストリームサービス] ページで、[サービスのインポート] をクリックします。 [サービスのインポート] ページで、[名前空間] ドロップダウンリストから名前空間を選択します。 サービス選択ボックスで、[reviews] と [productpage] を選択し、
アイコンをクリックしてサービスを選択済みボックスに移動します。 次に、[送信] をクリックします。
トラフィックポリシーを作成する
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 ファイルを表示します。
ルーティングルールを作成する
ルーティングルールを作成します。
/productpageを含む URL に一致するルーティングルールを作成します。ゲートウェイ概要ページの左側のナビゲーションウィンドウで、[ルート管理] をクリックします。 表示されるページで、[作成] をクリックします。
[ルート詳細の設定] ステップで、次の表に記載されているパラメーターを設定し、[次へ] をクリックします。
パラメーター
説明
[ルートタイプ]
ルーティングされるトラフィックのタイプ。 この例では、値は http です。
[名前空間]
ルーティングルールを作成する名前空間。 この例では、値は default です。
[名前]
ルーティングルール名。 この例では、値は
productpage-routeです。[説明]
ルーティングルールの説明。 この例では、値は
productpage routingです。[優先度]
この例では、値は
3です。説明ルーティングルールの優先度。 値が小さいほど、優先度が高くなります。 URL が複数のルーティングルールに一致する場合、優先度が最も高いルーティングルールが優先されます。
[一致ルール]
URL 内で一致させるコンテンツ。 指定されたコンテンツを含む URL を持つリクエストのみが宛先サービスにルーティングできます。
[リクエスト URI の一致] をオンにし、[メソッド] を [完全一致] に、[コンテンツ] を
/productpageに設定します。説明また、[ヘッダー照合ルールの追加] をクリックして HTTP ヘッダーの照合を設定することもできます。
[ルート送信先の設定] ステップで、次の表に示すパラメーターを設定し、[次へ] をクリックします。
パラメーター
説明
アップストリーム サービスを選択
ルーティング ルールが適用されるサービス。この例では、値は productpage です。
ポート
(オプション) ルーティング ルールがアップストリーム サービスに接続するポート。アップストリーム サービスは複数のポートを公開する場合があります。この場合は、ポートを指定します。このパラメーターは空のままにすることができます。
サブネット
ルーティング ルールが適用されるサービスのバージョン。このパラメーターは空のままにすることができます。
重み
送信先サービスのトラフィック重み。このパラメーターは空のままにすることができます。
[詳細設定] ステップで、[フォールトインジェクション] をオンにします。 その後、[リクエストレイテンシ] をオンにし、[レイテンシ] パラメーターを 4s に、[挿入率] パラメーターを 100 に設定し、[作成] をクリックします。
/staticを含む URL と一致するルーティングルールを作成します。[ルート管理] ページで、[作成] をクリックします。
[ルート詳細の設定] ステップで、次の表に示すパラメーターを設定し、[次へ] をクリックします。
パラメーター
説明
ルートタイプ
ルーティングするトラフィックのタイプ。この例では、値は http です。
名前空間
ルーティングルールを作成する名前空間。この例では、値は default です。
名前
ルーティングルール名。この例では、値は
staticです。説明
ルーティングルールの説明。この例では、値は
static resourceです。優先度
ルーティングルールの優先度。この例では、値は
0です。一致ルール
URL 内で一致させるコンテンツ。指定されたコンテンツを含む URL を持つリクエストのみを宛先サービスにルーティングできます。
[リクエスト URI の一致] をオンにし、[メソッド] を プレフィックス に、[コンテンツ] を
/staticに設定します。/staticを含む URL と一致するルーティングルールを作成するための後続のステップは、/productpageを含む URL と一致するルーティングルールを作成するためのステップと同じです。
/loginを含む URL と一致するルーティングルールを作成します。[ルート管理] ページで、[作成] をクリックします。
[ルート詳細の設定] ステップで、次の表に示すパラメーターを設定し、[次へ] をクリックします。
パラメーター
説明
ルートタイプ
ルーティングするトラフィックのタイプ。この例では、値は http です。
名前空間
ルーティングルールを作成する名前空間。この例では、値は default です。
名前
ルーティングルール名。この例では、値は
loginです。説明
ルーティングルールの説明。この例では、値は
login request routingです。優先度
ルーティングルールの優先度。この例では、値は
0です。一致ルール
URL 内で一致させるコンテンツ。指定されたコンテンツを含む URL を持つリクエストのみを宛先サービスにルーティングできます。
[リクエスト URI の一致] をオンにし、[メソッド] パラメーターを Prefix に、[コンテンツ] パラメーターを
/loginに設定します。/loginを含む URL と一致するルーティングルールを作成するための以降のステップは、/productpageを含む URL と一致するルーティングルールを作成する場合と同じです。
/logoutを含む URL と一致するルーティングルールを作成します。[ルート管理] ページで、[作成] をクリックします。
[ルート詳細の設定] ステップで、次の表に示すパラメーターを設定し、[次へ] をクリックします。
パラメーター
説明
ルートタイプ
ルーティングするトラフィックのタイプ。この例では、値は http です。
名前空間
ルーティングルールを作成する名前空間。この例では、値は default です。
名前
ルーティングルール名。この例では、値は logout です。
説明
ルーティングルールの説明。この例では、値は logout route です。
優先度
ルーティングルールの優先度。この例では、値は
0です。一致ルール
URL 内で一致させるコンテンツ。指定されたコンテンツを含む URL を持つリクエストのみを宛先サービスにルーティングできます。
[リクエスト URI の一致] をオンにし、[メソッド] パラメーターを プレフィックス に、[コンテンツ] パラメーターを /logout に設定します。
/logout を含む URL と一致するルーティングルールを作成するための後続のステップは、/productpage を含む URL と一致するルーティングルールを作成するためのステップと同じです。
/api/v1/productsを含む URL と一致するルーティングルールを作成します。[ルート管理] ページで、[作成] をクリックします。
[ルート詳細の設定] ステップで、次の表に示すパラメーターを設定し、[次へ] をクリックします。
パラメーター
説明
ルートタイプ
ルーティングするトラフィックのタイプ。この例では、値は http です。
名前空間
ルーティングルールを作成する名前空間。この例では、値は default です。
名前
ルーティングルール名。この例では、値は
products-routeです。説明
ルーティングルールの説明。この例では、値は
product informationです。優先度
ルーティングルールの優先度。この例では、値は
0です。一致ルール
URL 内で一致させるコンテンツ。指定されたコンテンツを含む URL を持つリクエストのみを宛先サービスにルーティングできます。
[リクエスト URI の一致] をオンにし、[メソッド] を プレフィックス に、[コンテンツ] を
/api/v1/productsに設定します。/api/v1/productsを含む URL と一致するルーティングルールを作成するための後続のステップは、/productpageを含む URL と一致するルーティングルールを作成するためのステップと同じです。
ルーティングルールが有効になっているかどうかを確認します。
Google Chrome のアドレスバーに、
http://{ASM ゲートウェイの IP アドレス}/productpageと入力します。次の図は、表示されるページの例を示しています。

Bookinfo ページの右上隅にある [サインイン] をクリックします。
[サインインしてください] ページで、アカウントとパスワードを入力し、[サインイン] をクリックします。
次の図は、ログイン後の Bookinfo サービスのページを示しています。

/logout、/static、または /api/v1/products を含む URL を使用して、Bookinfo サービスにアクセスし、検証することもできます。
Google Chrome の右上隅にある
アイコンをクリックし、[その他のツール] > [デベロッパーツール] を選択します。 [ネットワーク] タブをクリックします。ページを更新します。
[ネットワーク] タブに、約 4 秒の遅延が報告されます。

(オプション) ルーティングルールが作成された後、対応する仮想サービスに対して自動的に生成される YAML ファイルを確認します。
ASM インスタンスの詳細ページで、左側のナビゲーションウィンドウの を選択します。
[仮想サービス] ページで、管理する仮想サービスを見つけ、[YAML] 列の [アクション] をクリックします。
[編集] ダイアログボックスで、仮想サービスの YAML ファイルを確認します。設定を確認し、[OK] をクリックします。
関連操作
サービス詳細の表示
サイドカープロキシインジェクションの設定やリージョンなど、インポートされたサービスの詳細を表示します。
[イングレスゲートウェイ] ページで、サービスの詳細を表示する ASM ゲートウェイの名前をクリックします。 [ゲートウェイ] 概要ページの左側のナビゲーションウィンドウで、[アップストリームサービス] をクリックします。
[ゲートウェイアップストリームサービス] ページで、詳細を表示するサービスを見つけ、[アクション] 列の [サービスの詳細] をクリックします。 [サービスの詳細] ページで、サイドカープロキシインジェクションの設定やリージョンなど、サービスの詳細を表示します。
ルーティングルールの無効化
ルーティングルールを無効にして、このルーティングルールを無効にすることができます。
[イングレスゲートウェイ] ページで、ルーティングルールを無効にする ASM ゲートウェイの名前をクリックします。
[ゲートウェイ] 概要ページの左側のナビゲーションウィンドウで、[ルート管理] をクリックします。
[ルート管理] ページで、目的のルーティングルールを見つけ、[アクション] 列の [オフライン] をクリックします。
[送信] メッセージで、[OK] をクリックします。
無効化されたルーティングルールが有効でなくなったことを確認します。
Google Chrome のアドレスバーに、
http://{IP address of the ingress gateway}/productpageと入力します。Bookinfo ページの右上隅にある [サインイン] をクリックします。
[サインインしてください] ページで、アカウントとパスワードを入力し、[サインイン] をクリックします。
404 エラーが発生します。これは、ログインルーティングルールが無効になっており、有効でなくなったことを示します。
無効化されたルーティングルールは、次の手順を実行することで有効にすることができます。
[ルート管理] ページで、有効にするルーティングルールを見つけ、[アクション] 列の [オンライン] をクリックします。 [送信] メッセージで、[OK] をクリックします。