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

:CLB インスタンスを使用して RDS Custom インスタンスにリクエストを転送する

最終更新日:Nov 09, 2025

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 インスタンスを作成する

  1. CLB コンソール にログオンします。上部のナビゲーションバーで、RDS カスタムインスタンスが存在するリージョンを選択します。

  2. [CLB の作成] をクリックします。購入ページで、CLB インスタンスのリージョンとゾーンを選択し、インスタンス名を指定します。

    重要なパラメータと構成の推奨事項

    パラメータ

    説明

    推奨事項

    リージョンとプライマリゾーン

    CLB インスタンスを作成するリージョンと、ネットワークトラフィックの分散に使用するゾーン。

    • マルチゾーンデプロイメントをサポートするリージョンを選択する必要があります。

    • CLB インスタンスと RDS カスタムインスタンスは、同じリージョンに存在する必要があります。

    ゾーンタイプ

    CLB インスタンスを 1 つのゾーンにデプロイするか、複数のゾーンにデプロイするかを指定します。

    • シングルゾーン:CLB インスタンスは 1 つのゾーンのみにデプロイされます。

    • マルチゾーン: CLB インスタンスは複数のゾーンにデプロイされます。デフォルトでは、ネットワークトラフィックはプライマリゾーンに分散されます。プライマリゾーンで障害が発生した場合、システムはネットワークトラフィックをセカンダリゾーンに自動的に切り替えて、負荷分散サービスを提供します。詳細については、「ゾーンディザスタリカバリ (マルチゾーンディザスタリカバリ) の実装」をご参照ください。

    インスタンスの課金方法

    • 従量課金:ビジネステストまたはワークロードが大きく変動するシナリオに適しています。従量課金方式を使用する場合、CLB インスタンスの仕様を指定する必要はありません。 CLB インスタンスは、オンデマンドでリソースを自動的に追加または解放します。

    • リソースベース課金:ワークロードが安定しているシナリオに適しています。CLB インスタンスの仕様に基づいて課金されます。

    従量課金

    インスタンスタイプ

    • インターネット:パブリック IP アドレスが CLB インスタンスに割り当てられます。この場合、CLB インスタンスはインターネット経由でサービスを提供できます。

    • イントラネット:プライベート IP アドレスが CLB インスタンスに割り当てられます。この場合、CLB インスタンスはインターネットから送信されたリクエストを転送できません。

    この例では、イントラネットが使用されます。

    VPC ID および Vswitch ID

    CLB インスタンスの VPC と vSwitch。

    CLB インスタンスの VPC と vSwitch は、RDS カスタムインスタンスの VPC と vSwitch と同じである必要があります。

    IP バージョン

    CLB インスタンスの IP バージョン。

    • IPv4:CLB インスタンスは IPv4 アドレスのみを使用してサービスを提供します。

    • IPv6:CLB インスタンスは IPv6 アドレスのみを使用してサービスを提供します。

    IPv4

    インターネットデータ転送料金

    インターネットデータ転送料金は、インターネット向け CLB インスタンスに対してのみ発生します。

    • トラフィックごと:ワークロードが大きく変動するシナリオに適しています。

    • 帯域幅ごと:ワークロードが安定しているシナリオに適しています。

    トラフィックごと

    CLB の課金の詳細については、「従量課金」をご参照ください。

  3. 支払いを完了します。新しく作成された CLB インスタンスが CLB コンソールページに表示されます。

手順 3:vServer グループを作成する

  1. CLB コンソールの [インスタンス] ページで、CLB インスタンスの ID をクリックして、インスタンスの詳細ページに移動します。

  2. [vServer グループ] タブをクリックします。次に、[vServer グループの作成] をクリックします。

    image

  3. 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

追加するバックエンドサーバー。値は次のフィールドで構成されます。

  • ServerId:RDS カスタムインスタンスの ENI ID。

  • Weight:バックエンドサーバーの重み。有効な値:0100。デフォルト値:100。バックエンドサーバーの重みを 0 に設定すると、リクエストはバックエンドサーバーに転送されません。

  • Type:バックエンドサーバーのタイプ。このトピックでは、このフィールドは eni に設定されています。

  • ServerIp:RDS カスタムインスタンスにアタッチされている ENI の IP アドレス。

  • Port:リクエストの受信に使用するポート。

  • Description:オプション。バックエンドサーバーの説明。説明は 1 ~ 80 文字で、文字、数字、ハイフン(-)、スラッシュ(/)、ピリオド(.)、アンダースコア(_)を含めることができます。

