VMware Cloud Director の構成

VMware Cloud Director により、Google Cloud VMware Engine が提供するようなサイトや地域にまたがる一般的または分散型のインフラストラクチャから仮想データセンターを作成できます。VMware Cloud Director を使用すると、Google Cloud でホストされているサーバー間でインフラストラクチャを管理し、単一のインターフェースから複数のお客様に対してホスティングやサービス提供を行うことができます。

VMware Cloud Director と Google Cloud VMware Engine の統合では、単一のインターフェースを使用して次の機能を提供します。

  • エラスティック仮想データセンター: vApp テンプレートとメディア ファイルのカタログを使用して、ネットワーク、ストレージ、コンピューティング リソースをプロビジョニングするための仮想データセンターを作成します。
  • ハイブリッド クラウド管理: オンプレミス環境と VMware Engine 環境の両方でデータセンター リソースを管理、モニタリングします。
  • マルチテナンシー: 完全に分離されたマルチテナンシーを提供する統合インターフェースからすべてのテナントを管理します。
  • インフラストラクチャの割り当て: VMware Engine インフラストラクチャを小さなリソースプールに分割してユーザーに提供し、必要に応じて拡張できます。
  • 仮想データセンター間のワークロード移行: VM レベルからデータセンター全体まで、ワークロードをバックアップ、退避、複製できます。

Google Cloud に VMware Cloud Director をデプロイすると、VMware Cloud Director に VMware Engine のプライベート クラウドのリソースを提供できます。このプロセスについては、組織仮想データセンターの管理 に関する VMware のガイダンスに沿ってご対応ください。

始める前に

VMware Engine の VMware Cloud Director 構成には、VPC ネットワークの準備、Google Cloud リソースの作成、VMware Engine の設定が必要です。このプロセスには、次のステップが含まれます。

  1. VPC ネットワークを作成する
  2. VPC ネットワークのファイアウォール ルールを追加する
  3. Filestore インスタンスを作成する
  4. マネージド PostgreSQL インスタンスをデプロイする
  5. VMware Cloud Director セルを準備する
  6. VMware Engine を設定する
  7. 2 つの完全修飾ドメイン名(FQDN)を作成する

VPC ネットワークを作成する

Google Cloud に VPC ネットワークを準備して、VMware Cloud Director セルをインストールするときに使用できるようにします。

これを行うには、複数のゾーンにまたがる VPC ネットワークを作成します。すでに VMware Engine で VPC ネットワークを使用している場合は、新しい VPC ネットワークを作成する代わりに、そのネットワークを使用できます。

VPC ネットワークのファイアウォール ルールを追加する

VPC ネットワーク用に次の VPC ネットワーク ファイアウォール ルールを作成します。

  • allow-inter-vcd-cell-communication: すべてのポートで VMware Cloud Director のセルが相互に通信できるように次のルールを設定します。
    1. [ターゲット] を [ネットワーク上のすべてのインスタンス] に設定します。
    2. [ソースフィルタ] を [ソースタグ] に設定します。
    3. VMware Cloud Director のセルで使用する新しいソースタグ vcd を作成します。
    4. [プロトコルとポート] を [すべて許可] に設定します。
  • allow-443-8443: tcp ポート 443 と 8443 への受信アクセスを許可するようにこのルールを設定します。
    1. [ターゲット] を [ネットワーク上のすべてのインスタンス] に設定します。
    2. [ソースフィルタ] を [IP 範囲] に設定します。
    3. [ソース IP の範囲] フィールドに、範囲 0.0.0.0/0 を指定するか、VMware Cloud Director セルへのアクセスを制限する範囲を追加します。
    4. [プロトコルとポート] を [指定したプロトコルとポート] に設定します。
    5. [TCP] チェックボックスをオンにして、対応するフィールドに「443,8443」と入力します。
  • allow-ssh: VMware Cloud Director セルへの SSH アクセスを許可する次のルールを設定します。
    1. [ターゲット] を [ネットワーク上のすべてのインスタンス] に設定します。
    2. [ソースフィルタ] を [IP 範囲] に設定します。
    3. [ソース IP の範囲] フィールドに、範囲 0.0.0.0/0 を指定するか、VMware Cloud Director セルへの SSH アクセスを制限する範囲を追加します。
    4. [プロトコルとポート] を [指定したプロトコルとポート] に設定します。
    5. [TCP] チェックボックスをオンにして、対応するフィールドに「22」と入力します。

