コンソールを使用してノードをデプロイし、アプライアンス ネットワーキングを構成する

このページでは、 Google Cloud コンソールを使用してベアメタル ESXi ノードをデプロイし、 Google Cloud ネットワーキング構造を構成して、 Google Cloudの VMware ソリューションに VMware Cloud Foundation(VCF)をデプロイする準備を行う方法について説明します。

このページの手順を完了すると、 Google Cloud インフラストラクチャが VCF の起動用に準備されますが、VCF や VCF 管理アプライアンス自体はデプロイされません。

  • このワークフローの処理: ベアメタル ESXi コンピューティング インスタンスをプロビジョニングし、プライマリ ネットワーク インターフェースと動的ネットワーク インターフェース(NIC)を構成します。また、VPC サブネットとゾーン ネットワーク エンドポイント グループ(NEG)を設定し、将来の VCF 管理アプライアンスと NSX データパス用に Google Cloud ロード バランシング構造と IP アドレス予約を事前構成します。
  • このワークフローで行われないこと: 最初の ESXi root パスワードのリセット、ESXi ホスト ネットワーキング(vSwitch0 と vSAN)の初期化、VCF インストーラのデプロイ、VCF 管理アプライアンス(vCenter Server、SDDC Manager、NSX Manager など)のデプロイは行われません。初期 ESXi root パスワードをリセットし、ホストを初期化して、これらの手順を完了した後に VCF をデプロイするには、VMware ソリューション ツールキットを実行し、VCF インストーラでブリングアップを完了する必要があります。詳細については、ツールキットを使用してノードを準備し、VCF をデプロイするをご覧ください。

始める前に

開始する前に、次の要件を満たしていることを確認します。

  1. ターゲット リージョンとゾーンに、プロジェクトのベアメタル ノードの割り当てが十分にあることを確認します。必要な割り当てと、割り当ての増加を表示またはリクエストする方法については、割り当てと上限をご覧ください。
  2. 必要な Identity and Access Management(IAM)権限(Compute Admin(roles/compute.admin)など)があることを確認します。Cloud DNS を使用する場合は、DNS Administrator(roles/dns.admin)があることを確認します。
  3. Virtual Private Cloud(VPC)ネットワークを設定し、管理、vSAN、vMotion、NSX トンネル エンドポイント(TEP)のサブネット IP アドレス範囲を計画します。ノードをデプロイする前に VPC ネットワークの MTU を 8896 バイトに設定し、ノードの作成中に VMware ソリューションで新しいサブネットを作成します。

    VMware ソリューションでは、VLAN ベースのネットワーキングをサポートするために、VPC ネットワークのサブネットの [サブネット マスクを解決する] プロパティを [学習を伴うプライマリ範囲のみをブロードキャストする] に設定する必要があります。Google Cloud コンソールのサポート センターで、次の情報を含むサポート チケットを開きます。

    • プロダクト: Google Cloud VMware Engine
    • 優先度: P2
    • カテゴリ: ネットワーク接続
    • ビジネスへの影響: 技術に関する一般的な質問
    • 詳細情報を提供する: Allowlist L2 network connectivity for my project、プロジェクト ID、プロジェクト番号、デプロイのターゲット リージョンとゾーン

    VLAN ベースのネットワーキングのサポートの詳細については、レイヤ 2 エミュレーション: ARP ブロードキャストとカスタム MAC ラーニングをご覧ください。

  4. 計画されているすべての ESXi ノードのホスト名と VCF アプライアンスのエンドポイントの正引きと逆引きをサポートするように、ドメイン ネーム システム(DNS)インフラストラクチャを計画します。

  5. ノードのホスト名: デプロイ時に各ノードの完全修飾ドメイン名(FQDN)を指定します。これにより、ESXi はホスト名を使用して証明書を生成します。

  6. 信頼できるイメージのポリシー: 組織で constraints/compute.trustedImageProjects 組織ポリシーが適用されていない場合、対応は必要ありません。組織でこのポリシーが適用されている場合は、Compute Engine がベアメタル ブートディスクを作成できるように projects/smve-prod-public-images を許可します。詳細については、イメージ アクセスの制限を設定するをご覧ください。

  7. VPC Service Controls: ターゲット プロジェクトがサービス境界内にない場合、対応は必要ありません。プロジェクトがサービス境界内にある場合は、smve-prod-public-images プロジェクト(projects/999037279871)への compute.googleapis.com オペレーションを許可する下り(外向き)ルールを追加します。

    - egressFrom:
        identityType: ANY_IDENTITY
      egressTo:
        operations:
        - serviceName: compute.googleapis.com
          methodSelectors:
          - method: "*"
        resources:
        - projects/999037279871
    

    詳細については、下り(外向き)ルールのリファレンスをご覧ください。

