Elastic Compute Service (ECS) クラスター上のアプリケーションに、異なるバージョンまたはサービスを実行している複数のインスタンスグループがある場合、URL ベースの転送ポリシーを使用して、特定パスからのリクエストを特定のインスタンスグループにルーティングできます。転送ポリシーがない場合、Server Load Balancer (SLB) インスタンスはすべてのグループにトラフィックをランダムに分散します。転送ポリシーを使用すると、各リクエストは URL パスに一致するグループに到達します。
このトピックでは、次の方法を学習します。
アプリケーションのインスタンスグループの vServer グループを設定します。
パスごとにトラフィックを振り分ける URL ベースの転送ポリシーを作成します。
各パスが正しいインスタンスグループに到達することを確認します。
URL ベースの転送の仕組み
SLB インスタンスを ECS クラスターにデプロイされたアプリケーションに関連付けた後、トラフィックの動作は転送ポリシーが設定されているかどうかに依存します。
| 設定 | トラフィックの動作 |
|---|---|
| 転送ポリシーなし | トラフィックはすべてのインスタンスグループにランダムに分散されます |
| 転送ポリシーが設定されている場合 | SLB インスタンスは、URL パスに一致するインスタンスグループに各リクエストをルーティングします |
例: 高トラフィックサービスの分離
注文システムは、プロダクトクエリのために o.domain.com/orders/queryitem を公開しています。タイムセール中、このエンドポイントは他のサービスよりもはるかに多くのトラフィックを受信します。
スパイクを処理するために、プロダクトクエリサービスを専用のタイムセールインスタンスグループにデプロイし、他のサービスはデフォルトグループに保持します。次に、/orders/queryitem をタイムセールグループにルーティングする転送ポリシーを作成します。他のすべてのリクエストはデフォルトグループにフォールバックします。

前提条件
開始する前に、以下を確認してください。
SLB インスタンス。詳細については、「CLB インスタンスの作成」をご参照ください。
アプリケーション用に少なくとも2つのインスタンスグループ。詳細については、「アプリケーションインスタンスグループの作成」をご参照ください。
アプリケーションインスタンスに関連付けられた SLB インスタンス。詳細については、「アプリケーション専用の SLB インスタンスの設定」をご参照ください。
vServer グループと転送ポリシーの設定
各インスタンスグループについて、次のステップを繰り返します。各インスタンスグループには異なる vServer グループが必要です。
vServer グループは、1つのアプリケーションまたはアプリケーショングループのみに関連付けることができます。
EDAS コンソールにログインします。
左側のナビゲーションウィンドウで、アプリケーション管理 > アプリケーション を選択します。
[アプリケーション] ページで、対象のリージョンと microservices namespace を選択します。[クラスタータイプ] ドロップダウンリストから、ECS クラスター を選択します。アプリケーションの名前をクリックします。
[基本情報]タブで、[インスタンス情報]タブをクリックします。
ターゲットインスタンスグループを見つけます。グループの右上隅で、[グループ設定] をクリックし、[パブリック向け SLB インスタンス情報] を選択します。
[グループ設定] ダイアログボックスで、vServer グループと転送ポリシーを設定します:
オプション A: 既存の vServer グループを使用する
[既存の VServer グループ] を選択し、リストから vServer グループを選択します。
転送ポリシーを設定します。
既存の転送ポリシーを再利用するには、[現在の VServer グループの転送ポリシーを変更] を選択してポリシーを選びます。
新しい転送ポリシーを作成するには、[転送ポリシーの追加] を選択し、[転送ポリシー] フィールドにドメイン名とパスルールを入力します。
オプション B: 新しい vServer グループを作成する
[VServer グループの作成] を選択し、[VServer グループ名] フィールドに名前を入力します。
[転送ポリシーの追加] を選択し、[転送ポリシー] フィールドにドメイン名とパスルールを入力します。
[次へ] をクリックします。
[SLB 変更オーダー] ステップで、[確認] をクリックします。
残りの各インスタンスグループについて、ステップ 5 から 8 を繰り返します。
結果の確認
すべてのインスタンスグループに転送ポリシーを設定した後、トラフィックが正しいグループに到達することを確認します。
EDAS コンソールから SLB インスタンスのパブリック IP アドレスまたはドメインを取得します。
転送ポリシーでカバーされているパスにリクエストを送信します。例えば、
/orders/queryitemがタイムセールグループにルーティングされる場合、応答はタイムセールグループのインスタンスから来るはずです。curl http://<SLB-public-IP>/orders/queryitemどの転送ポリシーでもカバーされていないパスにリクエストを送信します。応答はデフォルトグループのインスタンスから来るはずです。
curl http://<SLB-public-IP>/other-pathすべてのルールが期待どおりに機能することを確認するために、各転送ポリシーについて繰り返します。