より詳細なネットワーク アクセスについては、VMware Cloud Director ネットワーク セキュリティの要件をご覧ください。

Filestore インスタンスを作成する

VMware Cloud Director 転送ストア用に Google Cloud で Filestore インスタンスを準備します。これを行うには、Filestore インスタンスを作成し、インスタンスの作成時に承認済みネットワークとして VPC ネットワークを選択します。

マネージド PostgreSQL インスタンスをデプロイする

VMware Cloud Director には、Cloud SQL を使用して設定できる外部 PostgreSQL データベースが必要です。VMware Cloud Director 用のマネージド PostgreSQL インスタンスをデプロイする手順は次のとおりです。

  1. PostgreSQL インスタンスを作成する手順を行います。
  2. [データベースのバージョン] には、[PostgreSQL 10] を選択します。
  3. [接続] では、[プライベート IP] を選択します。
  4. マシンタイプ フィールドとストレージ フィールドでは、4 個の vCPU と 15~16 GB のメモリを備えたマシンを選択することをおすすめします。ユースケースと VMware Cloud Director の使用率によっては、より大きなデータベース インスタンスが必要になる場合があります。
  5. VPC ネットワークを使用してデータベース インスタンスを承認します。
  6. VMware Cloud Director のデータベースを作成します。
  7. データベースにアクセスする Google Cloud ユーザーを作成します。
  8. 必要な VMware Cloud Director のデータベース構成を実行します。

VMware Cloud Director セルを準備する

VMware Cloud Director セルは Compute Engine インスタンス上で動作します。VMware では、常に VMware Cloud Director セルを使用することをおすすめします。この推奨事項に合わせるために、サイトごとに最低 2 つの VMware Cloud Director セルをデプロイできます。

VMware Cloud Director に接続する予定のプライベート クラウドの数に 1 を足した数と同数の VMware Cloud Director セルをデプロイすることをおすすめします。

VMware Cloud Director セルごとに仮想マシン(VM)を作成します。

  • Linux VM の使用に関するクイックスタートの手順を使用して、VM を作成します。このドキュメントで使用されているすべてのコマンドは、VM で Red Hat Enterprise Linux(RHEL)を使用していることを前提としています。

  • VPC ネットワークのファイアウォール ルールを追加するセクションで作成したソースタグ vcd を使用して、各 VM を VPC ネットワークにアタッチします。

  • マシンタイプを選択する際に、2 つの vCPU と 8 GB の RAM を搭載したマシンを選択できます。高い負荷が予想される場合は、代わりに 4 個の vCPU と 16 GB のメモリを使用してください。

VMware Engine を設定する

まだ行っていない場合は、VMware Engine に対して次の処理を行う必要があります。

  1. プライベート サービス アクセスを設定し、VMware Cloud Director セルがデプロイされている Google Cloud プロジェクトと VMware Engine の間で VPC ネットワーク ピアリング接続を確立します。
  2. VMware Engine にプライベート クラウドを作成します。
  3. オンプレミス ネットワークを VMware Engine プライベート クラウドに接続します。このステップは、Google Cloud にデプロイされた VMware Cloud Director を使用してオンプレミス リソースを管理するために必要となります。

2 つの完全修飾ドメイン名(FQDN)を作成する

