Network Load Balancer (NLB) を使用すると、リージョン間でバックエンドサーバーとしてElastic Compute Service (ECS) インスタンスを追加できます。 このトピックでは、Cloud Enterprise Network (CEN) インスタンスのNLBインスタンスとトランジットルーターを使用して、他のリージョンのサーバーにリクエストを転送する方法について説明します。
シナリオ
企業は、中国 (成都) リージョンにVPC1という名前の仮想プライベートクラウド (VPC) を作成し、VPC1にNLBインスタンスとECS1という名前のECSインスタンスを作成します。 ECS1は、クロスリージョン負荷分散をテストするためのクライアントとして使用されます。 さらに、中国 (上海) リージョンにVPC2という名前のVPCを作成し、中国 (青島) リージョンにVPC3という名前のVPCを作成します。 企業は、VPC2にECS2という名前のECSインスタンスを、VPC3にECS3という名前のECSインスタンスを作成し、ECS2とECS3に同じサービスをデプロイします。
企業は、VPC2およびVPC3のECSインスタンスをVPC1のNLBインスタンスにバックエンドサーバーとして追加して、クロスリージョンの高可用性を実現したいと考えています。 企業は、次の図に示すソリューションを使用して、複数のリージョンを超えてNLBインスタンスにバックエンドサーバーを追加できます。
制限事項
バックエンドサーバーの制限
別のリージョンのNLBインスタンスにECSインスタンスを追加する場合は、IPタイプのサーバーグループにECSインスタンスを追加する必要があります。
IPアドレスを指定してバックエンドサーバーを追加する場合、プライベートIPアドレスのみを指定できます。 パブリックIPアドレスは指定できません。
トランジットルーターとVPCの制限
Enterprise EditionトランジットルーターをVPCに関連付けると、elastic network Interface (ENI) が自動的に作成されます。 次に、ENIが各ゾーンのvSwitchにアタッチされます。 ENIは、VPCからEnterprise Editionトランジットルーターにネットワークトラフィックを転送するために使用されます。 VPCを作成するときは、Enterprise Editionトランジットルーターの各ゾーンに少なくとも1つのvSwitchを指定する必要があります。 これにより、ネットワークトラフィックをVPCからトランジットルーターにルーティングできます。 詳細については、「トランジットルーターの仕組み」をご参照ください。
前提条件
次の表に示すリソースが作成されます。
上記の表で説明したリソースを手動で作成する方法の詳細については、次のトピックを参照してください。
ウィザードを使用したインスタンスの作成ECS2およびECS3のセキュリティグループでは、ECS2およびECS3にデプロイするアプリケーションのポートをネットワークトラフィックが通過できるようにする必要があります。 この例では、80が使用されます。
ドメイン名が登録され、そのドメイン名のインターネットコンテンツプロバイダ (ICP) 番号が取得され、カスタムドメイン名をNLBインスタンスのドメイン名にマッピングするためのCNAMEレコードが作成されます。 詳細については、「汎用ドメイン名の登録」、「ICPファイリングプロセス」、および「NLBを使用してIPv4サービスの負荷を分散する」をご参照ください。
手順1: VPCをトランジットルーターに接続する
CEN コンソールにログインします。 管理するCENインスタンスのIDをクリックします。 基本設定タブのトランジットルータータブが表示されます。
[トランジットルーター] タブで、TR1を見つけ、[操作] 列の [接続の作成] をクリックします。 [ピアネットワークインスタンスとの接続] ページで、次の表に記載されているパラメーターを設定し、他のパラメーターにはデフォルト値を使用します。 [OK] をクリックします。
パラメーター
説明
例
[インスタンスタイプ]
CENにアタッチするネットワークインスタンスのタイプ。
VPC
リージョン
ネットワークインスタンスが存在するリージョン。 この例では、VPC1がデプロイされているリージョンが選択されています。
中国 (成都)
リソース所有者ID
ネットワークインスタンスが属するピアアカウントのID。
現在のアカウント
ネットワークインスタンスとVSwitch
CENにアタッチするVPC。
VPC1とそのvSwitch
前の手順を繰り返して、VPC2をTR2に、VPC3をTR3に接続します。
手順2: リージョン間接続の作成
CEN コンソールにログインします。 管理するCENインスタンスのIDをクリックします。 基本設定タブのトランジットルータータブが表示されます。
TR1を見つけ、[操作] 列の [接続の作成] をクリックして、TR1とTR2の間にリージョン間接続を作成します。 [ピアネットワークインスタンスとの接続] ページで、次の表に記載されているパラメーターを設定し、他のパラメーターにはデフォルト値を使用します。 [OK] をクリックします。
パラメーター
説明
例
[インスタンスタイプ]
CENにアタッチするネットワークインスタンスのタイプ。
リージョン間接続
リージョン
ネットワークインスタンスが存在するリージョン。 この例では、TR1が配置される領域が選択される。
中国 (成都)
ピアリージョン
ピア中継ルータがデプロイされているリージョン。 選択できるリージョンには、トランジットルーターが含まれている必要があります。
中国 (上海)
帯域幅割り当てモード
クラウドデータ転送 (CDT) を使用して、CENのリージョン間トラフィックコストを削減できます。 CDTを有効にすることを推奨します。 アクティベーション操作に対して課金されません。 詳細については、「クイックスタート」をご参照ください。 ビジネス要件に基づいて帯域幅プランを選択することもできます。
ペイ・バイ・データ転送
前述の手順を繰り返して、TR1とTR3の間にリージョン間接続を作成します。
手順3: NLBインスタンスのサーバーグループの設定
NLBコンソールにログインし、NLBインスタンスが存在するリージョンを選択し、管理するNLBインスタンスのIDをクリックします。 [サーバーグループ] ページで、[サーバーグループの作成] をクリックします。
次の表で説明するパラメーターを設定します。 他のパラメーターにはデフォルト値を使用します。 次に、[作成] をクリックします。
パラメーター
説明
例
サーバーグループタイプ
サーバーグループに追加するバックエンドサーバーのタイプ。
IP
サーバーグループ名
-
test
[VPC]
サーバーグループが属するVPC。
VPC1
リソースグループ
サーバグループが属するリソースグループ。
デフォルトのリソースグループ
サーバーグループの作成後、サーバーグループの [操作] 列で [バックエンドサーバーの変更] をクリックします。 [バックエンドサーバー] タブで、[IPアドレスの追加] をクリックします。
IPアドレスを追加します。 [サーバーの選択] ステップで、IP AddressパラメーターをECS2とECS3のIPアドレスに設定し、[次へ] をクリックします。
ポート /重みステップで、ポートパラメータをECS2およびECS3にデプロイするアプリケーションのポートに設定します。 この例では、80が使用されます。 他のパラメーターにはデフォルト値を使用します。 [OK] をクリックします。
手順4: NLBインスタンスのリスナーの設定
NLBコンソールにログインし、管理するNLBインスタンスのリージョンを選択します。 [インスタンス] ページで、管理するNLBインスタンスを見つけ、[操作] 列の [リスナーの作成] をクリックします。
[リスナーの設定] ステップで、リスナープロトコルパラメーターをTCPに設定し、リスナーポートパラメーターを設定します。 この例では、80が使用されます。 [次へ] をクリックします。
[サーバーグループの選択] ステップで、設定したIPタイプのサーバーグループを選択します。 [次へ] をクリックします。
[設定レビュー] ステップで、設定情報を確認し、[送信] をクリックします。
ステップ5: Verify the results
ECS2およびECS3にテストアプリケーションをデプロイする。
ECSコンソールにログインし、中国 (上海) リージョンを選択します。 [インスタンス] ページでECS2を見つけ、[操作] 列の [接続] をクリックします。 [リモート接続] ダイアログボックスで、[今すぐサインイン] をクリックします。
次のコマンドを実行して、ECS2にテストアプリケーションをデプロイします。
ECSコンソールにログインし、中国 (青島) リージョンを選択します。 [インスタンス] ページでECS3を見つけ、[操作] 列の [接続] をクリックします。 [リモート接続] ダイアログボックスで、[今すぐサインイン] をクリックします。
次のコマンドを実行して、ECS3にテストアプリケーションをデプロイします。
ECS1でネットワーク接続をテストする
ECSコンソールにログインし、中国 (成都) リージョンを選択します。 [インスタンス] ページでECS1を見つけ、[操作] 列の [接続] をクリックします。 [リモート接続] ダイアログボックスで、[今すぐサインイン] をクリックします。
sudo yum install -y telnet
コマンドを実行してtelnetをインストールします。telnet Domain name Port
コマンドを実行します。 メッセージがnlbに接続-...次の図に示すように、形式が返されると接続が確立され、NLBインスタンスはバックエンドサーバーにリクエストを転送できます。
失敗をシミュレートします。
ECS2で
systemctl stop nginx.service
コマンドを実行し、アプリケーションを停止します。数分待ってから、ECS1で
telnet Domain name Port
コマンドを再度実行します。 のメッセージnlbに接続-...次の図に示すように、形式が返されます。ECS2で
systemctl start nginx.service
コマンドを実行してアプリケーションを起動し、ECS3でsystemctl stop nginx.service
コマンドを実行してアプリケーションを停止します。数分待ってから、ECS1で
telnet Domain name Port
コマンドを再度実行します。 のメッセージnlbに接続-...次の図に示すように、形式が返されます。これは、単一のバックエンドサーバーの障害がNLBインスタンスの可用性に影響を与えないことを示しています。
リリースリソース
CENインスタンスと中継ルータをリリースします。
CEN コンソールにログインします。 [インスタンス] ページで、リリースするCENインスタンスを見つけ、インスタンスIDをクリックします。 インスタンスの詳細ページが表示されます。
TR1を削除する。
[基本設定]> [トランジットルーター] タブに移動し、TR1を見つけてIDをクリックし、トランジットルーターの詳細ページに移動します。
[イントラリージョン接続] タブで、各ネットワークインスタンスの [操作] 列で [デタッチ] をクリックします。
[クロスリージョン接続] タブで、リージョン間接続の [操作] 列の [削除] をクリックします。
CENインスタンスの詳細ページに戻ります。 TR1の [操作] 列で [削除] をクリックします。
前の手順を繰り返してTR2とTR3を削除します。
インスタンスページに戻り、CENインスタンスの [操作] 列で [削除] をクリックします。
ECSインスタンスとセキュリティグループをリリースします。
DNSレコードを削除します。 詳細については、「DNSレコードの削除」をご参照ください。
NLBインスタンスとそのサーバーグループを解放します。
VPCをリリースします。
VPCコンソールにログインし、中国 (成都) リージョンを選択します。 VPCページでVPC1を見つけ、[操作] 列の [削除] をクリックします。 表示されるメッセージで、[強制削除] を選択してVPCとそのvSwitchをリリースします。
VPCコンソールにログインし、中国 (上海) リージョンを選択します。 VPCページでVPC2を見つけ、[操作] 列の [削除] をクリックします。 表示されるメッセージで、[強制削除] を選択してVPCとそのvSwitchをリリースします。
VPCコンソールにログインし、中国 (青島) リージョンを選択します。 VPCページでVPC3を見つけ、[操作] 列の [削除] をクリックします。 表示されるメッセージで、[強制削除] を選択してVPCとそのvSwitchをリリースします。