Enterprise Distributed Application Service(EDAS)では、Kubernetes環境にデプロイされているSpring CloudおよびDubboマイクロサービスアプリケーションに対して、エンドツーエンドのトラフィック調整機能を設定できます。この機能は、特定の特性を持つトラフィックを指定されたバージョンのアプリケーションにルーティングするのに役立ちます。
前提条件
アプリケーションのエンドツーエンドトラフィック調整を設定する前に、次の前提条件が満たされていることを確認してください。
新しいバージョンのアプリケーションがデプロイされているか、アプリケーションが更新されています。詳細については、「アプリケーションのアップグレードとロールバックの概要(Kubernetesクラスターに適用可能)」をご参照ください。
Spring Cloud GatewayまたはSpring Cloud Netflix Zuulマイクロサービスゲートウェイをイングレスアプリケーションとして使用する場合、マイクロサービスゲートウェイが構築され、EDASのマイクロサービス名前空間に関連付けられていることを確認してください。
Spring Cloud Gatewayに基づいてイングレスゲートウェイを構築する場合、Spring Cloud Gatewayのバージョンが 2.1.x 以後であることを確認してください。
サーバーロードバランサー(SLB)インスタンスがイングレスアプリケーションにバインドされています。詳細については、「CLBインスタンスのバインド」または「CLBインスタンスの再利用」をご参照ください。
背景情報
このセクションでは、eコマースアーキテクチャの注文シナリオでエンドツーエンドのトラフィック調整機能を使用する方法について説明します。
顧客が注文した後、トラフィックはイングレスアプリケーション(マイクロサービスゲートウェイの場合もあります)から入ります。イングレスアプリケーションはトランザクションセンターを呼び出し、トランザクションセンターは商品センターを呼び出し、商品センターはダウンストリームの在庫センターを呼び出します。
トランザクションセンターと商品センターは両方とも、2つの新しいバージョンV1.0とV2.0で実行されています。カナリアリリース中に2つのバージョンを検証する必要があります。イングレスアプリケーションで特定のトラフィック調整ルールと一致するリクエストトラフィックを新しいバージョンのアプリケーションにルーティングし、残りのすべてのトラフィックをオンラインバージョン(公式バージョン)のアプリケーションにルーティングします。
レーングループの作成
EDAS console にログインします。
左側のナビゲーションペインで、 を選択します。
上部のナビゲーションバーで、リージョンを選択します。[エンドツーエンドトラフィック調整] ページで、マイクロサービス名前空間を選択します。
[エンドツーエンドトラフィック調整] ページで、[作成] をクリックします。
選択したマイクロサービス名前空間にレーングループがすでに作成されている場合は、[レーングループの選択] ドロップダウンリストの右側にある [作成] をクリックします。
説明マイクロサービス名前空間には、最大 2 つのレーングループを含めることができます。
[レーン グループの作成] パネルで、必要なパラメーターを構成し、[OK] をクリックします。次の表で、パラメーターについて説明します。

パラメーター
説明
マイクロサービス名前空間
[エンドツーエンドトラフィック調整] ページで選択したマイクロサービス名前空間が表示されます。選択したマイクロサービス名前空間は変更できません。
レーングループ名
レーングループの名前を指定します。名前は 1 ~ 64 文字で、英字、数字、ハイフン(-)、アンダースコア(_)を含める必要があります。
イングレスタイプ
イングレスタイプを指定します。デフォルト値:[イングレスアプリケーション(EDAS にデプロイされたアプリケーション/ゲートウェイ)]。
イングレスアプリケーション
ビジネス要件に基づいてイングレスアプリケーションを選択します。
レーングループに関連するアプリケーション
[トラフィック調整用のアプリケーションを追加] をクリックし、選択したイングレスアプリケーションまたはイングレスゲートウェイに基づいて関連するすべてのアプリケーションを選択します。
レーングループを作成した後、作成されたレーングループの関連アプリケーションが、[エンドツーエンドトラフィック調整] ページの [レーングループに関連するアプリケーション] セクションに表示されます。イングレスアプリケーションと関連アプリケーションが正しいかどうかを確認します。レーングループに関する情報を変更するには、[編集] をクリックし、ビジネス要件に基づいて情報を変更します。
レーンの作成
[エンドツーエンドトラフィック調整] ページで、作成したレーングループと同じマイクロサービス名前空間を選択します。次に、ページの下部にある [レーンの作成] をクリックします。
重要アプリケーションのエンドツーエンドトラフィック調整を設定した後、これらのアプリケーションはカナリアリリースをサポートしなくなります。
[トラフィック調整用のレーンの作成] パネルで、関連パラメーターを設定し、[OK] をクリックします。

