配置 Private Service Connect

本页面介绍了如何为 Memorystore for Redis 集群实例配置 Private Service Connect 端点。

准备工作

  • 拥有现有的 Memorystore for Redis 集群实例。
  • 在项目中启用 Compute Engine API:
    Compute Engine

  • 确保将出站防火墙规则设置为允许发送到 Private Service Connect 端点的 IP 地址的流量。隐式允许出站流量防火墙规则允许流向任何目标 IP 地址的出站流量。

  • 授予以下 Identity and Access Management (IAM) 角色和权限:

    • redis.admin Memorystore 角色
    • compute.networks.use
    • compute.addresses.create
    • compute.addresses.use
    • compute.forwardingRules.create
    • compute.forwardingRules.pscCreate
    • servicedirectory.namespaces.create
    • servicedirectory.services.create

    预定义的 IAM 角色 roles/redis.admin 包含配置 Private Service Connect 端点所需的权限。

创建端点

  1. 检索 Memorystore for Redis 集群实例的服务连接 ID 地址,并将 VARIABLES 替换为适当的值。

    gcloud alpha redis clusters describe INSTANCE_ID --region=REGION
    

    记下服务连接 ID。服务连接 ID 使用以下格式:projects/PROJECT_NUMBER/regions/REGION/serviceAttachments/xxxxxxxxxxxxxxxx-psc-service-attachment

  2. 预留要分配给端点的 IP 地址。

    gcloud compute addresses create ADDRESS_NAME \
    --region=REGION \
    --subnet=SUBNET
    

    其中:

    • ADDRESS_NAME 是分配给预留 IP 地址的名称。
    • REGION 是端点 IP 地址的区域。此区域必须与您的 Memorystore for Redis 集群实例位于同一区域。
    • SUBNET 是端点 IP 地址对应的子网名称。您可以使用值 default 或您选择的子网。

    例如:

    gcloud compute addresses create cluster-reserved-address \
     --region=us-central1 \
     --subnet=default
    
  3. 创建转发规则以将端点连接到 Memorystore for Redis 集群服务连接。

    gcloud compute forwarding-rules create ENDPOINT_NAME \
    --region=REGION \
    --network=NETWORK_NAME \
    --address=ADDRESS_NAME \
    --target-service-attachment=SERVICE_ATTACHMENT \
    [ --service-directory-registration=NAMESPACE_URI ]
    

    其中:

    • ENDPOINT_NAME 是要分配给端点的名称。
    • REGION 是端点所在的区域。此区域必须与您的 Memorystore for Redis 集群实例位于同一区域。
    • NETWORK_NAME 是端点的 VPC 网络的名称。您可以使用值 default 或您选择的网络。
    • ADDRESS_NAME 是您在第 2 步中指定的地址名称。
    • SERVICE_ATTACHMENT 是服务提供方的服务连接的 URI。例如:projects/PROJECT_NUMBER/regions/REGION/serviceAttachments/xxxxxxxxxxxxxxxx-psc-service-attachment
    • NAMESPACE_URI (可选)。这是您要使用的服务目录命名空间的 URI。NAMESPACE_URI 必须引用您在其中创建 Private Service Connect 端点的同一项目和区域。如果您指定的命名空间不存在,则系统会创建该命名空间。

      NAMESPACE_URI 的格式如下:

      projects/PROJECT_NAME/locations/REGION/namespaces/NAMESPACE

      如果省略 --service-directory-registration 标志,则会使用默认命名空间 goog-psc-default

    例如:

    gcloud compute forwarding-rules create my-cluster-endpoint \
     --region=us-central1 \
     --network=default \
     --address=cluster-reserved-address \
     --target-service-attachment=projects/PROJECT_NUMBER/regions/us-central1/serviceAttachments/xxxxxxxxxxxxxxxx-psc-service-attachment \
    

您现在可以使用您在本指南第 2 步中预留的 IP 地址连接到 Memorystore for Redis 集群实例