本页面介绍了如何为 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 端点所需的权限。
创建端点
检索 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
预留要分配给端点的 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
创建转发规则以将端点连接到 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 集群实例。