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

Server Load Balancer:異なるリージョンの VPC にあるバックエンドサーバーを ALB に指定する

最終更新日:Mar 21, 2025

このトピックでは、Application Load Balancer (ALB) に異なるリージョンの VPC にあるバックエンドサーバーを指定して、効率的なトラフィック分散を実現し、サービスシステムを最適化する方法について説明します。

シナリオ例

E コマース企業は、主にオンラインプラットフォームで製品の販売促進と販売を行っています。企業は、中国 (成都) リージョンに Elastic Compute Service (ECS) インスタンスをビジネスのバックエンドサーバーとして所有しています。ほとんどの場合、この ECS インスタンスは受信トラフィックを適切に処理できます。ただし、ショッピングシーズン中はトラフィックが急増し、ECS インスタンスのコンピューティング能力を超える可能性があります。

この問題を解決するために、企業は Cloud Enterprise Network (CEN) インスタンスを持つ ALB インスタンスを使用して、中国 (杭州) リージョンにデプロイされている別の ECS インスタンスをビジネスネットワークに接続します。転送ルータを使用すると、異なるリージョンの VPC を大きな労力をかけずにプライベート接続できます。このプライベート接続に基づいて、ALB は 中国 (成都) リージョンと 中国 (杭州) リージョンの両方のバックエンドサーバーを含む IP アドレスの種類のサーバーグループを持つことができます。ALB はリクエストを 2 つのサーバーに分散し、システムの負荷分散と応答速度を向上させます。

制限事項

説明

バックエンドサーバー

  • 異なるリージョンにデプロイされたバックエンドサーバーを含むサーバーグループは、IP アドレスの種類である必要があります。

  • プライベート IP アドレスのみを追加できます。パブリック IP アドレスはサポートされていません。

  • IPv6 アドレスをバックエンドサーバーとして指定する場合、サーバーグループで IPv6 を有効にする必要があります。次の項目に注意してください。

    • VPC で IPv6 が有効になっている 場合のみ、サーバーグループで IPv6 を有効にできます。

    • デュアルスタックの アップグレードされた ALB インスタンス のリスナーまたは転送ルールでのみ IPv6 アドレスを指定できます。アップグレードされていないインスタンスはこの機能をサポートしていません。

    • サーバーグループで IPv6 が有効になっている場合、VPC の CIDR 範囲内の IPv6 アドレスのみを指定できます。リモート IP アドレスはサポートされていません。

ALB とバックエンドサーバー間のトラフィック転送

  • ALB サービス用に Enterprise Edition 転送ルータを構成する場合、転送ルータは指定したゾーンの vSwitch 内に Elastic Network Interface (ENI) を作成します。ENI は、VPC からトラフィックを受信するための転送ルータの入口として機能します。したがって、選択したゾーンで少なくとも 1 つの vSwitch が使用可能であることを確認してください。詳細については、「転送ルータの仕組み」をご参照ください。

  • ALB サービスがデプロイされている VPC で、ALB とバックエンドサーバー間のトラフィック転送用のカスタムルートテーブルをカスタマイズすることはできません。システムルートテーブルのみが許可されます。

前提条件

  • 中国 (成都) リージョンに VPC (VPC1) が作成されます。別の VPC (VPC2) が 中国 (杭州) リージョンに作成されます。

    • VPC1 には 2 つの vSwitch (VSW1 と VSW2) が作成されます。VSW1 はゾーン A に、VSW2 はゾーン B にデプロイされます。

    • VPC2 には 2 つの vSwitch (VSW3 と VSW4) が作成されます。VSW3 はゾーン H に、VSW4 はゾーン I にデプロイされます。

    • 次の表は、ネットワークセグメントの計画方法を示しています。ビジネス要件に基づいて CIDR ブロックを計画できます。CIDR ブロックが互いに重複していないことを確認してください。

      リージョン

      VPC

      vSwitch

      vSwitch ゾーン

      CIDR ブロック

      中国 (成都)

      VPC1

      プライマリ CIDR ブロック: 172.16.0.0/12

      VSW1

      ゾーン A

      172.16.1.0/24

      VSW2

      ゾーン B

      172.16.2.0/24

      中国 (杭州)

      VPC2

      プライマリ CIDR ブロック: 192.168.0.0/16

      VSW3

      ゾーン H

      192.168.1.0/24

      VSW4

      ゾーン I

      192.168.2.0/24

  • アプリケーションがデプロイされた ECS インスタンス (ECS01) が VSW1 に、ECS インスタンス (ECS02) が VSW3 に作成されます。

    ECS にサンプルアプリケーションをデプロイするコマンドを表示するには、クリックします

    ECS01:

    yum install -y nginx
    systemctl start nginx.service
    cd /usr/share/nginx/html/
    // 成都 ECS01 にサンプルアプリケーションをデプロイします。
    echo "Hello World ! This is chengdu ECS01." > index.html

    ECS02:

    yum install -y nginx
    systemctl start nginx.service
    cd /usr/share/nginx/html/
    // 杭州 ECS02 にサンプルアプリケーションをデプロイします。
    echo "Hello World ! This is hangzhou ECS02." > index.html
  • インターネットに接続する ALB インスタンス が VPC1 に作成されます。

  • カスタムドメイン名が 登録 され、インターネットコンテンツプロバイダー (ICP) 番号 がドメイン名に対して取得され、CNAME レコード が作成されて、ドメイン名が ALB インスタンスのドメイン名にマッピングされます。

  • CEN インスタンスが作成され、それぞれ 中国 (成都) リージョンと 中国 (杭州) リージョンに 転送ルータ がデプロイされます。

