サブネットの構成と管理

このドキュメントでは、VMware Engine でさまざまなサブネットを作成して管理する方法について説明します。

サブネットには、ワークロードのサブネット、サービスのサブネット、管理ワークロードのサブネットの 3 種類があります。

ワークロードのサブネット

ワークロード仮想マシン(VM)の場合は、プライベート クラウド用の NSX-T Manager でネットワーク セグメントを作成する必要があります。NSX-T Manager で作成されたネットワーク セグメントは、VMware Engine には表示されません。

NSX-T Manager にアクセスする

サブネットの作成プロセスは、VMware Engine を使用してアクセスする NSX-T で実施されます。

  1. Google Cloud コンソールにアクセスします。
  2. メイン ナビゲーションから [プライベート クラウド] をクリックします。
  3. サブネットを作成するプライベート クラウド名をクリックします。
  4. [管理アプライアンス] で、NSX Manager に対応する [URL] をクリックします。
  5. プロンプトが表示されたら、ログイン認証情報を入力します。なお、プライベート クラウドの詳細ページから生成された認証情報を取得することもできます。

NSX-T を設定して ID ソース(Active Directory など)を使用している場合は、代わりに ID ソースの認証情報を使用します。

ワークロード ネットワーク セグメントを作成する

ワークロード VM の場合は、プライベート クラウド用の NSX-T ネットワーク セグメントとしてサブネットを作成します。

  1. NSX-T で、[Networking] > [Segments] の順に移動します。
  2. [Add Segment] をクリックします。
  3. [Segment Name] フィールドにセグメントの名前を入力します。
  4. [Connected Gateway] リストで、[Tier1] を選択して、Tier-1 ゲートウェイに接続します。
  5. [Transport zone] リストで、[TZ-OVERLAY | Overlay] を選択します。
  6. [Subnets] 列に、サブネット範囲を入力します。サブネット範囲には、.1 を最後のオクテットとして指定します。例: 10.12.2.1/24
  7. [Set DHCP Config] をクリックし、[DHCP Ranges] フィールドの値を指定します。
  8. [Apply] をクリックして DHCP の構成を保存します。
  9. [Save] をクリックします。これで、VM の作成時に、vCenter でこのネットワーク セグメントを選択できるようになりました。

特定のリージョンでは、プライベート サービス アクセスを使用して、VMware Engine から VPC ネットワークへの一意のルートを最大で 100 までアドバタイズできます。たとえば、これらの一意のルートには、プライベート クラウド管理 IP アドレス範囲、NSX-T ワークロード ネットワーク セグメント、HCX 内部 IP アドレス範囲が含まれます。このルートの上限は、リージョン内のすべてのプライベート クラウドを含み、Cloud Router の学習したルートの上限に対応します。

ルーティングの上限については、Cloud Router の割り当てと上限をご覧ください。

サービスのサブネット

サービスのサブネットは、追加サービスがサブネット化する際に VMware Engine が自動的に作成する userDefined サブネットです。サービスのサブネットは、ストレージ、バックアップ、障害復旧(DR)、メディア ストリーミングなど、アプライアンスまたはサービスのデプロイ シナリオを対象としています。また、最大規模のプライベート クラウドでも大規模な線形スループットとパケット処理が可能です。使用可能なサービスのサブネット名は次のとおりです。

  • service-1
  • service-2
  • service-3
  • service-4
  • service-5

サービスのサブネットをまたぐ仮想マシンの通信は、VMware ESXi ホストから Google Cloud ネットワーク インフラストラクチャに直接送信され、高速通信を可能にします。

サービスのサブネットの構成

追加サービスがサブネット化すると、VMware Engine によってサービスのサブネットが自動的に作成されます。VMware Engine によってサービスのサブネットが作成されるときに、CIDR 範囲または接頭辞は割り振られません。CIDR 範囲と接頭辞を重複させないようにしてください。使用できる最初のアドレスがゲートウェイ アドレスになります。CIDR 範囲と接頭辞を割り当てるには、サービスのサブネットの一つを編集します。

CIDR 要件が変更された場合、サービスのサブネットを更新できます。既存のサービス サブネットの CIDR を変更すると、そのサービス サブネットに接続されている VM でネットワークが使用できなくなる可能性があります。

vSphere 分散ポートグループの構成

また、VM をサービスのサブネットに接続するには、新しい分散ポートグループを作成する必要があります。このポートグループは、サービスのサブネット ID を vCenter プライベート クラウド内のネットワーク名にマッピングします。手順は次のとおりです。

  1. VMware vCenter Interface に接続します(管理用アプライアンスへのアクセスをご覧ください)。
  2. vCenter インターフェースの [ネットワークの構成] セクションに移動します。
  3. [Datacenter-dvs] を選択し、[New Distributed Port Group] を選択します。

分散ポートグループが作成されたら、VM プロパティのネットワーク構成で対応する名前を選択して、VM を接続できます。分散ポートグループの重要な構成値は次のとおりです。

  • ポート バインディング: 静的バインディング
  • ポートの割り当て: Elastic
  • ポート数: 120
  • VLAN タイプ: VLAN
  • VLAN ID: Google Cloud VMware Engine インターフェースのサブネット セクション内の対応するサブネット ID

Google Cloud CLI と API の要件

gcloud コマンドライン ツールまたは API を使用して VMware Engine リソースを管理するには、以下で説明するようにツールを構成することをおすすめします。

gcloud

  1. デフォルトのプロジェクト ID を設定します。

    gcloud config set project PROJECT_ID
    
  2. デフォルトのリージョンとゾーンを設定します。

    gcloud config set compute/region REGION
    
    gcloud config set compute/zone ZONE
    

gcloud vmware ツールの詳細については、Cloud SDK リファレンス ドキュメントをご確認ください

