Network Load Balancer (NLB) では、異なるリージョンの Elastic Compute Service (ECS) インスタンスをバックエンドサーバーとして追加できます。このトピックでは、NLB インスタンスを Cloud Enterprise Network (CEN) のトランジットルーターと併用し、クロスリージョンでリクエストを転送する方法を説明します。
シナリオ
ある企業は、China (Chengdu) リージョンに VPC (VPC1) を所有しています。この VPC には、NLB インスタンスと ECS インスタンス (ECS1) が含まれています。ECS1 は、クロスリージョン負荷分散をテストするためのクライアントとして動作します。また、この企業は他に 2 つの VPC を所有しています。China (Shanghai) の VPC2 と China (Qingdao) の VPC3 です。これらの VPC には、それぞれ ECS2 と ECS3 がデプロイされており、両方とも同じサービスを実行しています。
クロスリージョンの高可用性を実現するため、この企業は VPC2 と VPC3 内の ECS インスタンスを、VPC1 内の NLB インスタンスのバックエンドサーバーとして追加します。このガイドでは、リージョンをまたいで NLB インスタンスにバックエンドサーバーを追加する方法を説明します。
制限事項
バックエンドサーバーの制限事項
-
クロスリージョンのバックエンドサーバーは、IP アドレスを指定してのみ追加できます。
-
プライベート IP アドレスのみがサポートされています。パブリック IP アドレスは使用できません。
トランジットルーターと VPC の制限事項
Enterprise Edition のトランジットルーターは、指定されたゾーン内の vSwitch 上にエラスティックネットワークインターフェイス (ENI) を作成します。この ENI は、VPC から Enterprise Edition のトランジットルーターへのトラフィックのエントリポイントとして機能します。VPC を作成する際は、Enterprise Edition のトランジットルーターがサポートするゾーンに、少なくとも 1 つの vSwitch を作成する必要があります。詳細については、「Enterprise Editionのトランジットルーターがサポートするリージョンとゾーン」をご参照ください。
前提条件
-
開始する前に、次の表で説明するリソースが作成済みであることを確認してください。
-
これらのリソースの作成方法については、次のトピックをご参照ください。
-
ECS インスタンスの作成。ECS2 と ECS3 のセキュリティグループで、アプリケーションサービスポートへのインバウンドトラフィックが許可されていることを確認してください。このソリューションでは、ポート 80 を使用します。
ステップ 1: VPC のトランジットルーターへの接続
-
[CEN コンソール] にログインし、作成した CEN インスタンスの ID をクリックして、 ページに移動します。
-
TR1 インスタンスを見つけ、操作 列の 接続の作成 をクリックして VPC1 を TR1 に接続します。ピアネットワークインスタンスとの接続 ページで、次の表に示す主要なパラメーターを設定し、その他のパラメーターはデフォルト値のままにして、OK をクリックします。
パラメーター
説明
値
[インスタンスタイプ]
CEN にアタッチするネットワークインスタンスのタイプです。
VPC
[リージョン]
ネットワークインスタンスがあるリージョンです。この例では、VPC1 のリージョンです。
中国 (成都)
[リソース所有者 ID]
ネットワークインスタンスを所有するアカウントです。
自アカウント
[ネットワーク]
CEN にアタッチする VPC です。
VPC1
[vSwitch]
CEN にアタッチする vSwitch です。
VPC1 内の vSwitch
-
上記の手順を繰り返して、VPC2 を TR2 に、VPC3 を TR3 に接続します。
ステップ 2:リージョン間接続の作成
-
Cloud Enterprise Network (CEN) コンソールにログインし、インスタンス ID をクリックして、 ページに移動します。
-
TR1 インスタンスの右側にある接続の作成をクリックして、TR1 と TR2 間のリージョン間接続を作成します。 表に示すようにパラメーターを設定し、他の設定はデフォルト値のままにして、OKをクリックします。
パラメーター
説明
値
[インスタンスタイプ]
Cloud Enterprise Network にアタッチするネットワークインスタンスのタイプです。
[リージョン間接続]
[リージョン]
トランジットルーターがデプロイされているリージョンです。この例では、TR1 と同じリージョンです。
[China (Chengdu)]
[ピアリージョン]
ピアトランジットルーターがデプロイされているリージョンです。すでにトランジットルーターが存在するリージョンのみを選択できます。
[China (Shanghai)]
[帯域幅割り当てモード]
Cloud Data Transfer (CDT) を使用して、CEN におけるリージョン間トラフィックのコストを削減できます。CDT をまだ有効化していない場合は、CDT 課金へのアップグレード を推奨します。CDT の有効化は無料です。ビジネス要件に応じて帯域幅プランを選択することもできます。
[データ転送量課金]
-
上記の手順を繰り返し、TR1 と TR3 の間にリージョン間接続を作成します。
ステップ 3:NLB サーバーグループの設定
-
China (Chengdu) リージョンの Network Load Balancer (NLB) サーバーグループコンソールにログインし、 サーバーグループの作成 をクリックします。
-
次の表に従ってパラメーターを設定し、その他のパラメーターはデフォルト値のままにします。次に、 作成 をクリックします。
パラメーター
説明
値
[サーバーグループタイプ]
追加するバックエンドサーバーのタイプ。
IP
[サーバーグループ名]
-
test
VPC
サーバーグループが属する VPC。
VPC1
[リソースグループ]
サーバーグループが属するリソースグループ。
デフォルトリソースグループ
-
サーバーグループの [操作] 列で、 バックエンドサーバーの変更 をクリックし、次に IP アドレスの追加 をクリックします。
-
ECS2 と ECS3 の IP アドレスを追加します。次に、 次へ をクリックします。
-
ポートを ECS2 と ECS3 のアプリケーションサービスポート (例:ポート 80) に設定し、その他の設定はデフォルト値のままにします。次に、 OK をクリックします。
ステップ 4:NLBリスナーの設定
-
China (Chengdu) リージョンの Network Load Balancer (NLB) コンソールにログインします。インスタンスを見つけ、[操作] 列で リスナーの作成 をクリックします。
-
リスナープロトコルを TCP に、リスナーポートを (例: 80) に設定します。次へ をクリックします。
-
設定した IP ベースのサーバーグループを選択します。次へ をクリックします。
-
設定を確認し、送信 をクリックします。
ステップ5:結果の検証
-
ECS2 と ECS3 にテストアプリケーションをデプロイします。
-
中国 (上海) リージョンの ECS インスタンスコンソールにログインします。ECS2 インスタンスを見つけ、操作列の 接続 をクリックします。Workbench を使用してインスタンスにリモート接続します。
-
次のコマンドを実行して、ECS2 にテストアプリケーションをデプロイします。
-
中国 (青島) リージョンの ECS インスタンスコンソールにログインします。 ECS3 インスタンスを見つけ、[操作] 列の 接続 をクリックします。 Workbench を使用してインスタンスにリモート接続します。
-
次のコマンドを実行して、ECS3 にテストアプリケーションをデプロイします。
-
-
ECS1 から可用性をテストします。
-
中国 (成都) リージョンの ECS インスタンスコンソールにログインします。ECS1 インスタンスを見つけ、[操作] 列の 接続 をクリックします。Workbench を使用してインスタンスにリモート接続します。
-
sudo yum install -y telnetコマンドを実行して、Telnet をインストールします。 -
telnet <domain_name> <port>コマンドを実行します。 Connected to nlb-... を含む応答が返されると、NLB インスタンスがバックエンドサーバーにリクエストを転送できることを示します。[root@ym3ezdm85z35oijZ ~]# telnet xxx-xxx.cn-chengdu.elb.aliyuncs.com 80 Trying 172.16.xxx.xxx... Connected to xxx-xxx.cn-chengdu.elb.aliyuncs.com. Escape character is '^]'.
-
-
障害をシミュレートします。
-
ECS2 で
systemctl stop nginx.serviceコマンドを実行して、アプリケーションを停止します。 -
数分待ってから、ECS1 で再度
telnet <domain_name> <port>コマンドを実行します。引き続き Connected to nlb-... を含む応答が返されます。 -
ECS2 で
systemctl start nginx.serviceコマンドを実行してアプリケーションを再起動します。ECS3 でsystemctl stop nginx.serviceコマンドを実行してアプリケーションを停止します。 -
数分待ってから、ECS1 で再度
telnet <domain_name> <port>コマンドを実行します。次の出力に示すように、引き続き Connected to nlb-... を含む応答が返されます。[root@ym3ezdm85z35oijZ ~]# telnet xxx-xxx.cn-chengdu.elb.aliyuncs.com 80 Trying 172.16.xxx.xxx... Connected to xxx-xxx.cn-chengdu.elb.aliyuncs.com. Escape character is '^]'. -
この結果は、単一のバックエンドサーバーに障害が発生しても、NLB インスタンスの可用性が影響を受けないことを示します。
-
リソースのリリース
-
CEN インスタンスとトランジットルーター (TR) をリリースします。
-
CEN コンソールにログインします。cen-test CEN インスタンスの ID をクリックして、インスタンスの詳細ページを開きます。
-
TR1 インスタンスを削除します。
-
タブで、TR1 インスタンスの ID をクリックして、その詳細ページを開きます。
-
リージョン内接続数 タブで、接続済みの各ネットワークインスタンスについて、[操作] 列の デタッチ をクリックして確認します。
-
クロスリージョン接続 タブで、操作 列の 削除 をクリックして確認します。
-
CEN インスタンスの詳細ページに戻ります。TR1 インスタンスの右側にある削除をクリックして、確認します。
-
-
同じ手順で、TR2 と TR3 インスタンスを削除します。
-
CEN インスタンスページに戻ります。CEN インスタンスを探し、[操作] 列の 削除 をクリックし、確定します。
-
-
ECS インスタンスとそのセキュリティグループをリリースします。
-
ECS1 インスタンスとそのセキュリティグループを削除します。
-
中国 (成都) リージョンの ECS インスタンスコンソールにログインします。 ECS1 インスタンスを探し、[操作] 列の
アイコンをクリックして、リリース を選択します。 表示されたダイアログボックスで、選択を確定します。 -
中国 (成都) リージョンの ECS セキュリティグループコンソールにログインします。 ECS1 のカスタムセキュリティグループのチェックボックスを選択し、削除 をクリックします。
-
-
同じ手順で、ECS2 と ECS3 インスタンス、およびそれらのセキュリティグループを削除します。
-
-
DNS レコードを削除します。
詳細については、「DNS レコードの削除」をご参照ください。
-
NLB リソースをリリースします。
-
中国 (成都) リージョンの NLB インスタンスコンソールにログインします。 NLB インスタンスを探し、[操作]列の
アイコンをクリックし、リリース を選択します。 表示されたダイアログボックスで、選択を確定します。 -
中国 (成都) リージョンの NLB サーバーグループコンソールにログインします。サーバーグループを見つけ、操作列の
アイコンをクリックし、削除 を選択します。表示されたダイアログボックスで、選択を確定します。
-
-
VPC リソースをリリースします。
-
VPC コンソール (中国 (成都) リージョン) にログオンします。VPC の右側にある 削除 をクリックします。表示されたダイアログボックスで、強制削除のチェックボックスを選択して確認します。これにより、VPC とその vSwitch が削除されます。
-
中国 (上海) リージョンの VPC コンソールにログインします。 VPC の右側にある削除をクリックします。 表示されたダイアログボックスで、強制削除チェックボックスを選択して確定します。 これにより、VPC とその vSwitch が削除されます。
-
VPC コンソール (中国 (青島) リージョン) にログオンします。 VPC の右側にある 削除 をクリックします。 表示されたダイアログボックスで、強制削除チェックボックスを選択して確認すると、VPC とその vSwitch が削除されます。
-