增加专用服务访问地址空间

本页介绍了如何增加 AlloyDB 为集群和实例使用的专用服务访问配置可用的 IP 地址空间。

当您在尚无任何集群或实例的区域中创建 AlloyDB 集群或实例时,AlloyDB 会在该区域中创建子网。如果 AlloyDB 可用的现有 IP 地址空间不足以创建子网,您尝试创建集群或实例的操作将会失败。您必须先增加 IP 地址空间以解决地址不足问题,然后才能重试创建集群或实例。

准备工作

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

    如果您不具备上述任何角色,请与您的 Organization Administrator 联系以请求访问权限。

  • 如需增加 IP 地址范围,您还必须拥有以下 IAM 权限:
    • compute.networks.list
    • compute.addresses.create
    • compute.addresses.list
    • servicenetworking.services.addPeering

过程

如需增加 AlloyDB IP 地址空间,您需要执行以下两项操作:

  • 在您的 VPC 网络中创建额外的已分配 IP 地址范围。
  • 将额外的地址范围添加到 VPC 网络中的现有专用服务访问连接。

控制台

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

    转到“VPC 网络”页面

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

  3. 选择包含现有专用服务访问通道连接的 VPC 网络。

  4. 选择专用服务访问通道标签页。

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

  6. 点击分配 IP 范围

  7. 输入分配的范围的名称描述

  8. 指定分配的 IP 范围

    • 如需指定 IP 地址范围,请选择自定义,然后输入 CIDR 地址块,例如 192.168.0.0/16
    • 如需指定前缀长度并让 Google 选择可用地址范围,请选择自动,然后输入前缀长度,例如 16
  9. 点击分配以创建分配的范围。

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

  11. 点击 servicenetworking-googleapis-com

  12. 更新专用连接对话框中,点击已分配的分配框,然后选择您之前创建的其他已分配的 IP 地址范围。

  13. 点击更新以更新关联。

gcloud

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

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

    gcloud config set project PROJECT_ID
    

    其中 PROJECT_ID 是您的 VPC 网络所在项目的 ID。

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

    • 如需指定地址范围和前缀长度(子网掩码),请使用 addressesprefix-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
      
    • 若只指定前缀长度(子网掩码),请仅使用 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
      

    将以下占位符替换为相关值:

    • RESERVED_RANGE_NAME:已分配范围的名称,例如 additional-alloydb-range

    • DESCRIPTION:对该范围的描述,例如 allocated to extend AlloyDB range

    • VPC_NETWORK:您的 VPC 网络的名称,例如 my-vpc-network

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

    gcloud compute addresses create additional-alloydb-range \
        --global \
        --purpose=VPC_PEERING \
        --prefix-length=16 \
        --description="allocated to extend AlloyDB range" \
        --network=default
    
  3. 使用 services vpc-peerings list 命令获取已分配给专用服务连接的 IP 地址范围列表:

    gcloud services vpc-peerings list \
        --service=servicenetworking.googleapis.com \
        --network=VPC_NETWORK
    

    其中 VPC_NETWORK 是您的 VPC 网络的名称,例如 my-vpc-network

    已分配给专用服务连接的 IP 地址范围列表会显示在 reservedPeeringRanges 后面。

  4. 使用 services vpc-peerings update 命令将额外的地址范围添加到专用服务连接。

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

    将以下占位符替换为相关值:

    • RESERVED_RANGE_NAME:您创建的额外分配的 IP 地址范围的名称。

    • EXISTING_RANGES_LIST:已分配给专用服务连接的 IP 地址范围的英文逗号分隔列表。

    • VPC_NETWORK:您的 VPC 网络的名称。

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

  5. 检查操作是否成功。

    gcloud services vpc-peerings operations describe OPERATION_NAME
    

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