手順

手順 1: ALB インスタンスのサーバーグループを作成する

IP アドレスの種類のサーバーグループを作成し、ECS01 と ECS02 の IP アドレスをバックエンドサーバーとしてサーバーグループに追加します。

  1. ALB コンソール にログオンします。

  2. 上部のナビゲーションバーで、ALB インスタンスが存在するリージョンを選択します。この例では、[中国 (成都)] が選択されています。

  3. 左側のナビゲーションウィンドウで、[ALB] > [サーバーグループ] を選択します。

  4. [サーバーグループ] ページで、[サーバーグループの作成] をクリックします。[サーバーグループの作成] ダイアログボックスで、パラメータを構成し、[作成] をクリックします。

    次の表を参照して主要なパラメータを構成し、その他のパラメータにはデフォルト値を保持します。すべてのパラメータの構成手順については、「サーバーグループの作成と管理」をご参照ください。

    パラメータ

    説明

    [サーバーグループの種類]

    [IP] を選択します。

    [VPC]

    VPC1 を選択します。

    [バックエンドサーバープロトコル]

    [HTTP] を選択します。

    説明

    ベーシック ALB インスタンスの HTTPS リスナーでは、[バックエンドサーバープロトコル][HTTP] であるサーバーグループのみを指定できます。

    [スケジューリングアルゴリズム]

    デフォルト値の [加重ラウンドロビン] を保持します。スケジューリングアルゴリズムの詳細については、「SLB スケジューリングアルゴリズム」をご参照ください。

  5. 表示されるダイアログボックスで、[バックエンドサーバーの追加] をクリックします。

  6. [バックエンドサーバーの追加] パネルで、ECS01 のプライベート IP アドレスを入力し、[次へ] をクリックし、[ポート][重み] を設定し、[OK] をクリックします。

    [ポート] には、バックエンドサーバーがサービスを提供するために使用するポートを指定します。この例では、[80] を指定します。

    [重み] には、デフォルト値を保持します。

  7. [IP アドレスの追加] をクリックします。ECS02 のプライベート IP アドレスを入力し、[リモート IP] を有効にし、[次へ] をクリックし、[ポート][重み] を設定し、[OK] をクリックします。

    [リモート IP] が有効になっている場合、次の CIDR 範囲内の IP アドレスをバックエンドサーバーとして追加できます。

    • 10.0.0.0/8

    • 100.64.0.0/10

    • 172.16.0.0/12

    • 192.168.0.0/16

    [リモート IP] が無効になっている場合、VPC の CIDR 範囲内の IP アドレスのみを追加できます。

手順 2: ALB インスタンスのリスナーを構成する

  1. ALB コンソール にログオンします。

  2. 上部のナビゲーションバーで、ALB インスタンスが存在するリージョンを選択します。この例では、[中国 (成都)] が選択されています。

  3. [インスタンス] ページで、ALB インスタンスを見つけ、[アクション] 列の [リスナーの作成] をクリックします。

  4. [サーバーロードバランサーの構成] ページの [リスナーの構成] ステップで、パラメータを設定し、[次へ] をクリックします。

    次の表を参照して主要なパラメータを構成し、その他のパラメータにはデフォルト値を保持します。

    パラメータ

    説明

    [リスナープロトコル]

    [HTTP] を選択します。

    [リスナーポート]

    ALB インスタンスがリッスンするポートを入力します。ALB インスタンスは指定されたポートでリクエストをリッスンし、リクエストをバックエンドサーバーに転送します。有効値: 1 ~ 65535 。この例では、80 が指定されています。

  5. [サーバーグループの選択] ステップで、[サーバーグループ] セクションのドロップダウンリストから [IP] を選択し、手順 1 で作成したサーバーグループを選択し、[次へ] をクリックします。

  6. [構成のレビュー] ステップで、構成を確認し、[送信] をクリックします。

