VMware Engine で NFS ボリュームを vSphere データストアとして使用する

このページでは、VMware Engine で NFS ボリュームを vSphere データストアとして使用する方法について説明します。VMware Engine API、Google Cloud CLI、または Terraform を使用して、Filestore インスタンス、Google Cloud NetApp Volumes ボリューム、またはサードパーティの NFS 共有を基盤とする NFS データストアを作成して管理できます。API エンドポイントは vmwareengine.googleapis.com です。Datastore の作成、更新、削除、マウント、マウント解除を行う API と gcloud CLI のオペレーションは非同期です。これらのオペレーションのいずれかを開始すると、VMware Engine はリクエストのステータスを追跡するために使用できるオペレーション オブジェクトを返します。

オペレーションをモニタリングする

オペレーションのステータスを追跡するには、API または gcloud CLI を使用します。

API

curl -X GET \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID

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

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: オペレーションのロケーション。
  • OPERATION_ID: トラッキング対象のオペレーションの ID。

gcloud

gcloud vmware operations describe OPERATION_ID --location=LOCATION --project=PROJECT_ID

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

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: オペレーションのロケーション。
  • OPERATION_ID: トラッキング対象のオペレーションの ID。

NFS データストアを作成する

Filestore インスタンス、Google Cloud NetApp Volumes ボリューム、またはサードパーティの NFS 共有を基盤とするデータストアを作成するには、Terraform、API、または gcloud CLI を使用します。API を使用してデータストアを作成するには、次の POST リクエストを行います。

POST https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datastores?datastoreId=DATASTORE_ID

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

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: Datastore のロケーション。
  • DATASTORE_ID: Datastore の名前。

リクエストの本文は、Datastore をバックアップする NFS ボリュームの詳細を含む JSON オブジェクトである必要があります。

  • description:(省略可)Datastore の簡単な説明。
  • nfs_datastore:(必須)NFS Datastore 構成のコンテナ。

Filestore

以降のセクションでは、API、gcloud CLI、または Terraform を使用して Filestore ベースの Datastore を作成する方法について説明します。

API

Filestore でバックアップされた Datastore の場合は、google_file_service で次の情報を指定します。

  • filestore_instance:(必須)Filestore インスタンスの完全なリソース名(projects/{project}/locations/{location}/instances/{instance} 形式)。

リクエスト本文の例:

{
  "description": "Filestore Datastore example",
  "nfs_datastore": {
    "google_file_service": {
      "filestore_instance": "projects/FILESTORE_PROJECT_ID/locations/LOCATION/instances/INSTANCE_NAME"
    }
  }
}

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

  • FILESTORE_PROJECT_ID: Filestore インスタンスが存在するプロジェクト ID。
  • LOCATION: Filestore インスタンスのロケーション。これは、リクエスト URL で指定されたデータストアのロケーションと同じにする必要があります。
  • INSTANCE_NAME: Filestore インスタンスの名前。

gcloud

gcloud vmware datastores create DATASTORE_ID \
--location=LOCATION --project=PROJECT_ID \
--filestore=projects/FILESTORE_PROJECT_ID/locations/LOCATION/instances/INSTANCE_NAME

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

  • DATASTORE_ID: Datastore の名前。
  • LOCATION: Datastore と Filestore インスタンスのロケーション。
  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • FILESTORE_PROJECT_ID: Filestore インスタンスが存在するプロジェクト ID。
  • INSTANCE_NAME: Filestore インスタンスの名前。

Terraform

詳細については、google_vmwareengine_datastore Terraform リソースをご覧ください。

resource "google_vmwareengine_datastore" "DATASTORE_ID" {
  name        = "DATASTORE_ID"
  location    = "LOCATION"
  description = "DESCRIPTION"

  nfs_datastore {
    google_file_service {
      filestore_instance = "projects/FILESTORE_PROJECT_ID/locations/LOCATION/instances/INSTANCE_NAME"
    }
  }
}

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

  • DATASTORE_ID: Datastore の名前。
  • LOCATION: Datastore と Filestore インスタンスのロケーション。
  • DESCRIPTION: Datastore の説明。
  • FILESTORE_PROJECT_ID: Filestore インスタンスが存在するプロジェクト ID。
  • INSTANCE_NAME: Filestore インスタンスの名前。