SSL 証明書を作成する準備のために、FQDN が 2 つ必要になります。1 つの FQDN をユーザー インターフェースに使用し、もう 1 つはコンソール プロキシに使用します。これらの FQDN は、証明書を作成してパブリック アドレスを構成するときに使用します。

インストールと構成

VMware Cloud Director をインストールして構成するプロセスでは、次のことを行う必要があります。

  1. 各 VM にパッケージをインストールする
  2. VMware Cloud Director を 1 つの VM にインストールする
  3. VMware Cloud Director を他の VM にインストールする
  4. Compute Engine インスタンス グループを作成する
  5. ロードバランサをデプロイする

各 VM にパッケージをインストールする

各 Compute Engine VM は 1 つの VMware Cloud Director セルに対応しています。各 VM に前提条件パッケージをインストールして、VMware Cloud Director セルを準備します。

  1. デプロイする VMware Cloud Director バイナリをダウンロードします。
  2. VMware Cloud Director バイナリを Cloud Storage バケットにアップロードし、Compute Engine VM にダウンロードできるようにします。
  3. SSL 証明書を作成し、インストールに使用する VMware Cloud Director キーストアを準備します。
    • Java KeyStore ファイルがすでにある場合は、Cloud Storage バケットに配置して Compute Engine VM にダウンロードできるようにします。
    • キーストアを作成する必要がある場合は、SSL 証明書の作成に関する VMware のガイダンスをご覧ください。最初の VMware Cloud Director セルに対してバイナリ インストールを行った後、キーストアを作成できます。
  4. 各 Compute Engine VM に前提条件パッケージをインストールします。

    yum install bind-utils libcurl-devel libxml2-devel make openssl-devel git \
        alsa-lib libICE libSM libX11 libXau libXdmcp libXext libXi libXt libXtst \
        pciutils redhat-lsb wget -y
    
  5. すべての VM の /etc/resolv.conf ファイルにネームサーバーを追加して、ESXI ホスト FQDN を解決できるようにします。

  6. NFS utils パッケージをインストールして、すべての VM に転送ストアをマウントできるようにします。

    yum install nfs-utils -y
    
    systemctl enable rpcbind nfs-server nfs-lock nfs-idmap
    
    systemctl start rpcbind nfs-server nfs-lock nfs-idmap
    

VMware Cloud Director を 1 つの VM にインストールする

