在服务项目中的共享 VPC 网络上创建实例

本教程将引导您完成通过服务项目在共享 VPC 网络上创建 Filestore 实例的过程。

您可以在宿主项目或其某一关联服务项目中的共享 VPC 网络上创建 Filestore 实例。在宿主项目中创建实例时,您可以照常选择共享 VPC 网络,服务项目客户端可以连接到该实例。但是,如果您想在服务项目中创建实例,则必须先通过宿主项目在共享 VPC 网络上启用专用服务访问通道。

目标

费用

本教程使用 Google Cloud 的以下收费组件:

您可使用价格计算器根据您的预计使用量来估算费用。 Google Cloud 新用户可能有资格申请免费试用

完成本教程后,您可以删除所创建的资源以避免继续计费。如需了解详情,请参阅清理

Google Cloud 新用户可能有资格申请免费试用

准备工作

  1. 确保您的 Cloud 项目已启用结算功能。 了解如何确认您的项目是否已启用结算功能

  2. 创建包含宿主项目和关联服务项目的共享 VPC 网络
  3. 启用 Filestore and Service Networking API。

    启用 API

在共享 VPC 网络上启用专用服务访问通道

如需在使用共享 VPC 网络的服务项目中创建 Filestore 实例,共享 VPC 网络必须启用专用服务访问通道

检查是否已为共享 VPC 网络启用专用服务访问通道

使用以下方法之一检查是否已为共享 VPC 网络启用专用服务访问通道:

Cloud Console

  1. 在 Cloud Console 中,转到“Filestore 实例”页面。

    转到“Filestore 实例”页面

  2. 点击创建实例

  3. 选择要使用的共享 VPC 网络。

  4. 点击高级网络选项

  5. 专用服务访问通道连接部分指示是否已启用专用服务访问通道。

gcloud 工具

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 网络上启用专用服务访问通道:

Cloud Console

在共享 VPC 网络中为 Google 代管式服务预留 IP 地址范围

  1. 转到 Google Cloud Console 中的“VPC 网络”页面。

    转到“VPC 网络”页面

  2. 选择您要使用的共享 VPC 网络所在的宿主项目。

  3. 点击要在其中创建 Filestore 实例的共享 VPC 网络的名称。

  4. 选择专用服务连接标签页。

  5. 专用服务连接标签页中,选择为服务分配的 IP 范围标签页。

  6. 点击分配 IP 范围并按如下所示进行配置:

    • 名称google-service-range
    • 说明Peering range for Google managed services
    • IP 范围

      • 选择自动
      • 在文本字段中输入 20 作为前缀。此范围会供所有 Google Cloud 代管式服务使用,因此在实际操作中,您可能需要更大的范围。基本层级实例需要具有前缀 /29,而大规模层级实例需要使用前缀 /24。
  7. 点击分配以创建分配的范围。

为共享 VPC 网络和 Google 代管式服务网络创建专用连接

  1. 转到 Google Cloud Console 中的“VPC 网络”页面。

    转到“VPC 网络”页面

  2. 选择您要使用的共享 VPC 网络所在的宿主项目。

  3. 点击要在其中创建 Filestore 实例的共享 VPC 网络的名称。

  4. 选择专用服务连接标签页。

  5. 专用服务连接标签页中,选择连到服务的专用连接 (Private connections to services) 标签页。

  6. 点击创建连接

  7. 对于指定的分配范围,请选择 google-service-range

  8. 点击连接以创建连接。

gcloud 工具

  1. 通过运行以下命令在共享 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。
  2. 通过运行以下命令为共享 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。

    该命令启动一个可长时间运行的操作,并返回操作名称。

  3. 检查操作是否成功:

    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 实例了。

Cloud Console

  1. 在 Cloud Console 中,转到“Filestore 实例”页面。

    转到“Filestore 实例”页面

  2. 点击创建实例,然后按如下所示配置实例:

    • 实例 ID 设置为 nfs-server
    • 实例类型设置为基本
    • 存储类型设置为 HDD
    • 分配容量设置为 1TB
    • 区域设置为 us-central1,将可用区设置为 us-central1-c
    • VPC 网络设置为共享 VPC 网络,其格式为“projects/HOST_PROJECT_ID/global/networks/SHARED_VPC_NAME”。
    • 文件共享名称设置为 vol1
    • 分配的 IP 范围设置为使用自动分配的 IP 范围
    • 访问权限控制设置为授予所有客户端访问权限
  3. 点击创建

gcloud 工具

gcloud [beta] 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 实例

Cloud Console

  1. 在 Cloud Console 中,转到“Filestore 实例”页面。

    转到“Filestore 实例”页面

  2. 点击 nfs-server 实例 ID 以打开“实例详情”页面。

  3. 点击删除

  4. 出现提示时,输入实例 ID。

  5. 点击删除

gcloud 工具

删除 nfs-server 实例:

gcloud filestore instances delete nfs-server --zone=us-central1-c

后续步骤