Google Cloud NetApp Volumes

以降のセクションでは、API または gcloud CLI を使用して、Google Cloud NetApp Volumes を基盤とする Datastore を作成する方法について説明します。

API

Google Cloud NetApp Volumes でバックアップされたデータストアの場合は、google_file_service に次の情報を指定します。

  • netapp_volume:(必須)projects/{project}/locations/{location}/volumes/{volume} 形式の Google Cloud NetApp Volumes ボリュームの完全なリソース名。

リクエスト本文の例:

{
  "description": "NetApp Volumes Datastore example",
  "nfs_datastore": {
    "google_file_service": {
      "netapp_volume": "projects/NETAPP_PROJECT_ID/locations/LOCATION/volumes/VOLUME_NAME"
    }
  }
}

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

  • NETAPP_PROJECT_ID: Google Cloud NetApp Volumes ボリュームが存在するプロジェクト ID。
  • LOCATION: Google Cloud NetApp Volumes ボリュームのロケーション。これは、リクエスト URL で指定されたデータストアのロケーションと同じにする必要があります。
  • VOLUME_NAME: Google Cloud NetApp Volumes ボリュームの名前。

gcloud

gcloud vmware datastores create DATASTORE_ID \
--location=LOCATION --project=PROJECT_ID \
--netapp=projects/NETAPP_PROJECT_ID/locations/LOCATION/volumes/VOLUME_NAME

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

  • DATASTORE_ID: Datastore の名前。
  • LOCATION: データストアと Google Cloud NetApp Volumes ボリュームのロケーション。
  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • NETAPP_PROJECT_ID: Google Cloud NetApp Volumes ボリュームが存在するプロジェクト ID。
  • VOLUME_NAME: Google Cloud NetApp Volumes ボリュームの名前。

Terraform

詳細については、google_vmwareengine_datastore Terraform リソースをご覧ください。

resource "google_vmwareengine_datastore" "DATASTORE_ID" {
  name        = "DATASTORE_ID"
  location    = "LOCATION"
  description = "DESCRIPTION"

  nfs_datastore {
    google_file_service {
      netapp_volume = "projects/NETAPP_PROJECT_ID/locations/LOCATION/volumes/VOLUME_NAME"
    }
  }
}

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

  • DATASTORE_ID: Datastore の名前。
  • LOCATION: データストアと Google Cloud NetApp Volumes ボリュームのロケーション。
  • DESCRIPTION: Datastore の説明。
  • NETAPP_PROJECT_ID: Google Cloud NetApp Volumes ボリュームが存在するプロジェクト ID。
  • VOLUME_NAME: Google Cloud NetApp Volumes ボリュームの名前。

サードパーティの NFS

以降のセクションでは、API または gcloud CLI を使用して、サードパーティの NFS 共有を基盤とする Datastore を作成する方法について説明します。

API

サードパーティの NFS 共有でバックアップされた Datastore の場合は、nfs_datastore で次の情報を指定します。

  • third_party_nfs:(必須)サードパーティの NFS の構成が含まれます。
    • network: projects/{project}/global/networks/{network} 形式の VPC ネットワーク名。
    • file_share: ファイル共有名。
    • servers: サーバー IP アドレスのリスト。

リクエストの本文は次のようになります。

{
  "description": "Third-party NFS Datastore example",
  "nfs_datastore": {
    "third_party_nfs": {
      "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME",
      "file_share": "FILE_SHARE_NAME",
      "servers": ["SERVER_ADDRESS_1"]
    }
  }
}

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

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • NETWORK_NAME: サードパーティの NFS データストアの VPC ネットワークの名前。
  • FILE_SHARE_NAME: サードパーティの NFS Datastore のファイル共有名。
  • SERVER_ADDRESS_1: サードパーティの NFS Datastore のサーバー IP アドレス。必要に応じて、リストにアドレスを追加します。

gcloud