リージョンの割り当てを確認する

ベアメタル ノードをプロビジョニングする、またはクラスタを作成する前に、プロジェクトに十分なリージョンとグローバルの Compute Engine 割り当てがあることを確認します。リージョン内の既存のすべてのクラスタのリソースを次の増分値に追加してから、プロジェクトの割り当てと比較します。

割り当て指標 ベアメタル ノードごとに必要なリソース 3 ノードクラスタに必要なリソース
compute.googleapis.com/cpus_per_vm_family(Z3) 192 vCPU 3 × 192 = 576 vCPU
compute.googleapis.com/local_ssd_total_storage_per_vm_family(Z3) 72 TB 3 × 72 TB = 216 TB
compute.googleapis.com/hyperdisk_balanced_total_storage 128 GB 3 × 128 GB = 384 GB
compute.googleapis.com/resource_policies 既存のクラスタにノードを追加する場合は 0 クラスタごとに 1 つのスプレッド プレースメント ポリシー
compute.googleapis.com/regional_backend_services_protocol_forwarding_fast_ha 新しいアプライアンスなしでノードまたはクラスタを追加する場合は 0 新しい VCF 管理アプライアンス VIP または NSX Edge エンドポイントごとに 1 つ

必要な割り当ての完全なリストと、割り当ての増加を表示またはリクエストする方法については、割り当てと上限をご覧ください。

ベアメタル ノードをデプロイしてノード ネットワーキングを構成する

