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

問題

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

仮想マシン コンソールを表示できないか、OVF および OVA ファイルをアップロードまたはダウンロードできません。

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

VMware Cloud DirectorNSX への API 呼び出しを行うと、vcd-debug-container.log に、Received Response: 503 のようなエントリが記録されます。

注: VMware Cloud Director service プロキシ クライアント アプライアンスの新しいバージョンでは、 diagnose.sh トラブルシューティング コマンドを使用してアプライアンスの問題を診断できます。「 VMware Cloud Director service プロキシ クライアント アプライアンスをトラブルシューティングする方法」を参照してください。 diagnose.sh コマンドを実行しようとしてエラーが発生した場合は、次のトラブルシューティング手順に従ってください。

原因

この問題は、VMware Cloud Director インスタンスが vCenter ServerESXi ホストと通信できないか、NSX 経由で VMware Proxy Service と通信できないために発生します。

これには 2 つの理由が考えられます。

VMware Cloud DirectorVMware Proxy Service 間の通信が失敗しています。あるいは、VMware Cloud on AWS SDDC とインスタンスの関連付けで展開したプロキシ仮想マシンと VMware Cloud Director 間の通信が成功しても、プロキシ仮想マシンと vCenter Server または NSX 間の接続が失敗しています。

前提条件

  1. VMware Cloud Director ユーザー インターフェイスのリソース プールで、SDDC と vCenter Server インスタンスの関連付けで展開した VMware リバース プロキシ クライアント仮想マシンを見つけます。
  2. リバース プロキシ クライアント仮想マシンの OS に root としてログインします。
    ヒント: 仮想マシンの vApp プロパティで、 root-password の下に root ユーザーのパスワードがあります。

解決方法

  • 仮想マシンがネットワークに接続されていることを確認するには、transporter-status.sh コマンドを実行します。
    仮想マシンが接続されている場合、このコマンドから UP ステータスが返されます。また、 command_channel_1command_channel_2 のステータスが CONNECTED と返されます。
  • VMware リバース プロキシ クライアント仮想マシンに有効な IPv4 アドレスがあることを確認します。
    1. vCenter Server のリソース プールで仮想マシンに移動し、仮想マシンに有効な IPv4 アドレスがあるかどうか確認します。
    2. 仮想マシンに有効な IPv4 アドレスがない場合は、次のいずれかを選択します。
      • [ネットワーク] タブをクリックして、有効な DHCP プロファイルのあるネットワークを選択します。
      • 仮想マシンの OS にログインして次のコマンドを実行し、IPv4 アドレスを手動で割り当てます。
        sudo ifconfig ens160 IPv4-address netmask mask
        sudo route add default gw gateway-address ens160
  • VMware リバース プロキシ クライアント仮想マシンの最新イメージが保存されている URL に cURL 要求を実行します。
  • VMware リバース プロキシ クライアント仮想マシンの OS から、VMware プロキシ サービスへの cURL 要求を実行します。
    curl -v <VMware-Proxy-Service-IP-address>
    VMware プロキシ サービスの IP アドレスは、VMware リバース プロキシ クライアント仮想マシンの vApp プロパティの reverse-proxy-host にあります。
    このコマンドは、次のような結果を返します。
    Connected to <VMware-Proxy-Service-IP-address> port 80
  • VMware リバース プロキシ クライアント仮想マシンから vCenter ServerNSX、および ESXi への ping の送信を許可しないファイアウォール ルールや、その他のネットワークの問題がないことを確認します。
    許可されたターゲット リストに CIDR 表記が含まれ、その中のホストの 1 つにアクセスできない場合は、特定のホストに対する ping が成功することを確認します。成功した場合は、ホストの IP アドレスまたは FQDN を別のエントリとしてリストに追加します。
  • VMware リバース プロキシ クライアント仮想マシンが有効な API トークンを使用していることを確認します。
    現在の API トークンは、VMware リバース プロキシ クライアント仮想マシンの vApp プロパティの csp-token にあります。
    1. 要求の本文に refresh_token={your-api-token-value} を使用して、https://console.cloud.vmware.com/csp/gateway/am/api/auth/api-tokens/authorize に対して POST 要求を実行します。
      例:
      curl --location --request POST 'https://console.cloud.vmware.com/csp/gateway/am/api/auth/api-tokens/authorize' \
      --header 'Accept: application/json' \
      --header 'Content-Type: application/x-www-form-urlencoded' \
      --header 'Cookie: incap_ses_8217_1285679=sJfafQlQfgUmPGK0X6YIckRAaWIAAAAAZ5DsTuKH0eALPsXXCrk1Lw==; nlbi_1285679=qGFfKYa/khghkd06+iiRRwAAAAA7h7npdR2O1o9/MIk2Plre' \
      --data-urlencode 'refresh_token=<your-csp-token>'

      API トークンが期限切れの場合、要求は Invalid Token または 400 Bad Request エラーを返します。「VMware リバース プロキシ クライアント仮想マシンの API トークンを更新する方法」を参照してください。

      API トークンが有効な場合、要求は次のようなアクセス トークンを含む応答を返します。
      {
        "id_token": "eyJhbGciOiJS.......srRmGX9eYKOKMA",
        "token_type": "bearer",
        "expires_in": 1799,
        "scope": "ALL_PERMISSIONS openid group_ids group_names",
        "access_token": "eyJhbGciOiJSU.........Q6Y9Yohgw",
        "refresh_token": "B4STbh2fYFmjI9ABCv..............XeRniDiO4cBJjF82sWWprZfm7OLHn"
      }

      関連する部分は access_token です。この部分は、"ey" で始まる JSON Web Token (JWT) です。

    2. access_token をコピーして、https://jwt.io/[Encoded] セクションに貼り付けます。
    3. ペイロードで、context_nameVMware Cloud 組織の組織 ID が含まれ、Perms セクションに provider:network ロールが含まれていることを確認します。
      これらの条件のいずれかが満たされていない場合は、API トークンを更新します。「 VMware リバース プロキシ クライアント仮想マシンの API トークンを更新する方法」を参照してください。