すべての VM に上述のパッケージをインストールしたら、VMware Cloud Director を 1 つの VM にインストールして構成します。

  1. ssh を使用して、いずれか 1 つの Compute Engine VM に接続します。
  2. VMware Cloud Director バイナリを VM にダウンロードします。

    gsutil cp gs://STORAGE_BUCKET/ \
       vmware-vcloud-director-distribution-10.1.0-15967253.bin /tmp/
    

    STORAGE_BUCKET は、Cloud Storage バケットへのパスに置き換えます。

  3. バイナリを実行可能にします。

    chmod +x vmware-vcloud-director-distribution-10.1.0-15967253.bin
    
  4. VM にバイナリをインストールします。

    /tmp/vmware-vcloud-director-distribution-10.1.0-15967253.bin
    
  5. VM に Java KeyStore ファイルをダウンロードします。

    gsutil cp gs://STORAGE_BUCKET/certificates.ks /tmp/certificates.ks
    

    STORAGE_BUCKET は、Cloud Storage バケットへのパスに置き換えます。

  6. 転送ストアを VM にマウントします。

    echo "FILESTORE_INSTANCE_IP:/volume_name \
       /opt/vmware/vcloud-director/data/transfer nfs defaults,_netdev 0 0" >> \
       /etc/fstab
    
    mount /opt/vmware/vcloud-director/data/transfer
    
    chown -R vcloud:vcloud /opt/vmware/vcloud-director/data/transfer
    

    FILESTORE_INSTANCE_IP を Filestore インスタンスの IP に置き換えます。

  7. 無人構成を使用して、VMware Cloud Director セルの初期構成を実行します。

    /opt/vmware/vcloud-director/bin/configure -ip INSTANCE_IP \
       --primary-port-http 80 --primary-port-https 443 -cons INSTANCE_IP \
       --console-proxy-port-https 8443 -dbhost DB_ENDPOINT -dbport 5432 \
       -dbtype postgres -dbname DB_NAME -dbuser DB_MASTER_USER \
       -dbpassword DB_MASTER_USER_PASSWORD --keystore /tmp/KEYSTORE_FILE \
       -w KEYSTORE_PASSWORD --enable-ceip true -unattended
    

    以下を置き換えます。

    • INSTANCE_IP: IPv4 アドレス(オプションのポート番号を含む)
    • DB_ENDPOINT: vCloud Director データベース ホストの IP アドレスまたは完全修飾ドメイン名
    • DB_NAME: データベース サービスの名前
    • DB_MASTER_USER: データベース ユーザーのユーザー名
    • DB_MASTER_USER_PASSWORD: データベース ユーザーのパスワード(null の場合もあります)
    • KEYSTORE_FILE: SSL 証明書と秘密鍵を含む Java キーストア
    • KEYSTORE_PASSWORD: SSL 証明書のキーストアのパスワード
  8. パフォーマンスを向上させるために、Java のヒープサイズを調整します。

    1. Java XMS の値を 2 GB 以上に設定します。

      sed -i "s/Xms1024M/Xms2048M/g" \
          /opt/vmware/vcloud-director/bin/vmware-vcd-cell-common
      
    2. 最大値を VM メモリの値から 2 GB 差し引いた値に設定します。

      sed -i "s/Xmx4096M/Xmx6144M/g" \
          /opt/vmware/vcloud-director/bin/vmware-vcd-cell-common
      
  9. VMware Cloud Director サービスを有効にして起動します。

    chkconfig vmware-vcd on
    
    service vmware-vcd start
    
  10. サービスが正常に開始されたかどうかを確認します。

    tail -f /opt/vmware/vcloud-director/logs/cell.log
    
  11. 他の VMware Cloud Director セルへのインストールに使用するために、responses.properties と Java KeyStore ファイルを転送ストアにコピーします。

    cp /opt/vmware/vcloud-director/etc/responses.properties \
        /opt/vmware/vcloud-director/data/transfer/responses.properties
    
    chmod 644 /opt/vmware/vcloud-director/data/transfer/responses.properties
    
    cp /tmp/certificates.ks \
        /opt/vmware/vcloud-director/data/transfer/certificates.ks
    
    chmod 644 /opt/vmware/vcloud-director/data/transfer/certificates.ks
    
  12. cell-management-tool system-setup コマンドを使用して、VMware Cloud Director のインストールを構成します。

    /opt/vmware/vcloud-director/bin/cell-management-tool system-setup \
       --email EMAIL --full-name FULL_NAME \
       --installation-id INSTALLATION_ID --password PASSWORD \
       --system-name SYSTEM_NAME --serial-number SERIAL_NUMBER \
       --user USER --unattended
    

    以下を置き換えます。

    • EMAIL: 作成するシステム管理者のメールアドレス
    • FULL_NAME: 作成するシステム管理者のフルネーム
    • INSTALLATION_ID: 1~63 の範囲の整数
    • PASSWORD: 作成するシステム管理者のパスワード
    • SYSTEM_NAME: VMware Cloud Director vCenter Server フォルダで使用する名前。
    • SERIAL_NUMBER: このインストールのシリアル番号(ライセンスキー)
    • USER: 作成するシステム管理者のユーザー名

VMware Cloud Director を他の VM にインストールする