ベアメタル ESXi ノードをプロビジョニングしてネットワーク インターフェースを構成するには、次の操作を行います。

  1. Google Cloud コンソールで、[VMware Engine] > [セルフマネージド] > [概要] に移動します。

    概要を表示

  2. [デプロイを開始] をクリックして、インフラストラクチャのプロビジョニングと構成のワークフローを起動します。

  3. [ノード構成] セクションで、ノードをデプロイするリージョンとゾーンを選択します。

  4. [プレースメント ポリシー] を選択するか、[新しいプレースメント ポリシーを作成] をクリックします。

    • プレースメント ポリシーを作成する場合は、名前を入力し、アベイラビリティ ドメインの数(最大 8)を選択します。
  5. ノードにデプロイする VCF バージョンを選択します。

  6. [マシンタイプ] を選択し、作成するノード数を指定します。高可用性(HA)VCF デプロイには、4 つ以上のノードが必要です。

  7. [Quickname Wizard] セクションで、[Resource name prefix] と [ドメイン名 suffix] を入力します。

    • リソース名の接頭辞: VMware ソリューションが生成されたすべてのリソース名の先頭に追加する接頭辞。
    • ドメイン サフィックス: VMware ソリューションが各ノードの完全修飾ドメイン名(FQDN)を生成するために使用する DNS ドメインのサフィックス。
  8. 各ノードの [ノード名]、[ホスト名]、[アベイラビリティ ドメイン] を確認します。[Hostname] フィールドに完全修飾ドメイン名(FQDN)を入力します。デフォルトを変更するには、[編集] をクリックします。

    • アベイラビリティ ドメイン: 各ノードのアベイラビリティ ドメインを選択します。vSAN 障害ドメインの要件に合わせて、プレースメント ポリシーで構成されたアベイラビリティ ドメインにノードを均等に分散します。詳細については、プレースメント ポリシーと可用性ドメインをご覧ください。
    • 内部 IPv4 アドレス: [エフェメラル(自動)]、[エフェメラル(カスタム)]、または [予約済み] を選択します。
      • [エフェメラル(カスタム)] を選択した場合は、IP アドレスを入力します。
      • [予約済み] を選択した場合は、既存の予約済み静的 IP を選択するか、構成の詳細を指定します。
  9. ノードが誤って削除されないようにするには、[削除からの保護を有効にする] を選択します。このオプションはデフォルトで有効になっています。

  10. 必要に応じて、[ラベルを管理] をクリックして、ノードにメタデータラベルを追加します。

  11. [続行] をクリックして、ノード ネットワークの構成に進みます。

  12. [ネットワーキング] セクションで、ノードの [VPC ネットワーク] を選択します。

  13. [ネットワーク インターフェース] セクションで、プライマリ インターフェースを構成します。

    • 既存のサブネットを選択するか、[サブネットを作成] をクリックして、名前、説明、IPv4 範囲を指定して新しいサブネットを定義します。
    • 既存のネットワーク エンドポイント グループを選択するか、[ネットワーク エンドポイント グループを作成] をクリックして新しいグループを作成します。ワークフローは、プロビジョニングされたすべてのノードをこのグループに自動的に追加します。
  14. VMware トラフィックの動的ネットワーク インターフェースを構成します。

    • Dynamic NIC(vSAN): vSAN クラスタリング トラフィックのサブネットを選択または作成します。必要に応じて、ネットワーク エンドポイント グループを割り当てます。
    • Dynamic NIC(vMotion): VM Migration トラフィックのサブネットを選択または作成します。必要に応じて、ネットワーク エンドポイント グループを割り当てます。
    • Dynamic NIC(NSX トンネル エンドポイント): NSX TEP オーバーレイ トラフィックのサブネットとネットワーク エンドポイント グループを選択または作成します。
  15. 省略可: アーキテクチャでカスタム ワークロード トラフィックに専用インターフェースが必要な場合は、Dynamic NIC を追加します。

  16. [続行] をクリックして、アプライアンスのネットワーク設定に進みます。

アプライアンス ネットワークの構成

VCF の起動時にデプロイする VCF 管理アプライアンスと NSX データパスの Google Cloud ロード バランシング リソースと IP 予約を事前に構成するには、次の操作を行います。

  1. [Configure Appliance Networking] ページで、[VCF Deployment Model] を選択します。高可用性デプロイの場合は、[高可用性デプロイ] を選択します(4 つ以上のノードが必要です)。
  2. [管理アプライアンス] テーブルと [NSX データパス] テーブルで、事前構成された Google Cloud ネットワーキング リソース名とエンドポイントを確認します。
  3. 名前または内部 IP の割り当てをカスタマイズするには、対応するテーブルの [編集] をクリックします。
    • 各アプライアンス エンドポイントに [エフェメラル(自動)]、[エフェメラル(カスタム)]、[予約済み] のいずれかを選択します。
    • 予約済みアドレスを使用する場合は、予約済み IP アドレスを指定するか、静的予約の詳細を指定します。
  4. [続行] をクリックして、構成の概要を確認します。
  5. 構成の詳細を確認し、[デプロイ] をクリックして、ベアメタル ノードをプロビジョニングし、アプライアンス ネットワーキング リソースを構成します。

Cloud DNS のゾーンとレコードを構成する

Google Cloud コンソールを使用してベアメタル インスタンスをデプロイし、アプライアンス ネットワーキングを構成する場合は、DNS ゾーンと、フォワード(A)レコードとリバース(PTR)レコードを作成する必要があります(まだ作成していない場合)。