gcloud vmware datastores create DATASTORE_ID \
--third-party-nfs-network=NETWORK_NAME \
--third-party-nfs-file-share=FILE_SHARE_NAME \
--third-party-nfs-servers=SERVER_ADDRESSES \
--location=LOCATION --project=PROJECT_ID

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

  • DATASTORE_ID: Datastore の名前。
  • NETWORK_NAME: サードパーティの NFS データストアの VPC ネットワーク名。
  • FILE_SHARE_NAME: サードパーティの NFS Datastore のファイル共有名。
  • SERVER_ADDRESSES: サードパーティの NFS データストアのサーバー IP アドレスのカンマ区切りのリスト。
  • LOCATION: Datastore のロケーション。
  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。

データストアの一覧表示または取得

特定のプロジェクトとロケーションのすべての Datastore を一覧表示するには、gcloud CLI を使用するか、GET リクエストを送信します。

API

指定されたプロジェクトとロケーションのすべての Datastore を一覧表示するには、GET リクエストを行います。

GET https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datastores

特定の Datastore の詳細を取得するには、GET リクエストを行います。

GET https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID

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

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: Datastore のロケーション。
  • DATASTORE_ID: Datastore の名前。

gcloud

特定のプロジェクトとロケーションのすべてのデータストアを一覧表示するには、gcloud vmware datastores list コマンドを使用します。

gcloud vmware datastores list \
--location=LOCATION --project=PROJECT_ID

特定のデータストアの詳細を取得するには、gcloud vmware datastores describe コマンドを使用します。

gcloud vmware datastores describe DATASTORE_ID \
--location=LOCATION --project=PROJECT_ID

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

  • LOCATION: Datastore のロケーション。
  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • DATASTORE_ID: Datastore の名前。

Datastore をマウントする

データストアを作成したら、ESXi ホストで使用できるように、vSphere クラスタにマウントする必要があります。NFS Datastore をマウントするには、gcloud CLI、API、または Terraform を使用します。

API

POST https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/privateClouds/PRIVATE_CLOUD_ID/clusters/CLUSTER_ID:mountDatastore

リクエスト本文の例:

{
  "datastore_mount_config": {
    "datastore": "projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID",
    "datastore_network": {
      "subnet": "projects/PROJECT_ID/locations/LOCATION/privateClouds/PRIVATE_CLOUD_ID/subnets/SERVICE_SUBNET_NAME",
      "connection_count": 4
    },
    "access_mode": "READ_WRITE",
    "nfs_version": "NFS_V3"
  }
}
  • datastore: マウントする Datastore のリソース名。
  • subnet: NFS トラフィックに使用するサービス サブネットのリソース名。
  • connection_count:(省略可)接続数。デフォルトは 4 です。
  • access_mode: (省略可)アクセスモード(READ_WRITE または READ_ONLY)。デフォルトは READ_WRITE です。
  • nfs_version:(省略可)NFS バージョン。デフォルトは NFS_V3 です。

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

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: リソースのロケーション。
  • PRIVATE_CLOUD_ID: プライベート クラウドの名前。
  • CLUSTER_ID: クラスタの名前。
  • DATASTORE_ID: マウントする Datastore の名前。
  • SERVICE_SUBNET_NAME: NFS トラフィックに使用するサービス サブネットの名前。

gcloud

gcloud vmware private-clouds clusters mount-datastore CLUSTER_ID \
--location=LOCATION --project=PROJECT_ID \
--private-cloud=PRIVATE_CLOUD_ID \
--datastore=projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID \
--subnet=SERVICE_SUBNET_NAME

または、--datastore-network フラグを使用して JSON ファイルでネットワーク構成の詳細を指定することもできます。

gcloud vmware private-clouds clusters mount-datastore CLUSTER_ID \
--location=LOCATION --project=PROJECT_ID \
--private-cloud=PRIVATE_CLOUD_ID \
--datastore=projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID \
--datastore-network=network-config.json

network-config.json の内容は次のとおりです。

