ロード バランサを作成して、指定したインスタンス間で受信要求を分散できます。ロード バランサを使用すると、インスタンス間でワークロードを計画的に共有し、システム リソースをより効率的に使用できます。

VMware Integrated OpenStack 6.0 では、NSX Data Center for vSphere または NSX-T Data Center ネットワークを使用するデプロイで LBaaS(サービスとしてのロード バランサ)v2.0 がサポートされます。このバージョンでは、OpenStack Octavia コンポーネントはサポートされません。

LBaaS 設定プロセスでは、健全性監視も作成され、LBaaS プールに関連付けられます。健全性監視とは、指定したプロトコルとポート上でインスタンスがまだ実行されているかどうかを確認する Neutron サービスです。

注: LBaaS プールの admin_state パラメータは、 NSX Data Center for vSphere デプロイではサポートされていないため、プールの管理状態を停止に設定しても、効果はありません。ネットワーク トラフィックがプールのメンバーに送信されないようにするには、各メンバーの管理状態を停止に設定します。

LBaaS リスナーには、HTTP、TCP、または終端 HTTPS を使用できます。終端 HTTPS リスナーは受信接続の TLS を終端し、終端 HTTPS リスナーの TLS 証明書とキーは Barbican に格納されます。終端 HTTPS リスナーを作成する場合は、クラウド管理者に連絡し、アクセス コントロール リスト (ACL) を設定して barbican ユーザーにプロジェクトのシークレットへのアクセス権を付与する必要があるかどうかを決定します。

前提条件

  • ネットワークにパブリック サブネットおよびルーターを作成します。NSX Data Center for vSphere デプロイでは、ルーター タイプを exclusive にする必要があります。
    注: テナントのサブネットにロード バランサを作成できますが、ロード バランサにフローティング IP アドレスを割り当てる必要があります。
  • 1 つ以上のクライアントと 2 つ以上のサーバ インスタンスを設定します。

手順

  1. 終端 HTTPS リスナーを作成し、ACL を設定する必要がある場合は、barbican ユーザーに証明書、キー、および TLS コンテナへのアクセスを許可します。
    1. root ユーザーとして Integrated OpenStack Manager にログインし、ツールボックスを開きます。
      ssh root@mgmt-server-ip
      toolbox
    2. ACL を設定します。
      openstack acl user add -u barbican-uuid object-name

      プロジェクトの各証明書、キー、およびコンテナに対してこのコマンドを 1 回実行します。

      openstack user list コマンドを実行して、barbican ユーザーの UUID を検索できます。openstack secret list コマンドを実行して、証明書、キー、およびコンテナの名前を検索することができます。

  2. VMware Integrated OpenStack ダッシュボードにログインします。
  3. タイトル バーのドロップダウン メニューからプロジェクトを選択します。
  4. [プロジェクト] > [ネットワーク] > [Neutron ロード バランサ] の順に選択して、[ロード バランサの作成] をクリックします。
  5. [ロード バランサの詳細] 画面で、必要な設定を入力し、[次へ] をクリックします。
    オプション 説明

    [名前]

    ロード バランサの名前を入力します。

    [説明]

    (オプション)ロード バランサの説明を入力します。

    [IP アドレス]

    (オプション)ロード バランサの IP アドレスを入力します。

    [サブネット]

    ロード バランサのサブネットを選択します。このサブネットのメンバーのみを LBaaS プールに追加できます。

  6. [リスナーの詳細] 画面で、必要な設定を入力し、[次へ] をクリックします。
    オプション 説明

    [名前]

    リスナーの名前を入力します。

    [説明]

    リスナーの説明を入力します。

    [プロトコル]

    リスナーが使用するプロトコルを選択します。以下のプロトコルがサポートされています。

    • HTTP
    • TCP
    • Terminated HTTPS
    • HTTPS

    Terminated HTTPS をプロトコルとして選択する場合は、TLS コンテナの ID も指定する必要があります。

    [ポート]

    リスナーが使用するポートを入力します。

  7. TERMINATED_HTTPS プロトコルを選択した場合は、リスナーの証明書を 1 つ以上指定し、[次へ] をクリックします。
  8. LBaaS プールの名前、説明、ロード バランシング メソッドを指定し、[次へ] をクリックします。
    サポートされているロード バランシング メソッドは次のとおりです。
    メソッド 説明
    [LEAST_CONNECTIONS]

    新しいクライアント要求は、接続数が最も少ないサーバに送信されます。

    [ROUND_ROBIN]

    各サーバは、割り当てられている重み付けに従って順番に使用されます。

    [SOURCE_IP]

    同じソース IP アドレスからのすべての接続は、プールの同じメンバーによって処理されます。

  9. ロード バランサ プールに追加するサーバおよびクライアント インスタンスを選択し、[次へ] をクリックします。
  10. 健全性監視のパラメータを指定し、[次へ] をクリックします。
    パラメータ 説明
    [監視タイプ]

    [HTTP][PING]、または [TCP] を指定します。

    [間隔]

    メンバーにプローブを送信してから次のプローブを送信するまでの時間を入力します。

    [再試行回数]

    メンバーのステータスを INACTIVE に変更する前に、許可される接続失敗回数を入力します。

    [タイムアウト]

    タイムアウトまでに、接続の確立を監視が待機する秒数を入力します。

    タイムアウトの値は間隔の値よりも小さくする必要があります。

    [HTTP] を選択する場合は、HTTP メソッド、期待するステータス コード、および URL も設定する必要があります。
  11. [ロード バランサの作成] をクリックします。
  12. テナントのサブネットにロード バランサを作成した場合は、ロード バランサにフローティング IP アドレスを関連付けます。
    1. ロード バランサの右側にある下矢印をクリックし、[フローティング IP アドレスの関連付け] を選択します。
    2. フローティング IP アドレスまたはプールを選択し、[関連付け] をクリックします。
  13. (オプション) LBaaS 構成を検証するためのテスト要求を送信します。
    1. Integrated OpenStack Managerroot ユーザーとしてログインします。
      ssh root@mgmt-server-ip
    2. テスト用の index.html ファイルを作成します。
    3. 同じディレクトリで、Web サーバを起動します。
      sudo python -m SimpleHTTPServer 80
    4. クライアント インスタンスにログインします。
    5. wget コマンドを実行し、実行した要求がプール内のサーバ間で適切に負荷分散されているかどうかを確認します。
       wget -O - http://mgmt-server-ip

次のタスク

ロード バランサを開き、[リスナーの作成] をクリックすると、リスナーを追加できます。