Classic Load Balancer (CLB) を使用して、アクセスリクエストを RDS Custom インスタンスに効率的に転送し、負荷分散を実現できます。このソリューションを使用すると、インターネット経由で RDS Custom インスタンスに接続できます。内部ネットワークのセキュリティを効果的に保護し、サービスの可用性とスケーラビリティを向上させます。
前提条件
RDS カスタムインスタンスにアプリケーションがデプロイされています。この例では、NGINX がデプロイされています。デプロイメントコマンド:
yum install -y nginx
systemctl start nginx.service
cd /usr/share/nginx/html/
echo "Hello World ! this is RDS Custom." > index.html手順 1:RDS カスタムインスタンスの ENI 情報を取得する
DescribeNetworkInterfaces オペレーションを呼び出して、RDS カスタムインスタンスの Elastic Network Interface(ENI)情報を取得します。次の表に、オペレーションのリクエストパラメータを示します。VpcIdVSwitch IDプライマリ IP アドレス、、および パラメータはオプションです。これらのパラメータを使用して、RDS カスタムインスタンスの ENI 情報をすばやく取得できます。
パラメータ | 説明 | 例 |
RegionId | RDS カスタムインスタンスが存在するリージョンの ID。 | cn-hangzhou |
ServiceManaged | このトピックでは、RDS カスタムインスタンスにアタッチされている ENI をクエリする必要があります。このパラメータを true に設定します。 | true |
VpcId | ENI が属する仮想プライベートクラウド(VPC)の ID。RDS カスタムインスタンスの VPC ID と同じです。 説明 RDS Custom インスタンスのネットワーク情報は、[設定情報] ページの [基本情報] セクションで表示できます。 | vpc-bp16sm1hwzyutuohe**** |
VSwitchId | ENI が属する vSwitch の ID。RDS カスタムインスタンスの vSwitch ID と同じです。 | vsw-bp1nb3pv03878tgnj**** |
PrimaryIpAddress | ENI のプライマリ プライベート IP アドレス。RDS カスタムインスタンスの プライベート IP アドレスと同じです。 | 172.16.XX.XX |
レスポンスでは、PrivateIpAddress パラメータは ENI IP アドレスを示し、NetworkInterfaceId パラメータは ENI ID を示します。例:
{
...
"NetworkInterfaceSets": {
"NetworkInterfaceSet": [
{
...
"PrivateIpAddress": "172.16.XX.XX", // ENI IP アドレス
"ServiceManaged": true,
"DeleteOnRelease": true,
"ResourceGroupId": "",
"Attachment": {},
"NetworkInterfaceId": "eni-bp1j7sqxlbjnnccf****", // ENI ID
...
}
]
}
}ステップ 2: インターネット向け CLB インスタンスを作成する
手順 3:vServer グループを作成する
CLB コンソールの [インスタンス] ページで、CLB インスタンスの ID をクリックして、インスタンスの詳細ページに移動します。
[vServer グループ] タブをクリックします。次に、[vServer グループの作成] をクリックします。

vServer グループの名前を入力し、[作成] をクリックします。
手順 4:RDS カスタムインスタンスを vServer グループに追加する
AddVServerGroupBackendServers 操作を呼び出して、RDS Custom インスタンスを vServer グループに追加します。次の表に、この操作のリクエストパラメーターを示します。ServerId および ServerIp パラメーターを、ステップ 1 で取得した RDS Custom インスタンスにアタッチされている ENI の ID と IP アドレスに設定する必要があります。
パラメータ | 説明 | 例 |
RegionId | CLB インスタンスが存在するリージョンの ID。 | cn-hangzhou |
VServerGroupId | vServer グループの ID。 | rsp-bp1zgr6ci**** |
BackendServers | 追加するバックエンドサーバー。値は次のフィールドで構成されます。
値は次のフォーマットです: | |
手順 5:CLB インスタンスのリスナーを構成する
CLB コンソールの [インスタンス] ページで、目的の CLB インスタンスを見つけ、[操作] 列の [リスナーの設定] をクリックします。
リスナーのプロトコルとポートを構成します。次に、[次へ] をクリックします。
バックエンドサーバーグループを構成します。具体的には、既存の vServer グループを選択し、RDS カスタムインスタンスの ENI 情報を確認して、[次へ] をクリックします。
ヘルスチェックを実行します。デフォルトのヘルスチェック構成を使用することをお勧めします。
設定を確認し、[送信] をクリックします。
[設定成功] が表示された場合、リスナーは設定されています。
手順 6:結果を確認する
CLB コンソールの [インスタンス] ページで、CLB インスタンスの [サービスアドレス] を取得します。

RDS Custom インスタンスと同じリージョンおよび VPC にある Elastic Compute Service (ECS) インスタンスで次の
telnetコマンドを実行して、転送結果を検証します。この例では、CentOS 7 を実行している ECS インスタンスが使用されます。説明Telnet がインストールされていない場合は、
yum install -y telnetコマンドを実行して Telnet をインストールする必要があります。telnet <宛先アドレス> <リスナーポート>宛先アドレス:CLB インスタンスのサービスアドレスまたは RDS カスタムインスタンスの プライベート IP アドレス。
リスナーポート: CLB インスタンスに設定されたリスナーポート。この例では、ポート 80 が使用されます。
この例では、CLB インスタンスのサービスアドレスが使用されています。コマンドの例:
telnet 172.16.XX.XX 80次のコマンド出力が返された場合、CLB インスタンスはリクエストをバックエンドサーバーに転送できます。
Trying 172.16.XX.XX... Connected to 172.16.XX.XX. Escape character is '^]'.curlコマンドを実行して、RDS Custom インスタンス上の NGINX サービスのデフォルト Web ページにアクセスします。curl http://172.16.XX.XX次の情報が返されます。
Hello World ! this is RDS Custom.
(オプション)インターネット向け CLB インスタンスを使用して、RDS カスタムインスタンスにリクエストを転送する
インターネット向け CLB インスタンスを作成し、[インスタンスタイプ] パラメーターを [インターネット] に設定します。
結果を確認します。
ブラウザを使用して
http://<CLB インスタンスのサービスアドレス>にアクセスします。Web ページは正常に読み込まれ、Hello World ! this is RDS Custom.と表示されます。