パラメーター
説明
マイクロサービス名前空間
デフォルトでは、[エンドツーエンドトラフィック調整] ページで選択したマイクロサービス名前空間が表示されます。レーングループがマイクロサービス名前空間に作成されていることを確認してください。選択したマイクロサービス名前空間は変更できません。
レーン名
レーンの名前を指定します。名前は最大 64 文字で、英字、数字、ハイフン(-)、アンダースコア(_)を含めることができます。
マークされたトラフィックを受信するアプリケーション
[アプリケーションの追加] をクリックし、レーングループからアプリケーションを選択します。
説明1 つのレーンに複数のアプリケーションを選択できます。また、アプリケーションごとにレーンを作成することもできます。
レーングループとレーンのクォータは、EDAS のエディションによって異なります。詳細については、「概要」をご参照ください。
レーンを作成する際、[マークされたトラフィックを受信するアプリケーション] パラメーターはオプションです。作成したレーンを編集する際に、[マークされたトラフィックを受信するアプリケーション] パラメーターを指定できます。
トラフィック調整ルール
トラフィック調整ルールを有効にするスイッチをオンにするかどうかを指定します。デフォルトでは、スイッチはオンになっています。
パス
ビジネス要件に基づいて HTTP 相対パスを指定します。このパラメーターを空のままにすると、ルールはすべてのパスに適用されます。
条件モード
ビジネス要件に基づいて条件が満たされるモードを選択します。有効な値:
すべての条件を満たす: すべての条件が同時に満たされた場合にルールが有効になります。
いずれかの条件を満たす: いずれかの条件が満たされた場合にルールが有効になります。
条件一覧
<[条件の追加] をクリックし、ビジネス要件に基づいて 1 つ以上の条件を追加します。 Cookie、ヘッダー、パラメーター の各タイプに基づいて条件を追加できます。
この例では、次の条件が追加されています。
パラメータータイプは パラメーター で、条件は env=red です。条件が満たされると、トラフィックは V1.0 で実行されているアプリケーションにルーティングされます。
パラメータータイプは パラメーター で、条件は env=blue です。条件が満たされると、トラフィックは V2.0 で実行されているアプリケーションにルーティングされます。
レーンを作成すると、レーンは [エンドツーエンド トラフィック調整] ページの [フロー制御分散] セクションに表示されます。 レーン名、トラフィック調整ルール、およびマークされたトラフィックを受信するアプリケーションが正しいことを確認します。 レーンに関する情報を変更する場合は、[編集] をクリックして情報を変更します。
(オプション) さらにレーンを作成するには、[レーンを作成] を [フロー制御分散] セクションでクリックし、関連パラメーターを構成します。
説明レーン グループには最大 5 つのレーンを含めることができます。
特定のアプリケーションにトラフィックがルーティングされていることを確認する
管理するイングレスアプリケーションまたはイングレスゲートウェイにバインドされているSLBインスタンスのエンドポイントを取得します。
[アプリケーション] ページで、イングレスアプリケーションまたはイングレスゲートウェイの名前をクリックします。
[アクセス構成] セクションの [アプリケーション概要] ページで、SLB インスタンスのエンドポイントをコピーします。
ブラウザーまたはその他のツールを使用して、レーン グループのレーン内のアプリケーションに複数回アクセスします。
たとえば、ブラウザーのアドレスバーに http://ip:prt/**?env=red と入力して、トランザクションセンターアプリケーションに数回アクセスします。同じ結果が返された場合、特定の特性を持つトラフィックは、指定されたアプリケーションにルーティングされます。
入力した URL では、** はトラフィック調整ルールで指定したパスであり、env=red はトラフィック調整ルール内の条件です。
A2[172.20.**.**] -> B2[172.20.**.**] -> C[172.20.**.**]
同じアプリケーションの2つのバージョンを構成する
同じパッケージを使用して2つの同一のアプリケーションを作成し、アプリケーションに同じサービスを登録します。
いずれかのアプリケーションをレーンに追加します。レーン内のアプリケーションは、カナリアリリース環境で実行されます。次に、カナリアリリースバージョンのアプリケーションのパッケージを使用して、カナリアリリース環境に新しいアプリケーションをデプロイします。