API

このドキュメント セットの API の例では、cURL コマンドライン ツールを使用して API がクエリされています。cURL リクエストには、有効なアクセス トークンが必要です。有効なアクセス トークンを取得するにはさまざまな方法があります。次の手順では、gcloud ツールを使用してアクセス トークンを生成します。

  1. Google Cloud にログインします。

    gcloud auth login
    
  2. アクセス トークンを生成して TOKEN にエクスポートします。

    export TOKEN=`gcloud auth print-access-token`
    
  3. TOKEN が正しく設定されていることを確認します。

    echo $TOKEN
    

API へのリクエストで認証トークンを使用します。次に例を示します。

curl -X GET -H "Authorization: Bearer \"$TOKEN\"" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations

Python

このドキュメントの Python コードサンプルは、VMware Engine ライブラリを使用して API と通信します。このアプローチを使用するには、ライブラリをインストールし、アプリケーションのデフォルト認証情報を構成する必要があります。

  1. Python ライブラリをダウンロードしてインストールします。

    pip install google-cloud-vmwareengine
    
  2. シェルで次のコマンドを実行して、ADC 情報を構成します。

    gcloud auth application-default login
    

    または、サービス アカウント キー ファイルを使用します。

    export GOOGLE_APPLICATION_CREDENTIALS="FILE_PATH"
    

ライブラリの詳細については、リファレンス ページまたは GitHub のコードサンプルをご覧ください。

userDefined サブネットは、Google Cloud コンソール、Google Cloud CLI、または VMware Engine API を使用して構成できます。サブネットとプライベート クラウドの名前を把握しておく必要があります。

コンソール

  1. Google Cloud コンソールにアクセスします。
  2. メイン ナビゲーション メニューで [サブネット] を選択します。
  3. 編集する userDefined サブネットを探し、鉛筆アイコンをクリックしてサブネットを編集します。

gcloud

Google Cloud CLI を使用して、gcloud vmware private-clouds subnets update コマンドでサブネットを編集します。

gcloud vmware private-clouds subnets update SUBNET_NAME \
  --private-cloud=PRIVATE_CLOUD_ID \
  --location=ZONE \
  --ip-cidr-range=`IP_ADDRESS`

次のように置き換えます。

  • SUBNET_NAME: このプライベート クラウドで更新するサブネットの名前
  • PRIVATE_CLOUD_ID: プライベート クラウドの名前
  • ZONE: プライベート クラウドのゾーン
  • IP_ADDRESS: IP アドレスと範囲(例: 10.0.0.0/24

API

VMware Engine API を使用してサブネットを編集するには、PATCH リクエストを行います。

 curl -sSL -XPATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json; charset=utf-8"
 "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/subnets/SUBNET_NAME?update_mask=ip_cidr_range" -d '{
    "ip_cidr_range": "IP_ADDRESS"
 }'

次のように置き換えます。

  • PROJECT_ID: このリクエストのプロジェクト ID。
  • ZONE: プライベート クラウドのゾーン
  • PRIVATE_CLOUD_ID: プライベート クラウドの名前
  • SUBNET_NAME: このプライベート クラウドで更新するサブネットの名前
  • IP_ADDRESS: IP アドレスと範囲(例: 10.0.0.0/24

管理サブネット

管理サブネットは、Google Cloud CLI または VMware Engine API を使用して表示できる読み取り専用サブネットです。

すべてのサブネットの一覧表示

Google Cloud コンソール、Google Cloud CLI、または API でサブネットのリストを表示します。

コンソール

  1. Google Cloud コンソールにアクセスします。
  2. メイン ナビゲーション メニューで [サブネット] を選択して、サブネットのリストを表示します。

gcloud

Google Cloud CLI で gcloud vmware private-clouds subnets list コマンドを入力してサブネットを一覧表示します。

gcloud vmware private-clouds subnets list \
  --private-cloud=PRIVATE_CLOUD_ID \
  --location=ZONE

次のように置き換えます。

  • PRIVATE_CLOUD_ID: プライベート クラウドの名前
  • ZONE: プライベート クラウドのゾーン

API

VMware Engine API を使用してサブネットを一覧表示するには、GET リクエストを行います。

 curl -sSL -XGET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json; charset=utf-8"
 "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/subnets"

次のように置き換えます。

  • PROJECT_ID: このリクエストのプロジェクト ID。
  • ZONE: プライベート クラウドのゾーン
  • PRIVATE_CLOUD_ID: プライベート クラウドの名前

サブネットの情報を取得する

サブネットの説明は次の手順で取得できます。

コンソール

  1. Google Cloud コンソールにアクセスします。
  2. メイン ナビゲーション メニューで [サブネット] を選択して、サブネットのリストと各サブネットの詳細を表示します。

gcloud

gcloud vmware private-clouds subnets update コマンドを使用して、サブネットの説明を取得します。

gcloud vmware private-clouds subnets describe SUBNET_NAME \
  --private-cloud=PRIVATE_CLOUD_ID \
  --location=ZONE

次のように置き換えます。

  • SUBNET_NAME: このプライベート クラウドで更新するサブネットの名前
  • PRIVATE_CLOUD_ID: プライベート クラウドの名前
  • ZONE: プライベート クラウドのゾーン

API

VMware Engine API を使用してサブネットの説明を取得するには、GET リクエストを行います。

GET "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/privateClouds/PRIVATE_CLOUD_ID/subnets/SUBNET_NAME"

次のように置き換えます。

  • PROJECT_ID: このリクエストのプロジェクト名
  • REGION: ネットワークのリージョン
  • PRIVATE_CLOUD_ID: プライベート クラウドの名前
  • SUBNET_NAME: このプライベート クラウドで更新するサブネットの名前

次のステップ