値は次のフォーマットです: [{ "ServerId": "eni-****", "Weight": "100", "Type": "eni", "ServerIp": "192.168.XX.XX", "Port":"80","Description":"test-112" }]

[{
  "ServerId": "eni-bp1j7sqxlbjnnccf****",
  "Weight": "100",
  "Type": "eni",
  "ServerIp": "172.16.XX.XX",
  "Port": "80",
  "Description": "test-RC"
}]

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

  1. CLB コンソールの [インスタンス] ページで、目的の CLB インスタンスを見つけ、[操作] 列の [リスナーの設定] をクリックします。

  2. リスナーのプロトコルとポートを構成します。次に、[次へ] をクリックします。

    重要なパラメータと構成の推奨事項

    オプション

    説明

    推奨事項

    リスナープロトコル

    CLB インスタンスがサービスを提供するために使用するプロトコル。

    • TCP および UDP:レイヤー 4 リスナーのプロトコル。

    • HTTP および HTTPS:レイヤー 7 リスナーのプロトコル。

    説明

    リスナーの動作原理:

    • レイヤー 4 リスナー:リクエストをバックエンドサーバーに直接転送します。たとえば、TCP リスナーの場合、CLB インスタンスがリクエストを受信すると、CLB インスタンスはリスナーポートに基づいてデータパケットの宛先 IP アドレスと宛先ポートを変更します。次に、CLB インスタンスはリクエストをバックエンドサーバーに転送します。

    • レイヤー 7 リスナー:リバースプロキシとして機能します。CLB インスタンスがリクエストを受信すると、CLB インスタンスはリクエストをバックエンドサーバーに直接転送する代わりに、HTTP 経由でバックエンドサーバーへの新しい TCP 接続を確立します。

    詳細については、「サービスアーキテクチャ」をご参照ください。

    この例では、TCP が使用されます。

    リスナーポート

    CLB インスタンスがサービスを提供するために使用するポート。

    80

    パラメーター設定の詳細については、「CLB リスナー」をご参照ください。

  3. バックエンドサーバーグループを構成します。具体的には、既存の vServer グループを選択し、RDS カスタムインスタンスの ENI 情報を確認して、[次へ] をクリックします。

  4. ヘルスチェックを実行します。デフォルトのヘルスチェック構成を使用することをお勧めします。

    CLB ヘルスチェック構成に関する推奨事項

    CLB インスタンスは、ヘルスチェックを実行してバックエンドサーバーの可用性をチェックします。

    CLB インスタンスでヘルスチェックが有効になっている場合、バックエンドサーバーが異常と宣言されると、CLB インスタンスは異常なバックエンドサーバー宛てのリクエストを他の正常なバックエンドサーバーに自動的に転送します。異常なバックエンドサーバーが回復すると、CLB インスタンスはリクエストをバックエンドサーバーに自動的に転送し戻します。

    ヘルスチェックは、単一障害点(SPOF)を防ぐことができるため、アプリケーションの可用性を向上させます。

    重要

    ワークロードの感度が高い場合、頻繁なヘルスチェックはワークロードの可用性に影響を与える可能性があります。ヘルスチェックがワークロードに与える悪影響を軽減するには、ヘルスチェックの頻度を減らすか、ヘルスチェックの間隔を長くするか、レイヤー 7 ヘルスチェックをレイヤー 4 ヘルスチェックに変更します。業務継続性を確保するために、ヘルスチェック機能を有効にすることをお勧めします。

    詳細については、「CLB ヘルスチェック」をご参照ください。

  5. 設定を確認し、[送信] をクリックします。

    [設定成功] が表示された場合、リスナーは設定されています。

手順 6:結果を確認する

  1. CLB コンソールの [インスタンス] ページで、CLB インスタンスの [サービスアドレス] を取得します。

    image

  2. 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 '^]'.
  3. curl コマンドを実行して、RDS Custom インスタンス上の NGINX サービスのデフォルト Web ページにアクセスします。

    curl http://172.16.XX.XX

    次の情報が返されます。

    Hello World ! this is RDS Custom.

(オプション)インターネット向け CLB インスタンスを使用して、RDS カスタムインスタンスにリクエストを転送する

  1. インターネット向け CLB インスタンスを作成し、[インスタンスタイプ] パラメーターを [インターネット] に設定します。

  2. vServer グループを作成する

  3. RDS カスタムインスタンスを vServer グループに追加する

  4. インスタンスのリスナーを構成する

  5. 結果を確認します。

    ブラウザを使用して http://<CLB インスタンスのサービスアドレス> にアクセスします。Web ページは正常に読み込まれ、Hello World ! this is RDS Custom. と表示されます。

関連情報