{
    "subnet": "SERVICE_SUBNET_NAME",
    "mtu": 1500,
    "connection-count": 4
}

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

  • CLUSTER_ID: クラスタの名前。
  • LOCATION: リソースのロケーション。
  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • PRIVATE_CLOUD_ID: プライベート クラウドの名前。
  • DATASTORE_ID: マウントする Datastore の名前。
  • SERVICE_SUBNET_NAME: NFS トラフィックに使用するサービス サブネットの名前。

Terraform

詳細については、google_vmwareengine_cluster Terraform リソースをご覧ください。Filestore データストアのマウントGoogle Cloud NetApp Volumes データストアのマウントの例も含まれています。

resource "google_vmwareengine_cluster" "CLUSTER_ID" {
  name    = "CLUSTER_ID"
  parent  = "projects/PROJECT_ID/locations/LOCATION/privateClouds/PRIVATE_CLOUD_ID"
  ...
  datastore_mount_config {
    datastore = "projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID"
    datastore_network {
      subnet           = "projects/PROJECT_ID/locations/LOCATION/privateClouds/PRIVATE_CLOUD_ID/subnets/SERVICE_SUBNET_NAME"
      connection_count = 4
      mtu              = 1500
    }
    nfs_version = "NFS_V3"
  }
}

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

  • CLUSTER_ID: クラスタの名前。
  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: リソースのロケーション。
  • PRIVATE_CLOUD_ID: プライベート クラウドの名前。
  • DATASTORE_ID: マウントする Datastore の名前。
  • SERVICE_SUBNET_NAME: NFS トラフィックに使用するサービス サブネットの名前。

マウント オペレーションが正常に完了すると、クラスタ リソースにマウントされた Datastore 構成が表示されます。クラスタ リソースには、マウントに対応する DatastoreMountConfig エントリが含まれます。次に例を示します。

...
datastoreMountConfig:
- accessMode: READ_WRITE
  datastore: projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID
  datastoreNetwork:
    connectionCount: 4
    mtu: 1500
    networkPeering: projects/PROJECT_ID/locations/global/networkPeerings/PEERING_NAME
    subnet: projects/PROJECT_ID/locations/LOCATION/privateClouds/PRIVATE_CLOUD_ID/subnets/SUBNET_NAME
  fileShare: FILE_SHARE_NAME
  nfsVersion: NFS_V3
  servers:
  - SERVER_IP
...

マウント オペレーションが正常に完了すると、Datastore リソースの clusters リストが更新されます。Datastore の説明を取得して、どのクラスタにマウントされているかを確認できます。

API

GET https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID

gcloud

gcloud vmware datastores describe DATASTORE_ID --location=LOCATION --project=PROJECT_ID

Datastore を記述したら、レスポンスの clusters フィールドで、Datastore がマウントされているクラスタを確認します。次の出力例は、1 つのクラスタにマウントされたデータストアを示しています。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID",
  ...
  "clusters": [
    "projects/PROJECT_ID/locations/LOCATION/privateClouds/PRIVATE_CLOUD_ID/clusters/CLUSTER_ID"
  ],
  ...
}

NFS データストアを管理クラスタにマウントする

NFS データストアのマウントに使用される datastore_mount_config ブロックは、google_vmwareengine_cluster リソースの属性です。ただし、管理クラスタはスタンドアロンの google_vmwareengine_cluster リソースとしてではなく、google_vmwareengine_private_cloud リソースの management_cluster ブロック内で最初に定義されます。つまり、プライベート クラウドの作成時に管理クラスタの datastore_mount_config を直接構成することはできません。

Terraform を使用して NFS データストアを管理クラスタにマウントするには、プライベート クラウドのプロビジョニング後に、既存の管理クラスタを個別の google_vmwareengine_cluster リソースとして Terraform 状態にインポートする必要があります。

手順:

  1. 管理クラスタをインポートする: プライベート クラウドと管理クラスタが存在したら、次の Terraform コマンドを実行して、管理クラスタを状態にインポートします。
terraform import google_vmwareengine_cluster.imported_management_cluster "projects/{your_project}/locations/{private_cloud_location}/privateClouds/{your_private_cloud_id}/clusters/{your_management_cluster_id}"