VMware ソリューション ツールキット リポジトリでスタンドアロンの scripts/cloud_dns/vcf_cloud_dns_sync.py スクリプトを実行すると、Cloud DNS とネットワーク タイム プロトコル(NTP)DNS の設定を自動化できます。このスクリプトは、次の操作を実行します。

  • Cloud DNS API(dns.googleapis.com)を有効にします。
  • Cloud DNS サーバー ポリシー(デフォルト設定)が VPC ネットワークに接続されていることを確認します。
  • 限定公開の正引きゾーンと逆引き参照ゾーンが存在し、VPC ネットワークにバインドされていることを確認します。
  • Z3 ベアメタル ノードと管理サブネットの内部ロードバランサ フロントエンドのフォワード(A)DNS レコードとリバース(PTR)DNS レコードを同期します(-fr 接尾辞を削除し、IP のみの NSX TEP とアップリンク サブネット ロードバランサをスキップします)。
  • プライベート前方参照ゾーンの NTP DNS レコード(ntp.DOMAIN_NAME)を管理します(たとえば、169.254.169.254 の Compute Engine メタデータ サーバーを指します)。

スクリプトを取得するには、ツールキット リポジトリのクローンを作成し、scripts/cloud_dns ディレクトリに移動します。

git clone https://github.com/GoogleCloudPlatform/self-managed-vmware-solution-toolkit
cd self-managed-vmware-solution-toolkit/scripts/cloud_dns

ドライラン モードで変更をプレビューする

変更を適用せずに、すべての Cloud DNS API、ポリシー、ゾーン、ノード、内部ロードバランサ レコード、NTP オペレーションをプレビューするには、--dry-run フラグを指定してスクリプトを実行します。

python3 vcf_cloud_dns_sync.py \
    --project-id PROJECT_ID \
    --vpc-network VPC_NETWORK_NAME \
    --domain DOMAIN_NAME \
    --sync-all \
    --set-ntp-ip 169.254.169.254 \
    --dry-run

初期の Day-0 DNS 設定を実行する

Google Cloud コンソールで VPC ネットワーク、サブネット、Z3 ベアメタル インスタンス、NEG、内部ロードバランサの転送ルールをプロビジョニングした後、VCF インストーラの検証を実行する前に、次のコマンドを実行します。このコマンドは、Cloud DNS API を有効にし、VPC DNS ポリシーを作成し、NSX 以外のサブネットからプライベート転送ゾーンと /16(または /8)逆引きゾーンを作成し、すべてのノードと管理フロントエンドの A レコードと PTR レコードを登録し(NSX サブネット ロードバランサをスキップ)、Compute Engine メタデータ サーバー(169.254.169.254)を指すように ntp.DOMAIN_NAME を構成します。

python3 vcf_cloud_dns_sync.py \
    --project-id PROJECT_ID \
    --vpc-network VPC_NETWORK_NAME \
    --domain DOMAIN_NAME \
    --sync-all \
    --set-ntp-ip 169.254.169.254

2 日目のスケールアウトのためにレコードを同期する

Google Cloud コンソールで新しい Z3 ベアメタル ホストまたはワークロード ドメインの内部ロードバランサ転送ルールを追加したら、--sync-all フラグを指定してスクリプトを再実行し、新しく追加されたレコードのみを登録します(変更されていない既存のレコードは自動的にスキップされます)。

python3 vcf_cloud_dns_sync.py \
    --project-id PROJECT_ID \
    --vpc-network VPC_NETWORK_NAME \
    --domain DOMAIN_NAME \
    --sync-all

コンピューティング リソースをプロビジョニングする前に DNS ゾーンと VPC ポリシーをブートストラップする

Cloud DNS API を有効にし、VPC DNS ポリシーを作成して、ベアメタル ノードまたはロードバランサ フロントエンドをプロビジョニングする前に、転送ゾーンとリバースゾーンを作成する場合は、次のコマンドを実行します。

python3 vcf_cloud_dns_sync.py \
    --project-id PROJECT_ID \
    --vpc-network VPC_NETWORK_NAME \
    --domain DOMAIN_NAME \
    --reverse-zones REVERSE_ZONE_NAME=REVERSE_SUBNET_CIDR \
    --setup-zones

