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


本教程介绍了如何通过服务项目在共享 VPC 网络上创建 Filestore 实例。

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

目标

费用

在本文档中,您将使用 Google Cloud 的以下收费组件:

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

完成本文档中描述的任务后,您可以通过删除所创建的资源来避免继续计费。如需了解详情,请参阅清理

准备工作

  1. 确保您的 Google Cloud 项目已启用结算功能

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

    启用 API

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

如需在使用共享 VPC 网络的服务项目中创建 Filestore 实例,共享 VPC 网络必须启用专用服务访问通道 (PSA)。如需了解具体的 Filestore 要求,请参阅配置预留 IP 地址范围

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

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

Google Cloud 控制台

  1. 在 Google Cloud 控制台中,转到“Filestore 实例”页面。

    转到“Filestore 实例”页面

  2. 点击创建实例

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

  4. 点击高级网络选项

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

gcloud CLI

运行以下 services vpc-peerings list 命令:

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

Google Cloud 控制台

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

  1. 前往 Google Cloud 控制台中的“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 前缀,容量范围更大的可用区级实例(之前是大规模 SSD),而容量范围较小的可用区级实例需要 /26 前缀。
  7. 点击分配以创建分配的范围。

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

  1. 前往 Google Cloud 控制台中的“VPC 网络”页面。

    转到“VPC 网络”页面

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

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

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

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

  6. 点击创建连接

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

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

gcloud CLI

  1. 通过运行以下 compute addresses create 命令,在共享 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 前缀,地区层级实例需要 /26 前缀。但是,所有 Google Cloud 代管式服务都会使用此范围。如果您计划使用多个 Filestore 实例或其他 Google Cloud 代管式服务,则需要更大的前缀,例如 /20。
    • SHARED_VPC_NAME 替换为要在其中创建 Filestore 实例的共享 VPC 网络的名称。
    • PROJECT_ID 替换为共享 VPC 网络所在宿主项目的 ID。
  2. 运行 services vpc-peerings connect 命令,为共享 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. 使用 services vpc-peerings operations describe 命令检查操作是否成功:

    gcloud services vpc-peerings operations describe \
        --name=OPERATION_NAME
    

    OPERATION_NAME 替换为从上一步返回的操作名称。

如需详细了解如何分配 IP 地址范围和创建专用连接,请参阅配置专用服务访问通道

可选:启用 VPC Service Controls

启用专用服务访问通道后,您可以视需要启用 VPC Service Controls。为此,请运行 services vpc-peerings enable-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 实例了。

Google Cloud 控制台

  1. 在 Google Cloud 控制台中,转到“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 CLI

运行以下 instances create 命令:

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 网络的名称。

可选:导入子网路由

如果您的 Filestore 实例使用公共 IP(非 RFC 1918 IP 地址),并且选择启用 PSA,您必须更新服务网络 VPC 对等互连以允许导入具有公共 IP 的子网路由,以将实例的公共 IP 子网路由导入共享 VPC 网络。如需了解详情,请参阅更新对等互连连接

在服务项目客户端上装载实例

在共享 VPC 网络上创建 Filestore 实例后,您可以将该实例装载到同一网络上的任何客户端。如需了解如何装载,请参阅在 Compute Engine 客户端上装载文件共享

清理

为避免因本教程中使用的资源导致您的 Google Cloud 账号产生费用,请删除包含这些资源的项目,或者保留项目但删除各个资源。

删除 Filestore 实例

Google Cloud 控制台

  1. 在 Google Cloud 控制台中,转到“Filestore 实例”页面。

    转到“Filestore 实例”页面

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

  3. 点击删除

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

  5. 点击删除

gcloud CLI

使用 instances delete 命令删除 nfs-server 实例:

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

后续步骤