プレースホルダ {your_project}{private_cloud_location}{your_private_cloud_id}{your_management_cluster_id} を、実際の環境の詳細に置き換えます。

  1. 構成でクラスタ リソースを定義する: Terraform 構成ファイルに resource "google_vmwareengine_cluster" "imported_management_cluster" ブロックを追加します。このブロックには、インポートされた管理クラスタの現在の構成(ノードタイプ、ノード数など)が正確に反映されている必要があります。

  2. データストアのマウント構成を追加する: 新しい google_vmwareengine_cluster.imported_management_cluster リソース ブロック内で、datastore_mount_config ブロックを追加して、マウントする NFS データストアの設定を定義します。

構成スニペットの例:

# Assume google_vmwareengine_private_cloud "my_pc" is already defined and created

# Resource block for the imported Management Cluster
resource "google_vmwareengine_cluster" "imported_management_cluster" {
  provider = google
  name     = "{your_management_cluster_id}" # Must match the imported cluster's ID
  parent   = google_vmwareengine_private_cloud.my_pc.id

  # Ensure these match the existing management cluster's configuration
  node_type_configs {
    node_type_id = "standard-72"
    node_count   = 3
    # Add other configs like custom_core_count if set
  }

  # Add the datastore mount configuration
  datastore_mount_config {
    datastore = data.google_vmwareengine_datastore.my_nfs_datastore.id
    datastore_network {
      subnet = data.google_vmwareengine_subnet.my_service_subnet.id
      connection_count = 4
      mtu = 1500
    }
    nfs_version = "NFS_V3"
    access_mode = "READ_WRITE"
    ignore_colocation = true
  }

  # Optional: Prevent accidental destruction of this imported resource
  lifecycle {
    ignore_changes = [
      # Ignore changes to attributes managed by the private_cloud resource
      # to prevent conflicts. Adjust as needed.
    ]
    prevent_destroy = true
  }
}

# Data sources for datastore and subnet would be defined elsewhere
# data "google_vmwareengine_datastore" "my_nfs_datastore" { ... }
# data "google_vmwareengine_subnet" "my_service_subnet" { ... }

データストアを更新する

更新できるのは、データストアの description フィールドのみです。Datastore を更新するには、gcloud CLI を使用するか、PATCH リクエストを行います。

API

PATCH https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID

リクエスト本文の例:

{
  "description": "New datastore description"
}

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

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: Datastore のロケーション。
  • DATASTORE_ID: Datastore の ID。

gcloud

gcloud vmware datastores update DATASTORE_ID \
--location=LOCATION --project=PROJECT_ID \
--description="DESCRIPTION"

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

  • DATASTORE_ID: Datastore の名前。
  • LOCATION: Datastore のロケーション。
  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • DESCRIPTION: Datastore の説明。

Datastore のマウントを解除する

クラスタから NFS Datastore をマウント解除するには、gcloud CLI、API、または Terraform を使用します。

API

POST https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/privateClouds/PRIVATE_CLOUD_ID/clusters/CLUSTER_ID:unmountDatastore

リクエスト本文の例:

{
  "datastore": "projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID"
}

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

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: リソースのロケーション。
  • PRIVATE_CLOUD_ID: プライベート クラウドの名前。
  • CLUSTER_ID: クラスタの名前。
  • DATASTORE_ID: マウント解除する Datastore の名前。

gcloud

gcloud vmware private-clouds clusters unmount-datastore CLUSTER_ID \
--location=LOCATION --project=PROJECT_ID \
--private-cloud=PRIVATE_CLOUD_ID \
--datastore=projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID

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

  • CLUSTER_ID: クラスタの名前。
  • LOCATION: リソースのロケーション。
  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • PRIVATE_CLOUD_ID: プライベート クラウドの名前。
  • DATASTORE_ID: マウント解除する Datastore の名前。

Terraform

Terraform を使用して Datastore をマウント解除するには、Terraform 構成の google_vmwareengine_cluster リソースから、Datastore に関連付けられている datastore_mount_config ブロックを削除します。