手順 3: VPC を CEN インスタンスに接続する

VPC1 を 中国 (成都) リージョンにデプロイされた転送ルータに接続し、VPC2 を 中国 (杭州) リージョンにデプロイされた転送ルータに接続します。転送ルータは、リージョンをまたがるプライベートネットワークを介して VPC を接続し、ALB が異なるリージョンにあるバックエンドサーバーにクライアントリクエストを転送できるようにします。

  1. CEN コンソール にログオンします。

  2. [インスタンス] ページで、作成した CEN インスタンスの ID をクリックします。

  3. [基本情報] > [転送ルータ] タブで、中国 (成都) リージョンの転送ルータを見つけ、[アクション] 列の [接続の作成] をクリックします。

  4. [ピアネットワークインスタンスとの接続] ページで、パラメータを設定し、[OK] をクリックします。

    次の表を参照して、このケースに関連するパラメータを構成し、その他のパラメータにはデフォルト値を保持します。すべてのパラメータの構成手順については、「Enterprise Edition 転送ルータを使用する」をご参照ください。

    パラメータ

    説明

    [インスタンスタイプ]

    この例では、Virtual Private Cloud (VPC) が選択されています。

    [リージョン]

    ネットワークインスタンスが作成されるリージョンを選択します。この例では、[中国 (成都)] が選択されています。

    [ネットワークインスタンス]

    CEN インスタンスに接続する VPC の ID を選択します。この例では、VPC1 が選択されています。

    [vswitch]

    Enterprise Edition 転送ルータでサポートされているゾーンにデプロイされている vSwitch を選択します。この例では、VSW1 と VSW2 が選択されています。

  5. [さらに接続を作成] をクリックし、次の表を参照してパラメータを構成します。

    パラメータ

    説明

    [インスタンスタイプ]

    [virtual Private Cloud (VPC)] を選択します。

    [リージョン]

    [中国 (杭州)] を選択します。

    [ネットワークインスタンス]

    VPC2 を選択します。

    [vswitch]

    VSW3 と VSW4 を選択します。

手順 4: リージョン間接続を作成する

異なるリージョンにデプロイされた転送ルータ間にリージョン間接続を作成して、VPC1 と VPC2 を接続します。

  1. CEN コンソール にログオンします。

  2. [インスタンス] ページで、作成した CEN インスタンスの ID をクリックします。

  3. [基本情報] > [転送ルータ] タブで、中国 (成都) リージョンの転送ルータを見つけ、[アクション] 列の [接続の作成] をクリックします。

  4. [ピアネットワークインスタンスとの接続] ページで、パラメータを構成し、[OK] をクリックします。

    次の表を参照して主要なパラメータを構成し、その他のパラメータにはデフォルト値を保持します。すべてのパラメータの構成手順については、「Enterprise Edition 転送ルータを使用してリージョン間接続を作成する」をご参照ください。

    パラメータ

    説明

    [インスタンスタイプ]

    [リージョン間接続] を選択します。

    [リージョン]

    指定した転送ルータがデプロイされているリージョンを選択します。この例では、[中国 (成都)] が選択されています。

    [ピアリージョン]

    ピア転送ルータがデプロイされているリージョンを選択します。この例では、[中国 (杭州)] が選択されています。

    [帯域幅割り当てモード]

    [データ転送ごとの支払い] を選択します。

    Cloud Data Transfer (CDT) を使用して、リージョンをまたがる転送ルータ間のデータ転送のコストを削減できます。このサービスをアクティブにするには、「はじめに」をご参照ください。CDT のアクティブ化は無料です。帯域幅プランの使用も検討できます。

手順 5: 負荷分散システムをテストする

