ネットワークロードバランサー (NLB) を使用すると、Elastic Compute Service (ECS) インスタンスをリージョンをまたがるバックエンドサーバーとして追加できます。 このトピックでは、NLB インスタンスとクラウドエンタープライズネットワーク (CEN) インスタンスの転送ルーターを使用して、他のリージョンのサーバーにリクエストを転送する方法について説明します。
シナリオ
企業は中国 (成都) リージョンに 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 インスタンスを追加する場合、ECS インスタンスを IP タイプのサーバーグループに追加する必要があります。
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 が使用されます。
ステップ 1: VPC を転送ルーターに接続する
CEN コンソール にログインします。 管理する CEN インスタンスの ID をクリックします。 [基本情報] タブの [転送ルーター] タブが表示されます。
[転送ルーター] タブで、TR1 を見つけて、[アクション] 列の [接続の作成] をクリックします。 [ピアネットワークインスタンスとの接続] ページで、次の表に示すパラメーターを構成し、その他のパラメーターにはデフォルト値を使用します。 次に、[OK] をクリックします。
パラメーター
説明
例
インスタンスタイプ
CEN にアタッチするネットワークインスタンスのタイプ。
VPC
リージョン
ネットワークインスタンスが存在するリージョン。 この例では、VPC1 がデプロイされているリージョンが選択されています。
中国 (成都)
リソースオーナー ID
ネットワークインスタンスが属するピアアカウントの ID。
現在のアカウント
ネットワークインスタンス
CEN にアタッチする VPC。
VPC1
VSwitch
CEN に接続する vSwitch。
VPC1 の vSwitch
前のステップを繰り返して、VPC2 を TR2 に、VPC3 を TR3 に接続します。
ステップ 2: リージョン間接続を作成する
CEN コンソール にログインします。 管理する CEN インスタンスの ID をクリックします。 [基本設定] タブの [転送ルーター] タブが表示されます。
TR1 を見つけて、[アクション] 列の [接続の作成] をクリックして、TR1 と TR2 の間のリージョン間接続を作成します。 [ピアネットワークインスタンスとの接続] ページで、次の表に示すパラメーターを構成し、その他のパラメーターにはデフォルト値を使用します。 次に、[OK] をクリックします。
パラメーター
説明
例
インスタンスタイプ
CEN にアタッチするネットワークインスタンスのタイプ。
リージョン間接続
リージョン
ネットワークインスタンスが存在するリージョン。 この例では、TR1 がデプロイされているリージョンが選択されています。
中国 (成都)
ピアリージョン
ピア転送ルーターがデプロイされているリージョン。 選択できるリージョンには、転送ルーターが含まれている必要があります。
中国 (上海)
帯域幅割り当てモード
Cloud Data Transfer (CDT) を使用して、CEN のリージョン間トラフィックコストを削減できます。 CDT をアクティブにすることをお勧めします。 アクティブ化操作は無料です。 詳細については、「はじめに」をご参照ください。 ビジネス要件に基づいて帯域幅プランを選択することもできます。
データ転送ごとの支払い
前のステップを繰り返して、TR1 と TR3 の間にリージョン間接続を作成します。
ステップ 3: NLB インスタンスのサーバーグループを構成する
NLB コンソール にログインし、NLB インスタンスが存在するリージョンを選択して、管理する NLB インスタンスの ID をクリックします。 [サーバーグループ] ページで、[サーバーグループの作成] をクリックします。
次の表に示すパラメーターを構成します。 その他のパラメーターにはデフォルト値を使用します。 次に、[作成] をクリックします。
パラメーター
説明
例
サーバーグループタイプ
サーバーグループに追加されるバックエンドサーバーのタイプ。
IP
サーバーグループ名
-
test
VPC
サーバーグループが属する VPC。
VPC1
リソースグループ
サーバーグループが属するリソースグループ。
デフォルトのリソースグループ
サーバーグループが作成されたら、サーバーグループの [アクション] 列の [バックエンドサーバーの変更] をクリックします。 [バックエンドサーバー] タブで、[IP アドレスの追加] をクリックします。
IP アドレスを追加します。 [サーバーの選択] ステップで、[IP アドレス] パラメーターを ECS2 と ECS3 の IP アドレスに設定し、[次へ] をクリックします。
[ポート/重み] ステップで、[ポート] パラメーターを ECS2 と ECS3 にデプロイされるアプリケーションのポートに設定します。 この例では、80 が使用されます。 その他のパラメーターにはデフォルト値を使用します。 次に、[OK] をクリックします。
ステップ 4: NLB インスタンスのリスナーを構成する
NLB コンソール にログインし、管理する NLB インスタンスのリージョンを選択します。 [インスタンス] ページで、管理する NLB インスタンスを見つけて、[アクション] 列の [リスナーの作成] をクリックします。
[リスナーの構成] ステップで、[リスナープロトコル] パラメーターを TCP に設定し、[リスナーポート] パラメーターを構成します。 この例では、80 が使用されます。 [次へ] をクリックします。
[サーバーグループの選択] ステップで、構成した IP タイプのサーバーグループを選択します。 [次へ] をクリックします。
[構成の確認] ステップで、構成情報を確認し、[送信] をクリックします。
ステップ 5: 結果を確認する
ECS2 と ECS3 にテストアプリケーションをデプロイします。
ECS コンソール にログインし、中国 (上海) リージョンを選択します。 [インスタンス] ページで、ECS2 を見つけて、[接続] 列の [接続] をクリックします。 [リモート接続] ダイアログボックスで、[ワークベンチ] セクションの [今すぐサインイン] をクリックします。
次のコマンドを実行して、ECS2 にテストアプリケーションをデプロイします。
ECS コンソール にログインし、中国 (青島) リージョンを選択します。 [インスタンス] ページで、ECS3 を見つけて、[接続] 列の [接続] をクリックします。 [リモート接続] ダイアログボックスで、[ワークベンチ] セクションの [今すぐサインイン] をクリックします。
次のコマンドを実行して、ECS3 にテストアプリケーションをデプロイします。
ECS1 でネットワーク接続をテストします。
ECS コンソール にログインし、中国 (成都) リージョンを選択します。 [インスタンス] ページで、ECS1 を見つけて、[接続] 列の [接続] をクリックします。 [リモート接続] ダイアログボックスで、[ワークベンチ] セクションの [今すぐサインイン] をクリックします。
sudo yum install -y telnetコマンドを実行して、telnet をインストールします。telnet ドメイン名 ポートコマンドを実行します。 [nlb-... に接続済み] 形式のメッセージが返された場合、接続が確立され、NLB インスタンスは次の図に示すように、リクエストをバックエンドサーバーに転送できます。
障害をシミュレートします。
ECS2 で
systemctl stop nginx.serviceコマンドを実行して、アプリケーションを停止します。数分待ってから、ECS1 で
telnet ドメイン名 ポートコマンドを再度実行します。 次の図に示すように、[nlb-... に接続済み] 形式のメッセージが返されます。
ECS2 で
systemctl start nginx.serviceコマンドを実行してアプリケーションを起動し、ECS3 でsystemctl stop nginx.serviceコマンドを実行してアプリケーションを停止します。数分待ってから、ECS1 で
telnet ドメイン名 ポートコマンドを再度実行します。 次の図に示すように、[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 を解放します。