残りのセルに VMware Cloud Director をインストールして構成するには、各セルに対して次の手順を繰り返します

  1. ssh を使用して Compute Engine VM に接続します。
  2. VM にバイナリをダウンロードします。

    gsutil cp gs://STORAGE_BUCKET/ \
       vmware-vcloud-director-distribution-10.1.0-15967253.bin /tmp/
    

    STORAGE_BUCKET は、Cloud Storage バケットへのパスに置き換えます。

  3. バイナリを実行可能にします。

    chmod +x vmware-vcloud-director-distribution-10.1.0-15967253.bin
    
  4. VM にバイナリをインストールします。

    /tmp/vmware-vcloud-director-distribution-10.1.0-15967253.bin
    
  5. VM に Java KeyStore ファイルをダウンロードします。

    gsutil cp gs://vcd-builds/certificates.ks /tmp/certificates.ks
    
  6. 転送ストアをこの VM にマウントします。

    echo "FILESTORE_INSTANCE_IP:/volume_name \
       /opt/vmware/vcloud-director/data/transfer nfs defaults,_netdev 0 0" >> \
       /etc/fstab
    
    mount /opt/vmware/vcloud-director/data/transfer
    
    chown -R vcloud:vcloud /opt/vmware/vcloud-director/data/transfer
    

    FILESTORE_INSTANCE_IP を Filestore インスタンスの IP に置き換えます。

  7. 無人構成を使用して、VMware Cloud Director セルの初期構成を実行します。

    /opt/vmware/vcloud-director/bin/configure \
       -r /opt/vmware/vcloud-director/data/transfer/responses.properties \
       -ip INSTANCE_IP --primary-port-http 80 --primary-port-https 443 \
       -cons INSTANCE_IP --console-proxy-port-https 8443 \
       --keystore /opt/vmware/vcloud-director/data/transfer/KEYSTORE_FILE \
       -w KEYSTORE_PASSWORD --enable-ceip true -unattended
    

    以下を置き換えます。

    • INSTANCE_IP: IPv4 アドレス(オプションのポート番号を含む)
    • KEYSTORE_FILE: SSL 証明書と秘密鍵を含む Java キーストア ファイル
    • KEYSTORE_PASSWORD: SSL 証明書のキーストアのパスワード
  8. パフォーマンスを向上させるために、Java のヒープサイズを調整します。

    1. Java XMS の値を 2 GB 以上に設定します。

      sed -i "s/Xms1024M/Xms2048M/g" \
          /opt/vmware/vcloud-director/bin/vmware-vcd-cell-common
      
    2. 最大値を VM メモリの値から 2 GB 差し引いた値に設定します。

      sed -i "s/Xmx4096M/Xmx6144M/g" \
          /opt/vmware/vcloud-director/bin/vmware-vcd-cell-common
      
  9. VMware Cloud Director サービスを有効にして起動します。

    chkconfig vmware-vcd on
    
    service vmware-vcd start
    
  10. サービスが正常に開始されたかどうかを確認します。

    tail -f /opt/vmware/vcloud-director/logs/cell.log
    

Compute Engine インスタンス グループを作成する

Compute Engine インスタンス グループは、インターネットに接続するロードバランサから VMware Cloud Director セルにトラフィックを転送します。インスタンス グループを設定するには、次の手順を行います。

  1. VMware Cloud Director セルがデプロイされているゾーンごとに、非マネージド インスタンス グループを作成します。
  2. インスタンス グループごとに、次のポート マッピングを追加します。
    • インターフェースまたは API 呼び出しの場合
      • ポート名: https
      • ポート番号: 443
    • コンソール プロキシ アクセスの場合
      • ポート名: tcp
      • ポート番号: 8443

インスタンス グループの設定例を次に示します。

インスタンス グループの設定では、ポート 443 で HTTPS プロトコル、ポート 8443 で TCP プロトコルを使用します。

ロードバランサをデプロイする