datastore_mount_config ブロックが削除されると、Terraform は次の適用時にクラスタから Datastore をマウント解除します。

データストアを削除する

Datastore リソースを削除するには、gcloud CLI を使用するか、DELETE リクエストを行います。Datastore をクラスタにマウントしてはなりません。

API

DELETE https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID

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

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: Datastore のロケーション。
  • DATASTORE_ID: 削除する Datastore の名前。

gcloud

gcloud vmware datastores delete DATASTORE_ID \
--location=LOCATION --project=PROJECT_ID

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

  • DATASTORE_ID: 削除する Datastore の名前。
  • LOCATION: Datastore のロケーション。
  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。

トラブルシューティング

次の表に、Datastore の作成とマウント時に発生する一般的なエラーを示します。

Datastore エラーを作成する

次の表に、データストアの作成時に発生する可能性のあるエラーを示します。

エラー メッセージ 原因 解決策
filestore NFS ファイル サーバー インスタンスは空にできません。 リクエスト本文の filestore_instance フィールドが空です。 Filestore インスタンスの完全なリソース名を指定します。
netapp NFS ファイル サーバー ボリュームを空にすることはできません。 リクエスト本文の netapp_volume フィールドが空です。 Google Cloud NetApp Volumes ボリュームの完全なリソース名を指定します。
フィールド タイプ filestore_instance のフィールド形式が無効です filestore_instance フィールドが必須の形式に準拠していません。 リソース名が projects/{project}/locations/{location}/instances/{instance} の形式であることを確認します。
フィールド タイプ netapp_volume のフィールド形式が無効です netapp_volume フィールドが必須の形式に準拠していません。 リソース名が projects/{project}/locations/{location}/volumes/{volume} の形式であることを確認します。
Datastore と NFS ボリュームが異なるロケーションにある。 Filestore インスタンスまたは Google Cloud NetApp Volumes ボリュームが、作成しようとしているデータストアとは異なるロケーションにある。 NFS ボリュームとデータストアの両方が同じ場所にあることを確認します。
ユーザーに必要な権限「file.instances.get」がない サービス アカウントに、Filestore インスタンスにアクセスするために必要な IAM 権限がありません。 VMware Engine サービス エージェントに roles/file.viewer ロールを付与します。
リソースで権限「netapp.volumes.get」が拒否されました サービス アカウントに、Google Cloud NetApp Volumes ボリュームにアクセスするために必要な IAM 権限がありません。 VMware Engine サービス エージェントに roles/netapp.viewer ロールを付与します。
Filestore インスタンス ... は存在しません。 指定された Filestore インスタンスが見つかりませんでした。 Filestore インスタンスが存在し、リソース名が正しいことを確認します。
Netapp ボリューム ... が存在しません。 指定された Google Cloud NetApp Volumes ボリュームが見つかりませんでした。 Google Cloud NetApp Volumes ボリュームが存在し、リソース名が正しいことを確認します。
Filestore インスタンスにサポートされていない階層がある Filestore インスタンスで、この機能がサポートしていない階層が使用されています。 サポートされているティア(ゾーンまたはリージョン)を使用して、新しい Filestore インスタンスを作成します。
Filestore インスタンスにサポートされていない NFS バージョンがある Filestore インスタンスでサポートされていない NFS バージョンが使用されている。 NFS バージョン 3 を使用して新しい Filestore インスタンスを作成します。
Netapp ボリューム ... に、サポートされていない NFS バージョン ... があります Google Cloud NetApp Volumes ボリュームがサポートされていない NFS バージョンを使用している。 NFS バージョン 3 を使用して新しい Google Cloud NetApp Volumes ボリュームを作成します。
Netapp ボリューム ... で削除保護が無効になっています。 Google Cloud NetApp Volumes ボリュームで削除保護が無効になっている。 Google Cloud NetApp Volumes ボリュームで削除保護を有効にします。
Datastore を作成できません。同じ構成のリソースがすでに存在します。 同じ名前と構成の Datastore がすでに存在します。 Datastore の別の名前を選択するか、構成を変更します。