ALB が ECS01 と ECS02 の両方にリクエストを転送できるかどうかを確認します。

  1. ALB とバックエンドサーバー間のネットワーク接続をテストします。

    ローカル PC のブラウザでサービスのドメイン名にアクセスします (例: http://<ドメイン名>)。ページを数回更新します。クライアントが期待どおりに応答を受信し、アクセスされるサーバーが ECS01 と ECS02 の間で交互に切り替わることを確認できます。

    image

    image

  2. バックエンドサーバーの障害をシミュレートし、ALB をテストします。

    1. ECS01 で systemctl stop nginx.service コマンドを実行して、デプロイされているアプリケーションを停止します。

    2. ローカル PC のブラウザでサービスのドメイン名にアクセスします (例: http://<ドメイン名>)。クライアントが引き続き期待どおりに応答を受信する場合、ALB は異なるリージョンにデプロイされたバックエンドサーバー間で負荷分散を実装します。

      image

よくある質問

アップグレードされていない ALB インスタンスでこのユースケースを実装するにはどうすればよいですか?

アップグレードされていない ALB インスタンスの手順は、次の図に示すように、手順 5 を除いて、上記の手順と基本的に同じです。VPC1、VPC2、および転送ルータのルートを構成し、ECS インスタンスのセキュリティグループルールを構成する必要があります。詳細な操作については、「手順 5: ルートとセキュリティグループルールを構成する」をご参照ください。

  • 制限事項

    バックエンドサーバー

    • これらのリージョンとゾーンでは、リモート IP アドレスをバックエンドサーバーとして追加できます: リージョンとゾーン

    • IP タイプのサーバーグループのみが、リージョンをまたがってデプロイされたバックエンドサーバーの追加をサポートしています。

    • プライベート IP アドレスのみを追加できます。パブリック IP アドレスはサポートされていません。

    • 同じ VPC 内の ALB インスタンス、Network Load Balancer (NLB) インスタンス、または Classic Load Balancer (CLB) インスタンスをバックエンドサーバーとして追加することはできません。

    ALB とバックエンドサーバー間のトラフィック転送

    • リージョン間の転送には、Enterprise Edition 転送ルータと Express Connect 回線を使用できます。Basic Edition 転送ルータはサポートされていません。

    • ALB サービス用に Enterprise Edition 転送ルータを構成する場合、転送ルータは指定したゾーンの vSwitch 内に ENI を作成します。ENI は、VPC からトラフィックを受信するための転送ルータの入口として機能します。したがって、選択したゾーンで少なくとも 1 つの vSwitch が使用可能であることを確認してください。詳細については、「転送ルータの仕組み」をご参照ください。

    • ループが存在しないことを確認します。ALB は各リクエストに ALICLOUD-ALB-TRACE HTTP ヘッダーを追加してループを検出します。ループが検出された場合、ALB はバックエンドサーバーへのリクエストの転送を停止し、ネットワークストームが発生してすべてのリソースを使い果たした場合に備えて 463 状態コードを返します。

    • 同じ CEN インスタンスの場合、各リージョンには、1 つ以上の ALB インスタンスが異なるリージョンにデプロイされたバックエンドサーバーを使用する VPC を 1 つだけ持つことができます。

      • 同じリージョン内の異なる VPC にある ALB インスタンスは、同じ転送ルータを使用してバックエンドサーバーにアクセスすることはできません。

      • 同じリージョン内の異なる VPC にある ALB インスタンスは、異なる転送ルータを使用して同じバックエンドサーバーにアクセスすることはできません。

    • ALB インスタンスとそのバックエンドサーバー間のネットワークトラフィックは、システムルートテーブルのみに基づいてルーティングできます。VPC カスタムルートテーブルはサポートされていません。

  • 手順 5: ルートとセキュリティグループルールを構成する

    1. VPC1 のシステムルートテーブルにルートを追加します。

      VPC1 のシステムルートテーブルに、VPC2 宛てのトラフィックを VPC1 に接続された転送ルータに転送するルートが含まれているかどうかを確認します。トラフィックを転送ルータに転送するルートがない場合は、次の操作を実行してルートを追加します。

      説明

      ALB とバックエンドサーバー間のネットワークトラフィックは、システムルートテーブルのみに基づいてルーティングできます。VPC のカスタムルートテーブルはサポートされていません。

      1. VPC コンソール にログオンします。

      2. [VPC] ページで、VPC1 の ID をクリックします。

      3. VPC1 の詳細ページで、[リソース] タブをクリックし、[ルートテーブル] の下の数字をクリックします。

      4. [ルートテーブル] ページで、[ルートテーブルの種類][システム] であるルートテーブルを見つけ、その ID をクリックします。

      5. ルートテーブルの詳細ページで、[ルートエントリリスト] > [カスタムルート] を選択し、[ルートエントリの追加] をクリックします。

      6. [ルートエントリの追加] パネルで、次の表を参照してパラメータを構成し、[OK] をクリックします。

        パラメータ

        説明

        [宛先 CIDR ブロック]

        宛先 CIDR ブロックを入力します。この例では、VPC2 の CIDR ブロック (192.168.0.0/16) が入力されます。

        [ネクストホップタイプ]

        ネクストホップのタイプを選択します。この例では、[転送ルータ] が選択されています。

        [転送ルータ]

        転送ルータを選択します。この例では、VPC1 に関連付けられている転送ルータが選択されています。

    2. 原点復帰ルートを構成します。

      1. ALB インスタンスの原点復帰ルートを表示します。

        1. ALB コンソール にログオンします。

        2. 上部のナビゲーションバーで、ALB インスタンスが存在するリージョンを選択します。この例では、[中国 (成都)] が選択されています。

        3. [インスタンス] ページで、VPC1 に作成された ALB インスタンスの ID をクリックします。

        4. [インスタンスの詳細] タブをクリックし、[原点復帰ルート] の横にある [表示] をクリックします。

      2. ALB の原点復帰ルートを VPC2 のシステムルートテーブルに追加します。

        1. VPC コンソール にログオンします。

        2. [VPC] ページで、VPC2 の ID をクリックします。

        3. VPC2 の詳細ページで、[リソース] タブをクリックし、[ルートテーブル] の下の数字をクリックします。

        4. [ルートテーブル] ページで、[ルートテーブルの種類][システム] であるルートテーブルを見つけ、その ID をクリックします。

        5. ルートテーブルの詳細ページで、[ルートエントリリスト] > [カスタムルート] を選択し、[ルートエントリの追加] をクリックします。

        6. [ルートエントリの追加] パネルで、次の表を参照してパラメータを構成し、[OK] をクリックします。

          パラメータ

          説明

          [宛先 CIDR ブロック]

          宛先 CIDR ブロックを入力します。この例では、ALB インスタンスの原点復帰ルートの宛先 CIDR ブロックが入力されます。ALB インスタンスに複数の原点復帰ルートがある場合は、上記の手順を繰り返してすべての原点復帰ルートを追加します。

          [ネクストホップタイプ]

          ネクストホップのタイプを選択します。この例では、[転送ルータ] が選択されています。

          [転送ルータ]

          転送ルータを選択します。この例では、VPC2 に関連付けられている転送ルータが選択されています。

      3. ALB の原点復帰ルートを VPC1 に関連付けられた転送ルータに追加します。

        1. CEN コンソール にログオンします。

        2. [インスタンス] ページで、作成した CEN インスタンスの ID をクリックします。

        3. [基本設定] > [転送ルータ] タブで、VPC1 に関連付けられている転送ルータの ID をクリックします。

        4. [ルートテーブル] タブで、原点復帰ルートを追加するルートテーブルの ID をクリックし、[ルートエントリ] タブをクリックし、[ルートエントリの追加] をクリックします。

        5. [ルートエントリの追加] ダイアログボックスで、次の表を参照してパラメータを構成し、[OK] をクリックします。

          パラメータ

          説明

          [ルートテーブル]

          現在のルートテーブルがデフォルトで選択されています。

          [転送ルータ]

          現在の転送ルータがデフォルトで選択されています。

          [宛先 CIDR ブロック]

          ルートの宛先 CIDR ブロックを入力します。この例では、ALB インスタンスの原点復帰ルートの宛先 CIDR ブロックが入力されます。ALB インスタンスに複数の原点復帰ルートがある場合は、上記の手順を繰り返してすべての原点復帰ルートを追加します。

          [ブラックホールルート]

          デフォルト値の [いいえ] を保持します。

          [ネクストホップ]

          ネクストホップを選択します。この例では、VPC1 に関連付けられている転送ルータが選択されています。

    3. ECS インスタンスのセキュリティグループルールを確認します。

      パケットは、原点復帰ルートの CIDR ブロックから ECS インスタンスに送信されます。ECS インスタンスのセキュリティグループルールで CIDR ブロックからのアクセスが許可されていることを確認します。この例では、ECS インスタンスのセキュリティグループにインバウンドルールを追加して、ALB の原点復帰 CIDR ブロック (100.64.0.0/10) からのアクセスを許可する必要があります。そうしないと、リージョンをまたがるバックエンドサービスへのアクセスは失敗します。詳細については、「セキュリティグループルールの追加」をご参照ください。

同じリージョン内の 2 つの VPC 間にピアリング接続を作成し、2 つの VPC のバックエンドサーバーを ALB に指定できますか?

はい、できます。

CEN を使用して異なるリージョンの VPC にあるバックエンドサーバーを指定する ALB の料金はどのように請求されますか?

ALB サービス と CEN サービスの料金が請求されます。CEN の請求情報については、「請求ルール」をご参照ください。

参考資料