カスタム リソース名または事前に作成された管理者リソースを使用する

デフォルトのリソース名をオーバーライドする場合、または管理者が事前にプロビジョニングした VPC DNS ポリシーやマネージド ゾーンの作成をスキップする場合は、次のいずれかのオプションを使用します。

  • カスタムゾーンとポリシー名を指定します(複数の --reverse-zones エントリを指定できます)。

    python3 vcf_cloud_dns_sync.py \
        --project-id PROJECT_ID \
        --vpc-network VPC_NETWORK_NAME \
        --domain DOMAIN_NAME \
        --dns-policy CUSTOM_DNS_POLICY_NAME \
        --forward-zone CUSTOM_FORWARD_ZONE_NAME \
        --reverse-zones REVERSE_ZONE_1=CIDR_1 REVERSE_ZONE_2=CIDR_2 \
        --sync-all
    
  • VPC DNS ポリシーの作成をスキップする(ポリシーがすでに存在する場合):

    python3 vcf_cloud_dns_sync.py \
        --project-id PROJECT_ID \
        --vpc-network VPC_NETWORK_NAME \
        --domain DOMAIN_NAME \
        --no-create-dns-policy \
        --sync-all
    
  • 前方ゾーンと逆引きゾーンの作成をスキップする(ゾーンが管理者によって事前に作成されている場合。--reverse-zones を渡す必要があります)。

    python3 vcf_cloud_dns_sync.py \
        --project-id PROJECT_ID \
        --vpc-network VPC_NETWORK_NAME \
        --domain DOMAIN_NAME \
        --reverse-zones REVERSE_ZONE_1=CIDR_1 REVERSE_ZONE_2=CIDR_2 \
        --no-create-zones \
        --sync-all
    

前述のコマンドを実行する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloudプロジェクトの ID。
  • VPC_NETWORK_NAME: VPC ネットワークの名前。
  • DOMAIN_NAME: VCF 環境の DNS ドメイン サフィックス(例: vcf.example.com)。
  • REVERSE_ZONE_NAME=REVERSE_SUBNET_CIDR: 逆引き参照ゾーンのマネージド ゾーン名と CIDR ブロック(例: smve-rev-10-10=10.10.0.0/16)。
  • CUSTOM_DNS_POLICY_NAME: Cloud DNS サーバー ポリシーのカスタム名。
  • CUSTOM_FORWARD_ZONE_NAME: 限定公開転送マネージド ゾーンのカスタム名。
  • REVERSE_ZONE_1=CIDR_1 と REVERSE_ZONE_2=CIDR_2: 1 つ以上のリバース マネージド ゾーン名と CIDR のペア(例: my-rev-zone-1=10.10.1.0/24 my-rev-zone-2=10.10.2.0/24)。

次のステップ

ベアメタル ノード、 Google Cloud ネットワーキング リソース、DNS レコードを構成したら、次の手順でホストを準備し、VCF をデプロイします。

  1. vcf_cloud_dns_sync.py を使用して Cloud DNS を構成する代わりに外部 DNS サーバーを使用する場合は、次のフォワード(A)レコードとリバース(PTR)レコードで DNS サーバーを更新します。
    • すべての ESXi ノードのホスト名と内部 IP アドレス。
    • すべての VCF 管理アプライアンスのホスト名と内部 IP アドレス。
  2. ノード準備ツールキットを実行して、各ホストの初期 ESXi root パスワードをリセットし、ESXi ホストを初期化して、VCF インストーラをデプロイします。手順ガイドについては、ツールキットを使用してノードを準備し、VCF をデプロイするをご覧ください。
  3. VMware Cloud Foundation(VCF)インストーラにアクセスしてデプロイを完了し、管理ドメインを起動します。VCF の初期化を完了する手順については、Broadcom のドキュメントの新しい VCF フリートまたは新しい VCF インスタンスをデプロイするをご覧ください。