インターネットから VMware Cloud Director のインターフェースまたはコンソール プロキシへのアクセスを許可するには、Google Cloud に 2 つのロードバランサをデプロイする必要があります。このプロセスには、次のステップが含まれます。

  1. 使用するロードバランサのヘルスチェックを構成する
  2. インターフェースまたは API アクセス用の L7 ロードバランサを作成する
  3. コンソール プロキシ アクセス用に L4 ロードバランサを作成する
  4. VMware Cloud Director 用にパブリック アドレスを構成する

ロードバランサのヘルスチェックを構成する

ロードバランサのヘルスチェックを構成するには、次の手順を行います。

  1. ヘルスチェックの作成の手順に沿って、ヘルスチェックの作成を開始します。
  2. [プロトコル] を HTTPS に設定します。
  3. [ポート] フィールドに、「443」と入力します。
  4. [リクエストパス] フィールドに「/api/server_status」と入力します。

ヘルスチェックの設定例を次に示します。

ヘルスチェックの構成ではポート 443 の HTTPS プロトコルを使用します。

インターフェースまたは API アクセス用の L7 ロードバランサを作成する

インターフェースまたは API アクセス用の L7 ロードバランサは、次の手順で作成します。

  1. 内部 HTTP(S) 負荷分散の設定の手順に沿って、内部 HTTPS 負荷分散を設定します。
  2. [プロトコル] を HTTPS に設定します。
  3. [名前付きポート] フィールドに「https」と入力します。この値は、インスタンス グループで構成されている値と一致します。
  4. [バックエンド] セクションで、Compute Engine インスタンス グループを作成するで作成したすべてのインスタンス グループを追加します。HTTPS 用に作成されたポートに合わせて、各エントリにポート 443 を使用します。
  5. [ヘルスチェック] に、ロードバランサのヘルスチェックの構成で構成したヘルスチェックを設定します。
  6. [ホストとパスのルール] には、デフォルト値を使用します。
  7. ロードバランサ用のフロントエンドを構成します。
    1. [プロトコル] を HTTPS に設定します。
    2. パブリック IP アドレスを予約します。
    3. ロードバランサの証明書を追加します。

コンソール プロキシ アクセス用に L4 ロードバランサを作成する

コンソール プロキシ アクセス用に L4 ロードバランサを作成するには、次のようにします。

  1. TCP プロキシ負荷分散の設定の手順に沿って、ロードバランサの構成を開始します。
  2. [マルチリージョンまたはシングル リージョン] を [マルチリージョン] に設定します。
  3. [バックエンド タイプ] を [インスタンス グループ] に設定します。
  4. [プロトコル] を TCP に設定します。
  5. [名前付きポート] フィールドに「tcp」と入力します。この値は、インスタンス グループで構成されている値と一致します。
  6. [バックエンド] セクションで、Compute Engine インスタンス グループを作成するで作成したすべてのインスタンス グループを追加します。TCP 用に作成されたポートに合わせて、各エントリにポート 8443 を使用します。
  7. ロードバランサ用のフロントエンドを構成します。
    1. [プロトコル] を TCP に設定します。
    2. [ポート] を 443 に設定します。
    3. パブリック IP アドレスを予約します。

VMware Cloud Director 用にパブリック アドレスを構成する

ロードバランサを作成したら、VMware Cloud Director のパブリック アドレスを構成します。

  1. 次の URL を使用して、VMware Cloud Director にアクセスします。

    https://L7_FQDN/provider

    L7_FQDN を、L7 ロードバランサに追加した証明書に対応する FQDN に置き換えます。

  2. VM 上に最初の VMware Cloud Director セルの構成時に作成された、管理者の認証情報を使用します。

  3. VMware が提供する手順に沿って、パブリック アドレスを構成します。

次のステップ

Google Cloud に VMware Cloud Director をデプロイすると、VMware Cloud Director に VMware Engine のプライベート クラウドのリソースを提供できます。このプロセスについては、組織仮想データセンターの管理 に関する VMware のガイダンスに沿ってご対応ください。