启用专用服务访问通道

本页面介绍如何创建 AlloyDB for PostgreSQL 建立专用服务访问通道所需的虚拟私有云 (VPC) IP 地址范围。如需简要了解 AlloyDB 如何使用专用服务访问通道让其内部资源相互通信,请参阅专用服务访问通道简介。

如要在与 AlloyDB 集群位于同一Google Cloud 项目中的虚拟私有云 (VPC) 网络中创建专用服务访问通道配置,您需要执行以下两项操作:

  • 在 VPC 网络中创建分配的 IP 地址范围。

  • 在 VPC 网络与底层 Google Cloud VPC 网络之间创建专用连接。您还可以配置专用服务访问通道来将 AlloyDB 集群连接到位于另一个Google Cloud 项目中的资源。为此,您必须使用共享 VPC 合并这两个项目的 VPC 网络。

准备工作

  • 您使用的 Google Cloud 项目必须已启用才能访问 AlloyDB。
  • 您必须在所使用的 Google Cloud 项目中拥有以下 IAM 角色之一:
    • roles/alloydb.admin(AlloyDB Admin 预定义 IAM 角色)
    • roles/owner(Owner 基本 IAM 角色)
    • roles/editor(Editor 基本 IAM 角色)

    如果您不拥有上述任何角色,请与组织管理员联系以申请访问权限。

  • 如需创建专用服务访问通道配置,您还必须拥有以下 IAM 权限:
    • compute.networks.list
    • compute.addresses.create
    • compute.addresses.list
    • servicenetworking.services.addPeering

创建 VPC IP 地址范围

控制台

  1. 前往“VPC 网络”页面。

    进入 VPC 网络页面

  2. 选择 AlloyDB 和 VPC 网络所在的项目。

  3. 点击要用于专用服务访问通道的 VPC 网络的名称。

  4. 在 VPC 网络详情页面上,滚动浏览标签页列表,找到专用服务访问通道标签页,然后点击该标签页。

  5. 在专用服务访问通道标签页中,点击为服务分配的 IP 范围标签页。

  6. 点击分配 IP 范围。

  7. 在名称和说明字段中,为分配的范围输入名称和说明。

  8. 指定分配的 IP 范围值:

    • 如需指定 IP 地址范围,请点击自定义,然后输入 CIDR 地址块,例如 192.168.0.0/16。

      为了给 AlloyDB 提供足够的地址空间,我们建议使用长度为 16 或更短的前缀。

    • 如需指定前缀长度并让 Google 选择一个可用地址范围,请按以下步骤操作:

      1. 点击自动。

      2. 以纯数字形式输入前缀长度,例如 16。

  9. 点击分配以创建分配的范围。

  10. 在专用服务访问通道标签页中,点击连到服务的专用连接标签页。

  11. 点击创建连接以在您的网络与服务提供方之间创建专用连接。

  12. 确保 Google Cloud Platform 是所连接服务的提供方。

  13. 在指定的分配范围部分,选择您在前面部分创建的分配的 IP 范围。

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

gcloud

如需使用 gcloud CLI,您可以安装并初始化 Google Cloud CLI,也可以使用 Cloud Shell。

  1. 使用 gcloud config set 命令将默认项目设置为 AlloyDB 和 VPC 网络所在的项目。

    gcloud config set project PROJECT_ID

    将 PROJECT_ID 替换为 AlloyDB 和 VPC 网络所在项目的 ID。

  2. 使用 gcloud compute addresses create 命令创建分配的 IP 地址范围。

    为了给 AlloyDB 提供足够的地址空间,我们建议使用长度为 16 或更短的前缀。

    • 如需指定地址范围和前缀长度(子网掩码),请使用 --addresses 和 --prefix-length 标志。例如,如需分配 CIDR 地址块 192.168.0.0/16,请将地址指定为 192.168.0.0,并将前缀长度指定为 16。

          gcloud compute addresses create RESERVED_RANGE_NAME \
              --global \
              --purpose=VPC_PEERING \
              --addresses=192.168.0.0 \
              --prefix-length=16 \
              --description="DESCRIPTION" \
              --network=VPC_NETWORK

      替换以下内容:

      • RESERVED_RANGE_NAME:已分配范围的名称,例如 my-allocated-range。

      • DESCRIPTION:对该范围的描述,例如 allocated for my-service。

      • VPC_NETWORK:您的 VPC 网络的名称,例如 my-vpc-network。 对于共享 VPC 网络,请设置为 VPC 网络的完全限定路径,例如 projects/cymbal-project/global/networks/shared-vpc-network。

    • 如需仅指定前缀长度(子网掩码),请使用 --prefix-length 标志。如果您省略地址范围,则Google Cloud 会自动选择您的 VPC 网络中未使用的地址范围。

      以下示例选择的是前缀长度为 16 位的未使用的 IP 地址范围:

          gcloud compute addresses create RESERVED_RANGE_NAME \
              --global \
              --purpose=VPC_PEERING \
              --prefix-length=16 \
              --description="DESCRIPTION" \
              --network=VPC_NETWORK

    以下示例展示了如何创建与 Google 的专用连接,以便 default VPC 网络中的虚拟机实例可以使用专用服务访问通道来访问支持专用连接的 Google 服务。

        gcloud compute addresses create google-managed-services-default \
            --global \
            --purpose=VPC_PEERING \
            --prefix-length=16 \
            --description="peering range for Google" \
            --network=default
  3. 使用 gcloud services vpc-peerings connect 命令创建专用连接。

        gcloud services vpc-peerings connect \
            --service=servicenetworking.googleapis.com \
            --ranges=RESERVED_RANGE_NAME \
            --network=VPC_NETWORK

    替换以下内容:

    • RESERVED_RANGE_NAME:您先前创建的分配的 IP 地址范围的名称

    • VPC_NETWORK:您的 VPC 网络的名称

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

  4. 检查操作是否成功。

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

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

后续步骤