VMware Cloud Director インスタンスを VMware Cloud on AWS SDDC に関連付けてから、さまざまなタスクを実行できなくなる場合があります。

問題

VMware Cloud Director インスタンスを VMware Cloud on AWS SDDC に関連付けてから、vCenter Server インスタンスが切断状態と表示されることがあります。更新または再接続を試みると、SocketTimeoutException などのネットワーク例外が発生し、処理が失敗します。

ネットワーク プール、外部ネットワーク、Edge Gateway などのネットワーク リソースを追加、編集、または削除することができません。

vcd-debug-container.log に、次のようなエントリが記録されています。
java.lang.RuntimeException: Cannot execute request - Cannot execute request -
      com.fasterxml.jackson.core.JsonParseException: Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null') at [Source: (ByteArrayInputStream); line: 1, column: 2] - Json processing error. - Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null') at [Source: UNKNOWN; line: 1, column: 2] 

VMware Cloud DirectorNSX に対する API 呼び出しを行うと、この結果は Received Response: 503 になります。

原因

これは、VMware Cloud Director インスタンスがプロキシ経由で vCenter Server または NSX と通信できないために発生します。VMware Cloud on AWS SDDC とインスタンスの関連付けで展開したプロキシ仮想マシンと VMware Cloud Director の間の通信は成功しますが、プロキシ仮想マシンと vCenter Server または NSX 間の接続は失敗します。

前提条件

  1. vCenter Server UI のリソース プールでプロキシ仮想マシンを探します。仮想マシンの名前は cds-proxy で始まります。
  2. プロキシ仮想マシンの root パスワードについては、VMware 担当者にお問い合わせください。

解決方法

  • プロキシ仮想マシンに有効な IPv4 アドレスが割り当てられていることを確認します。
    1. vCenter Server UI のリソース プールでプロキシ仮想マシンに移動し、仮想マシンに有効な IPv4 アドレスがあるかどうか確認します。
    2. 仮想マシンに有効な IPv4 アドレスがない場合は、次のいずれかを選択します。
      • [ネットワーク] タブをクリックして、有効な DHCP プロファイルのあるネットワークを選択します。
      • 仮想マシンの OS にログインして次のコマンドを実行し、IPv4 アドレスを手動で割り当てます。
        sudo ifconfig ens160 IPv4-address netmask mask
        sudo route add default gw gateway-address ens160
  • 仮想マシンの IPv4 アドレスが、VMware Cloud on AWS コンソールの [CDS プロキシ管理グループ] および [CDS プロキシ コンピューティング仮想マシン] インベントリ グループと、[CDS プロキシ ルール - xxx] NAT ルールに存在することを確認します。
    1. https://vmc.vmware.comVMware Cloud on AWS コンソールにログインします。
    2. SDDC カードをクリックし、[ネットワークとセキュリティ] をクリックします。
    3. [インベントリ] で、[グループ] をクリックします。
    4. [管理グループ] をクリックし、[CDS プロキシ管理グループ] をクリックします。
    5. [メンバーの表示] をクリックします。[IP アドレス] タブで、プロキシ仮想マシンの IP アドレスが存在することを確認します。
    6. [コンピューティング グループ] をクリックし、[CDS プロキシ コンピューティング仮想マシン] をクリックします。
    7. [IP アドレス] タブで、プロキシ仮想マシンの IPv4 アドレスが存在することを確認します。
    8. [ネットワーク] で [NAT] をクリックします。プロキシ仮想マシンの IPv4 アドレスが [CDS プロキシ ルール xxx] ルールに存在することを確認します。
  • プロキシ仮想マシンが vCenter ServerNSX Manager の内部 IP アドレスを解決できることを確認します。
    1. 必要に応じて、VMware Cloud on AWS API に GET 要求を実行して、vCenter ServerNSX Manager の FQDN を取得します。
      GET https://vmc.vmware.com/vmc/api/orgs/vmc-organization-ID/sddcs/vmc-SDDC-ID
    2. プロキシ仮想マシンの OS に root としてログインし、次のコマンドを実行します。
      nslookup vcenter-server-FQDN.com
      nslookup nsx-manager-FQDN.com
    3. vCenter Server に対する ルックアップ コマンドが失敗した場合は、対応するエントリを /etc/hosts ファイルに追加します。
      internal_vc_ip vcenter-server-FQDN.com
    4. NSX Manager FQDN のルックアップに失敗した場合は、インターネットから nslookup を実行して NSX FQDN を取得し、対応するエントリを /etc/hosts ファイルに追加します。
      public_nsx_ip nsx-manager-FQDN.com
  • vCenter Server に ping を実行して、その IP アドレスが解決されていることを確認します。
  • cURL 要求を実行して、NSX Manager のファイアウォール ルールと NAT ルールが正しく構成されていることを確認します。
    curl -v nsx-manager-FQDN.com
    ファイアウォール ルールと NAT ルールが正しく構成されている場合、要求の結果として Error 404 Page Not Found メッセージが返されます。
  • NSX Edge Gateway のファイアウォール ルールにより、プロキシ仮想マシンと vCenter ServerESXi、および VMware Cloud Director の間の接続が許可されていることを確認します。
    1. https://vmc.vmware.comVMware Cloud on AWS コンソールにログインします。
    2. SDDC カードをクリックします。
    3. [ネットワークとセキュリティ] をクリックして、[ゲートウェイ ファイアウォール ] をクリックします。
    4. [管理ゲートウェイ] タブをクリックします。[プロキシ VC アクセス][プロキシ ESX アクセス] の両方の管理ゲートウェイのファイアウォール ルールに、プロキシ仮想マシンの正しい IP アドレスが設定されていることを確認します。
    5. [コンピューティング ゲートウェイ] タブをクリックします。[CDS プロキシ コンピューティング ファイアウォール] の受信ルールと送信ルールの両方で、プロキシ仮想マシンと VMware Cloud Director service の間の接続が許可されていることを確認します。