本教程将引导您完成通过服务项目在共享 VPC 网络上创建 Filestore 实例的过程。
您可以在宿主项目或其某一关联服务项目中的共享 VPC 网络上创建 Filestore 实例。在宿主项目中创建实例时,您可以照常选择共享 VPC 网络,服务项目客户端可以连接到该实例。但是,如果您想在服务项目中创建实例,则必须先通过宿主项目在共享 VPC 网络上启用专用服务访问通道。
目标
- 在共享 VPC 网络上启用专用服务访问通道
- 在共享 VPC 网络中创建实例。
- 装载实例。
费用
本教程使用 Google Cloud 的以下收费组件:
您可使用价格计算器根据您的预计使用情况来估算费用。
完成本教程后,您可以删除所创建的资源以避免继续计费。如需了解详情,请参阅清理。
准备工作
-
确保您的 Cloud 项目已启用结算功能。了解如何检查项目是否已启用结算功能。
- 创建包含宿主项目和关联服务项目的共享 VPC 网络。
-
启用 Filestore and Service Networking API。
在共享 VPC 网络上启用专用服务访问通道
如需在使用共享 VPC 网络的服务项目中创建 Filestore 实例,共享 VPC 网络必须启用专用服务访问通道。
检查是否已为共享 VPC 网络启用专用服务访问通道
使用以下方法之一检查是否已为共享 VPC 网络启用专用服务访问通道:
控制台
在控制台中,转到 Filestore 实例页面。
点击创建实例。
选择要使用的共享 VPC 网络。
点击高级网络选项。
专用服务访问通道连接部分指示是否启用了专用服务访问通道。
gcloud CLI
gcloud beta services vpc-peerings list \
--network=SHARED_VPC_NAME \
--project=HOST_PROJECT_ID
替换以下内容:
- 将 SHARED_VPC_NAME 替换为要用于 Filestore 实例的共享 VPC 网络的名称。
- 将 HOST_PROJECT_ID 替换为共享 VPC 网络所在宿主项目的 ID。
如果已启用专用服务访问通道,则响应会显示已为 servicenetworking-googleapis-com
建立对等互连:
network: projects/PROJECT_NUMBER/global/networks/SHARED_VPC_NAME
peering: servicenetworking-googleapis-com
reservedPeeringRanges: RANGES
如果为共享 VPC 网络启用了专用服务访问通道,您可以在该网络上开始创建 Filestore 实例。否则,您必须先启用专用服务访问通道。
启用专用服务访问通道
您必须具有 Owner (roles/owner
)、Editor (roles/editor
) 或 Network Management Admin (roles/networkmanagement.admin
) 角色才能创建分配的 IP 地址范围并管理专用连接。如果您没有这些权限,请与您的网络管理员联系。如需了解详情,请参阅了解角色。
使用以下方法之一在共享 VPC 网络上启用专用服务访问通道:
控制台
在共享 VPC 网络中为 Google 代管式服务预留 IP 地址范围
转到 Google Cloud Console 中的“VPC 网络”页面。
选择您要使用的共享 VPC 网络所在的宿主项目。
点击要在其中创建 Filestore 实例的共享 VPC 网络的名称。
选择专用服务连接标签页。
在专用服务连接标签页中,选择为服务分配的 IP 范围标签页。
点击分配 IP 范围并按如下所示进行配置:
- 名称:
google-service-range
- 说明:
Peering range for Google managed services
IP 范围:
- 选择自动。
- 在文本字段中输入
20
作为前缀。此范围会供所有 Google Cloud 代管式服务使用,因此在实际操作中,您可能需要更大的范围。基本层级实例需要具有前缀 /29,而大规模层级实例需要使用前缀 /24。
- 名称:
点击分配以创建分配的范围。
为共享 VPC 网络和 Google 代管式服务网络创建专用连接
转到 Google Cloud Console 中的“VPC 网络”页面。
选择您要使用的共享 VPC 网络所在的宿主项目。
点击要在其中创建 Filestore 实例的共享 VPC 网络的名称。
选择专用服务连接标签页。
在专用服务连接标签页中,选择为服务分配的 IP 范围标签页。
点击创建连接。
对于指定的分配范围,请选择
google-service-range
。点击连接以创建连接。
gcloud CLI
通过运行以下命令在共享 VPC 网络中为 Google 代管式服务预留 IP 地址范围:
gcloud compute addresses create google-service-range \ --global \ --purpose=VPC_PEERING \ --prefix-length=PREFIX \ --description="Peering range for Google managed services" \ --network=SHARED_VPC_NAME \ --project=PROJECT_ID
替换以下内容:
- 将 PREFIX 替换为前缀长度。基本层级实例需要 /29 前缀,大规模层级实例需要 /24 前缀。但是,此范围会供所有 Google Cloud 代管式服务使用。如果您计划使用多个 Filestore 实例或其他 Google Cloud 代管式服务,则需要更大的前缀,例如 /20。
- 将 SHARED_VPC_NAME 替换为要在其中创建 Filestore 实例的共享 VPC 网络的名称。
- 将 PROJECT_ID 替换为共享 VPC 网络所在宿主项目的 ID。
通过运行以下命令为共享 VPC 网络和 Google 代管式服务网络创建专用连接:
gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=google-service-range \ --network=SHARED_VPC_NAME \ --project=HOST_PROJECT_ID
替换以下内容:
- 将 SHARED_VPC_NAME 替换为要在其中创建 Filestore 实例的共享 VPC 网络的名称。
- 将 HOST_PROJECT_ID 替换为共享 VPC 网络所在宿主项目的 ID。
该命令启动一个可长时间运行的操作,并返回操作名称。
检查操作是否成功:
gcloud services vpc-peerings operations describe \ --name=OPERATION_NAME
将 OPERATION_NAME 替换为从上一步返回的操作名称。
如需详细了解如何分配 IP 地址范围和创建专用连接,请参阅配置专用服务访问通道。
可选:启用 VPC Service Controls
启用专用服务访问通道后,您可选择运行以下命令来启用 VPC Service Controls:
gcloud beta services vpc-peerings enable-vpc-service-controls \
--network=SHARED_VPC_NAME \
--project=HOST_PROJECT_ID \
--service=servicenetworking.googleapis.com
替换以下内容:
- 将 SHARED_VPC_NAME 替换为要在其中创建 Filestore 实例的共享 VPC 网络的名称。
- 将 HOST_PROJECT_ID 替换为共享 VPC 网络所在宿主项目的 ID。
如需详细了解如何将 Filestore 与 VPC Service Controls 配合使用,请参阅使用服务边界保护实例。
在共享 VPC 网络上创建 Filestore 实例
共享 VPC 网络启用专用服务访问通道后,您就可以开始在服务项目中通过其创建 Filestore 实例了。
控制台
在控制台中,转到 Filestore 实例页面。
点击创建实例,然后按如下所示配置实例:
- 将实例 ID 设置为
nfs-server
。 - 将实例类型设置为基本。
- 将存储类型设置为 HDD。
- 将分配容量设置为 1
TB
。 - 将地区设置为 us-central1,将区域设置为 us-central1-c。
- 将 VPC 网络设置为共享 VPC 网络,以“projects/HOST_PROJECT_ID/global/networks/SHARED_VPC_NAME”格式显示。
- 将文件共享名称设置为
vol1
。 - 将分配的 IP 范围设置为使用自动分配的 IP 范围。
- 将访问权限控制设置为授予所有客户端访问权限。
- 将实例 ID 设置为
点击创建。
gcloud CLI
gcloud filestore instances create nfs-server \
--project=SERVICE_PROJECT_ID \
--zone=us-central1-c \
--tier=BASIC_HDD \
--file-share=name="vol1",capacity=1TiB \
--network=name="projects/HOST_PROJECT_ID/global/networks/SHARED_VPC_NAME",connect-mode=PRIVATE_SERVICE_ACCESS
替换以下内容:
- 将 SERVICE_PROJECT_ID 替换为要在其中创建 Filestore 实例的服务项目的 ID。
- 将 HOST_PROJECT_ID 替换为共享 VPC 网络所在宿主项目的 ID。
- 将 SHARED_VPC_NAME 替换为要在其中创建 Filestore 实例的共享 VPC 网络的名称。
在服务项目客户端上装载实例
在共享 VPC 网络上创建 Filestore 实例后,您可以将该实例装载到同一网络上的任何客户端。如需了解如何装载,请参阅在 Compute Engine 客户端上装载文件共享。
清理
为避免因本教程中使用的资源导致您的 Google Cloud 帐号产生费用,请删除包含这些资源的项目,或者保留项目但删除各个资源。
删除 Filestore 实例
控制台
在控制台中,转到 Filestore 实例页面。
点击
nfs-server
实例 ID 以打开“实例详情”页面。点击删除 delete。
出现提示时,输入实例 ID。
点击删除。
gcloud CLI
删除 nfs-server
实例:
gcloud filestore instances delete nfs-server --zone=us-central1-c
后续步骤
- 了解如何将数据复制到已装载的文件共享。
- 了解如何在远程网络的客户端上装载文件共享。
- 排查常见的 Filestore 问题。