VMware Engine プライベート クラウドの作成
プライベート クラウドとは、ESXi ホスト、vCenter、vSAN、NSX-T、HCX で構成される、分離された VMware スタックのことです。プライベート クラウドは、Google Cloud VMware Engine ポータルを介して管理されます。プライベート クラウドを作成すると、単一の vSphere クラスタと、そのクラスタ内に作成されるすべての管理 VM が得られます。
VMware Engine では、vSphere / vSAN サブネット用に選択したネットワークに管理コンポーネントをデプロイします。ネットワーク IP アドレス範囲は、デプロイ中に異なるサブネットに分割されます。
始める前に
このページのタスクを実行する前に、次の準備を行っておく必要があります。
- プライベート クラウドの vSphere / vSAN サブネットに一意の IP アドレス範囲を割り振る。
- 最小の CIDR 範囲プレフィックス: /24
- 最大の CIDR 範囲プレフィックス: /21
- Cloud DNS を使用したグローバルなアドレス解決が必要な場合は、プライベート クラウドを作成する前に Cloud DNS API を有効化して Cloud DNS の設定を完了します。
vSphere / vSAN のサブネット アドレス空間は、オンプレミス ネットワークと Google Cloud Virtual Private Cloud(VPC)など、プライベート クラウドと通信するネットワークと重複しないようにする必要があります。vSphere または vSAN サブネットの詳細については、VMware Engine の VLAN とサブネットをご覧ください。
gcloud と API の要件
gcloud
コマンドライン ツールまたは API を使用して VMware Engine リソースを管理するには、以下で説明するようにツールを構成することをおすすめします。
gcloud
デフォルトのプロジェクト ID を設定します。
gcloud config set project PROJECT_ID
デフォルトのリージョンとゾーンを設定します。
gcloud config set compute/region REGION
gcloud config set compute/zone ZONE
gcloud vmware
ツールの詳細については、Cloud SDK リファレンス ドキュメントをご確認ください。
API
このドキュメント セットの API の例では、cURL
コマンドライン ツールを使用して API がクエリされています。cURL
リクエストには、有効なアクセス トークンが必要です。有効なアクセス トークンを取得するにはさまざまな方法があります。次の手順では、gcloud
ツールを使用してアクセス トークンを生成します。
Google Cloud にログインする
gcloud auth login
アクセス トークンを生成して TOKEN にエクスポートする
export TOKEN=`gcloud auth print-access-token`
TOKEN が正しく設定されていることを確認する
echo $TOKEN Output: 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 と通信します。このアプローチを使用するには、ライブラリをインストールし、アプリケーションのデフォルト認証情報を構成する必要があります。
Python ライブラリをダウンロードしてインストールする
pip install google-cloud-vmwareengine
シェルで次のコマンドを実行して、アプリケーションのデフォルト認証情報を構成する
gcloud auth application-default login
または、サービス アカウント キー ファイルを使用する
export GOOGLE_APPLICATION_CREDENTIALS="FILE_PATH"
ライブラリの詳細については、リファレンス ページまたは GitHub のコードサンプルをご覧ください。
プライベート クラウドを作成する
コンソール
- Google Cloud VMware Engine ポータルにアクセスします。
- [Resources] ページで [Create private cloud] をクリックします。
- プライベート クラウドのロケーションを選択します。
- プライベート クラウドのノード数を選択します。本番環境ワークロードの場合、少なくとも 3 つのノードを持つプライベート クラウドを作成します。VMware Engine は、60 日後にノードが 1 つのみ存在するプライベート クラウドを削除します。
- 省略可: 管理クラスタ内の各ノードで使用可能なコア数を減らすには、[Customize Cores] トグルをクリックします。詳細については、カスタムコア数をご覧ください。
- VMware 管理ネットワークの CIDR 範囲を入力します。この範囲の制限については、始める前にのセクションをご覧ください。
- HCX デプロイ ネットワークの CIDR 範囲を入力します。これは HCX コンポーネントのデプロイに使用されます。CIDR 範囲がオンプレミス サブネットやクラウド サブネットと重複していないことを確認します。CIDR 範囲は、/27 以上である必要があります。
- [確認して作成] を選択します。
- 設定を確認します。設定を変更するには、[Back] をクリックします。
- [Create] をクリックして、プライベート クラウドのプロビジョニングを開始します。
VMware Engine は新しいプライベート クラウドが作成されると、多数の VMware コンポーネントがデプロイされ、指定された IP アドレス範囲がサブネットに分割されます。プライベート クラウドの作成には 30 分から 2 時間かかる場合があります。プロビジョニングが完了すると、メールが届きます。
gcloud
[省略可] プロジェクトで使用可能なリージョンとゾーンを一覧表示します。
gcloud vmware locations list --project=PROJECT_ID
プライベート クラウドのネットワークを作成します。ネットワーク名の形式は、REGION-default にする必要があります。
gcloud vmware networks create REGION-default --type=LEGACY --location=REGION --description="Legacy network created using gcloud vmware"
このリクエストはオペレーション ID を返します。
オペレーションのステータスを確認します。オペレーションが
DONE
として返されたら、レスポンスをチェックしてオペレーションが成功したかどうかを確認します。gcloud vmware operations describe OPERATION_ID \ --location REGION
OPERATION_ID
は、前の手順の ID に置き換えます。次に、3 ノードのプライベート クラウドを作成します。
gcloud vmware private-clouds create PC_NAME \ --location=ZONE --cluster=CLUSTER_NAME\ --node-type-config=standard-72,count=3 \ --management-range=192.168.0.0/24 \ --vmware-engine-network=NETWORK_NAME
次のように置き換えます。
PC_NAME
: プライベート クラウドの名前ZONE
: プライベート クラウドのゾーンCLUSTER_NAME
: このプライベート クラウドの新しいクラスタの名前NETWORK_NAME
: このクラウドのネットワーク名
リクエストはオペレーション ID を返します。この ID を使用してオペレーションの進行状況を確認できます。
オペレーションのステータスを確認します。オペレーションが
DONE
として返されたら、レスポンスをチェックしてオペレーションが成功したかどうかを確認します。gcloud vmware operations describe OPERATION_ID \ --location REGION
OPERATION_ID
は、前の手順の ID に置き換えます。プライベート サービス アクセスを設定して、VMware Engine ネットワークを VPC に接続します。
vCenter と NSX-T の認証情報を取得します。
gcloud vmware private-clouds vcenter credentials describe \ --private-cloud=PC_NAME --location=ZONE
gcloud vmware private-clouds nsx credentials describe \ --private-cloud=PC_NAME --location=ZONE
API
レガシー ネットワークを作成します。ネットワーク名は、
REGION-default
の形式にする必要があります。curl -X POST -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/vmwareEngineNetworks?vmwareEngineNetworkId=REGION-default -d "{"type": "legacy"}"
次のように置き換えます。
TOKEN
: このリクエストの認証トークン。PROJECT_ID
: このリクエストのプロジェクト。REGION
: このネットワークを作成するリージョン。
リクエストはオペレーション ID を返します。この ID を使用してオペレーションの進行状況を確認できます。
オペレーションのステータスを確認します。オペレーションが
DONE
として返されたら、レスポンスをチェックしてオペレーションが成功したかどうかを確認します。curl -X GET -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
OPERATION_ID
は、前の手順の ID に置き換えます。3 ノードのプライベート クラウドを作成します。
curl -X POST -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds?privateCloudId=PC_NAME -d "{ "networkConfig":{ "vmwareEngineNetwork":"projects/PROJECT_ID/locations/REGION/vmwareEngineNetworks/REGION-default", "managementCidr":"10.241.0.0/22" }, "managementCluster":{ "clusterId": "CLUSTER_NAME", "nodeTypeConfigs": { "standard-72": { "nodeCount": 3 } } } }"
次のように置き換えます。
TOKEN
: このリクエストの認証トークン。PROJECT_ID
: このリクエストのプロジェクトZONE
: プライベート クラウドのゾーンPC_NAME
: プライベート クラウドの名前REGION
: このプライベート クラウドのネットワークのリージョンCLUSTER_NAME
: このプライベート クラウドの新しいクラスタの名前
リクエストはオペレーション ID を返します。この ID を使用してオペレーションの進行状況を確認できます。
オペレーションのステータスを確認します。オペレーションが
DONE
として返されたら、レスポンスをチェックしてオペレーションが成功したかどうかを確認します。curl -X GET -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
OPERATION_ID
は、前の手順の ID に置き換えます。プライベート サービス アクセスを設定して、VMware Engine ネットワークを VPC に接続します。
vCenter と NSX-T の認証情報を取得します。
curl -X GET -H "Authorization: Bearer \"TOKEN"\" -H "Content-Type: application/json; charset=utf-8" "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/my-private-cloud:showVcenterCredentials"
curl -X GET -H "Authorization: Bearer \"TOKEN"\" -H "Content-Type: application/json; charset=utf-8" "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/my-private-cloud:showNsxCredentials"
Python
レガシー ネットワークを作成します。
3 ノードのプライベート クラウドを作成します。
create_private_cloud
関数は、オペレーションの進行状況を確認するために使用できるオペレーション オブジェクトを返します。オペレーションのステータスを確認します。次のコードにより、オペレーションに関する現在の情報を取得します。
オペレーション オブジェクトのメンバー メソッド
.result()
を使用して、オペレーションが完了するまで待機できます。プライベート サービス アクセスを設定して、VMware Engine ネットワークを VPC に接続します。
vCenter と NSX-T の認証情報を取得します。