Datastore のマウントとマウント解除のエラー

次の表に、データストアのマウントまたはマウント解除時に発生する可能性のあるエラーを示します。

エラー メッセージ 原因 解決策
DatastoreFormat の検証に失敗しました。 指定された Datastore 形式がサポートされていないか、無効です。 データストアの形式が VMware Engine と互換性があることを確認します(NFSv3 など)。
MTU の範囲が無効です。1,300 ~ 9,000 の範囲で指定してください データストア ネットワークに指定された MTU(最大伝送単位)の値が、許容範囲(1,300 ~ 9,000)外です。 1300 ~ 9000 の範囲で MTU 値を指定します。
Datastore プロジェクトがクラスタ プロジェクトと等しくない Datastore の Google Cloud プロジェクト ID が vSphere クラスタの Google Cloud プロジェクト ID と一致しません。 Datastore とクラスタが同じ Google Cloud プロジェクトに属していることを確認します。
MTU が無効です。MTU は、クラスタ内の既存のマウントされた Datastore の MTU と一致している必要があります 新しい Datastore ネットワークの MTU が、同じクラスタにすでにマウントされている他の NFS Datastore の MTU と一致していません。 新しい Datastore の MTU を、クラスタ内の既存のマウント済み Datastore の MTU と一致させます。
データストアが存在し、準備完了状態である必要があります 指定された Datastore リソースが存在しないか、READY 状態ではありません。 Get Datastore API または List Datastore API を使用して、Datastore が正常に作成され、ステータスが READY であることを確認します。
ファースト パーティの場合、参照される filestore または netapp が存在し、準備完了状態である必要があります 基盤となる Filestore インスタンスまたは Google Cloud NetApp Volumes ボリュームが存在しないか、READY 状態になっていません。 参照されている NFS ボリュームが存在し、その Google Cloud プロジェクトで READY 状態であることを確認します。
ファイル共有 VPC とクラスタのプライベート クラウドの VMware Engine ネットワークの間に、アクティブ状態のネットワーク ピアリングが存在する必要があります NFS ボリュームが存在する VPC ネットワークとプライベート クラウドの VMware Engine ネットワークの間に VPC ネットワーク ピアリング接続が必要です。この接続がないか、ACTIVE 状態になっていません。 ファイル共有の VPC とプライベート クラウドの VMware Engine ネットワークの間にアクティブな VPC ネットワーク ピアリング接続が存在することを確認します。
レガシー ネットワークでマウント オペレーションが失敗する 以前のネットワークの場合、NFS ボリュームのテナント プロジェクトへのプライベート接続がないか、非アクティブです。 Datastore をマウントする前に、テナント プロジェクトへのアクティブなプライベート接続が存在することを確認してください。マウントされた Datastore が使用しているプライベート接続は削除しないでください。
ファーストパーティの場合、マウントに使用される PC サブネットを許可するために、エクスポート オプションを追加する必要があります NFS ボリュームのエクスポート ポリシーに、アクセス用のプライベート クラウドのサービス サブネットが含まれていません。 マウントに使用されるプライベート クラウドのサービス サブネットからのアクセスを許可するように、NFS ボリュームのエクスポート ポリシーを変更します。
サブネットが存在し、有効な IP CIDR が構成されている必要があります Datastore ネットワークに指定されたサービス サブネットが存在しないか、有効な IP CIDR の範囲が構成されていません。 指定されたサービス サブネットが存在し、クラスタ内のすべての ESXi ホストに IP を割り振るのに十分な IP CIDR の範囲が適切に構成されていることを確認します。
無効なデータストア形式 指定された Datastore リソース名の形式が認識されないか、正しくないため、マウント解除オペレーションが実行されません。 マウント解除リクエストで指定された Datastore リソース名が正確で、projects/{project}/locations/{location}/datastores/{datastore_id} 形式に従っていることを確認します。
データストアがクラスタにマウントされていない マウント解除しようとしている Datastore が、指定されたクラスタにマウントされていません。 マウント解除を試みる前に、データストアがターゲット vSphere クラスタにマウントされていることを確認します。