サブネットの管理

このドキュメントでは、VMware Engine でサブネットを管理する方法について説明します。管理サブネットは、Google Cloud CLI または API を使用して表示できる読み取り専用サブネットです。userDefined タイプのサブネットを更新することもできます。

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
    
    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 と通信します。このアプローチを使用するには、ライブラリをインストールし、アプリケーションのデフォルト認証情報を構成する必要があります。

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

     pip install google-cloud-vmwareengine
    
  2. シェルで次のコマンドを実行して、アプリケーションのデフォルト認証情報を構成する

      gcloud auth application-default login
    

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

      export GOOGLE_APPLICATION_CREDENTIALS="FILE_PATH"
    

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

userDefined サブネットを編集する

userDefined サブネットは、Google Cloud CLI または VMware Engine API を使用して編集できます。どちらの方法でも、サブネットとプライベート クラウドの名前が必要です。

gcloud

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

     gcloud vmware private-clouds subnets update SUBNET_NAME 
--private-cloud=PC_NAME --location=ZONE
--ip-cidr-range=10.0.0.0/24

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

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

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/PC_NAME/subnets/SUBNET_NAME?update_mask=ip_cidr_range" -d '{
    "ip_cidr_range": "10.0.0.0/24"
 }'

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

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

管理用サブネットを一覧表示する

VMware Engine プライベート クラウドの管理用サブネットを一覧表示するには、Google Cloud CLI または VMware Engine API を使用して次のコマンドを入力します。このコマンドには、クラスタとプライベート クラウドの名前が必要です。

gcloud

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

     gcloud vmware private-clouds subnets list --private-cloud=PC_NAME 
--location=ZONE

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

  • PC_NAME: プライベート クラウドの名前
  • 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/PC_NAME/subnets"

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

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

管理用サブネットの説明を取得する

次のコマンドを入力すると、管理用サブネットの説明を取得できます。

gcloud

Google Cloud CLI で gcloud vmware private-clouds subnets update コマンドを入力してサブネットの説明を取得します。

     gcloud vmware private-clouds subnets describe SUBNET_NAME-pcon 
--private-cloud=PC_NAME
--location=ZONE

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

  • SUBNET_NAME: このプライベート クラウドで更新するサブネットの名前
  • PC_NAME: プライベート クラウドの名前
  • 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/REGION/privateClouds/PC_NAME/subnets/SUBNET_NAME"

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

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

次のステップ