本页面介绍了如何连接到 Memorystore for Valkey 实例。
客户端支持
如需查看有关使用哪些连接客户端的示例和指南,请参阅 客户端库代码示例。
允许防火墙上的端口
如果您未在防火墙上允许正确的端口,则实例可能会遇到连接错误,因为防火墙可能会屏蔽 Memorystore for Valkey 使用的端口。
对于实例的所有 Private Service Connect 端点,您必须允许 TCP 端口 6379 以及 TCP 端口 11000 到 13047。如需了解更多 信息,请参阅问题排查。
跨区域访问
您可以从位于与实例所在区域不同的区域的客户端访问 Memorystore for Valkey 实例。
连接到已启用集群模式的实例
本部分介绍了如何连接到 Memorystore for Valkey 已启用集群模式的实例。
查看实例的发现端点
每个已启用集群模式的实例都有一个发现端点,您的客户端会连接到该端点。 此端点是 IP 地址和端口号的组合。
您可以使用 控制台 Google Cloud 或 gcloud CLI查看 Memorystore for Valkey 实例的发现端点。
gcloud
如需查看实例的发现端点,请按照查看实例信息中的说明运行 describe
gcloud CLI。
输出应类似如下所示:
authorizationMode: AUTH_DISABLED
createTime: '2024-08-06T22:02:55.224704101Z'
deletionProtectionEnabled: false
engineVersion: VALKEY_7_2
name: projects/myproject/locations/us-central1/instances/my-instance
nodeConfig:
sizeGb: 6.5
nodeType: STANDARD_SMALL
persistenceConfig:
mode: DISABLED
endpoints:
- connections:
- pscAutoConnection:
connectionType: CONNECTION_TYPE_DISCOVERY
forwardingRule: https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/forwardingRules/sca-auto-fr-ec00907a-3ee3-4740-8092-ae832428f8e4
ipAddress: 10.128.0.58
network: projects/my-project/global/networks/default
port: 6379
projectId: my-project
pscConnectionId: '38876592440606778'
serviceAttachment: projects/129109085717/regions/us-east1/serviceAttachments/gcp-memorystore-auto-58e78f71-fdb7-48-psc-sa
- pscAutoConnection:
forwardingRule: https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/forwardingRules/sca-auto-fr-5ce5518f-1c59-4b46-aa74-799fad70d7b1
ipAddress: 10.128.0.59
network: projects/my-project/global/networks/default
port: 6379
projectId: my-project
pscConnectionId: '38876592440606779'
serviceAttachment: projects/129109085717/regions/us-east1/serviceAttachments/gcp-memorystore-auto-58e78f71-fdb7-48-psc-sa-2
replicaCount: 2
shardCount: 5
state: ACTIVE
transitEncryptionMode: TRANSIT_ENCRYPTION_DISABLED
uid: 869f2d09-d20b-46d8-94ba-be83c48ceb54
updateTime: '2024-08-06T22:18:59.389980051Z'
zoneDistributionConfig:
mode: MULTI_ZONE
记下 endpoints: 部分中 connectionType: CONNECTION_TYPE_DISCOVERY 条目下列出的端点地址和端口号。这两个值一起使用就是实例的发现端点。
使用 valkey-cli 从 Compute Engine 虚拟机连接
您可以从使用 Memorystore 实例的授权网络的任何 Compute Engine 虚拟机连接到 Memorystore for Valkey 实例。
如需连接到实例,请执行以下操作:
如果您还没有使用 Memorystore for Valkey 实例的 授权网络的 Linux Compute Engine 虚拟机,请创建一个虚拟机并 按照创建 Linux 虚拟机快速入门中的说明连接到该虚拟机。
按照 安装 Valkey 中的说明,在 Compute Engine 虚拟机上 安装
valkey-cli。查看实例的发现端点 并记下该端点。
运行以下命令,连接到实例的发现端点:
valkey-cli -h DISCOVERY_ENDPOINT_ADDRESS -p PORT_NUMBER -c
其中:
- DISCOVERY_ENDPOINT_ADDRESS 和 PORT_NUMBER 是您在上一步中记下的值。
运行
CLUSTER SHARDS命令以查看节点拓扑。记下其中一个节点的 IP 地址和端口号。运行以下命令,连接到所需的节点:
valkey-cli -h NODE_IP_ADDRESS -p NODE_PORT -c
替换以下内容:
- NODE_IP_ADDRESS 是您在 上一步中找到的节点的 IP 地址。
- NODE_PORT 是您在上一步中找到的节点的端口号。
连接到节点后,输入一些 Valkey 命令:
请输入:
PING
结果:
PONG
输入
SET HELLO WORLD
结果:
OK
请输入:
GET HELLO
结果:
"WORLD"
完成对 Valkey 节点的连接测试后,您应考虑删除用于连接到 Valkey 实例的 Compute Engine 虚拟机。这样做有助于避免 Cloud Billing 帐号产生费用。
连接到已启用传输加密的实例
本部分提供了一个示例,说明如何连接到已启用传输加密的 Memorystore for Valkey 已启用集群模式的实例。
如果您还没有使用与上一步中的 Valkey 实例相同的 授权网络的 Compute Engine 虚拟机,请创建一个虚拟机 并按照 Linux 虚拟机使用快速入门中的说明连接到该虚拟机。
- 按照安装 Valkey 中的说明,在 Compute Engine 虚拟机
上安装
valkey-cli6.0 版或更高版本。
- 按照安装 Valkey 中的说明,在 Compute Engine 虚拟机
上安装
按照在 客户端上安装 CA 证书 中的说明,在 Linux 虚拟机上安装实例的证书授权机构 (CA) 证书。
查看实例的发现端点 并记下该端点的 IP 地址和端口号。
运行以下命令,连接到实例的发现端点:
valkey-cli -h DISCOVERY_ENDPOINT_ADDRESS -p PORT_NUMBER -c --tls --cacert /tmp/server_ca.pem
替换以下内容:
- DISCOVERY_ENDPOINT_ADDRESS:您在上一步中记下的发现端点的 IP 地址
- PORT_NUMBER:您在上一步中记下的端口号
如需启用
valkey-cli支持模式,请使用-c开关。如果您未提供此开关,当您尝试从与您连接到的分片不同的分片访问密钥时,实例会返回MOVED错误。 但是,如果您使用该开关,客户端会自动重新连接到错误响应中提供的地址。如果您在实例上启用了 Identity and Access Management (IAM) 身份验证或基于基本令牌的身份验证,则必须提供身份验证凭据以及传输层安全协议 (TLS) 标志。例如:
valkey-cli -h DISCOVERY_ENDPOINT_ADDRESS -p PORT_NUMBER -c --tls --cacert /tmp/server_ca.pem --user USERNAME -a TOKEN
替换以下内容:
- USERNAME:实例的用户名
- TOKEN:身份验证令牌
如需详细了解如何生成或管理身份验证 凭据,请参阅 管理 IAM 身份验证 和 使用基于基本令牌的身份验证安全访问实例。
运行
CLUSTER SHARDS命令以查看节点拓扑。记下其中一个节点的 IP 地址和端口号。运行以下命令,连接到节点:
valkey-cli -h NODE_IP_ADDRESS -p NODE_PORT -c --tls --cacert /tmp/server_ca.pem
替换以下内容:
- NODE_IP_ADDRESS:您在 上一步中记下的节点的 IP 地址。
- NODE_PORT:您在上一步中记下的节点的端口号。
如果您的集群使用 IAM 或基于基本令牌的身份验证,请确保您包含
--user和-a标志,就像在发现端点步骤中所做的那样。连接到节点后,输入以下 Valkey 命令:
请输入:
PING
结果:
PONG
连接到已停用集群模式的实例
本部分介绍了如何连接到 Memorystore for Valkey 已停用集群模式的实例。
查看实例的主端点和读取器端点
如需查看实例的 主端点和读取器端点,请按照以下 说明操作:
gcloud
如需查看实例的主端点和读取器端点,请按照查看实例信息中的说明运行
describe gcloud CLI。
输出应类似如下所示:
authorizationMode: AUTH_DISABLED
createTime: '2024-08-06T22:02:55.224704101Z'
deletionProtectionEnabled: false
engineVersion: VALKEY_7_2
name: projects/myproject/locations/us-central1/instances/my-instance
nodeConfig:
sizeGb: 6.5
nodeType: STANDARD_SMALL
persistenceConfig:
mode: DISABLED
endpoints:
- connections:
- pscAutoConnection:
connectionType: CONNECTION_TYPE_PRIMARY
forwardingRule: https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/forwardingRules/sca-auto-fr-ec00907a-3ee3-4740-8092-ae832428f8e4
ipAddress: 10.128.0.124
network: projects/my-project/global/networks/default
port: 6379
projectId: my-project
pscConnectionId: '38876592440606778'
serviceAttachment: projects/448055306617/regions/us-central1/serviceAttachments/gcp-memorystore-auto-b3c43536-4a77-40-psc-sa
- pscAutoConnection:
connectionType: CONNECTION_TYPE_READER
forwardingRule: https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/forwardingRules/sca-auto-fr-5ce5518f-1c59-4b46-aa74-799fad70d7b1
ipAddress: 10.128.0.125
network: projects/my-project/global/networks/default
port: 6379
projectId: my-project
pscConnectionId: '38876592440606779'
serviceAttachment: projects/448055306617/regions/us-central1/serviceAttachments/gcp-memorystore-auto-b3c43536-4a77-40-psc-sa-2
replicaCount: 2
shardCount: 1
mode: CLUSTER_DISABLED
state: ACTIVE
transitEncryptionMode: TRANSIT_ENCRYPTION_DISABLED
uid: 869f2d09-d20b-46d8-94ba-be83c48ceb54
updateTime: '2024-08-06T22:18:59.389980051Z'
zoneDistributionConfig:
mode: MULTI_ZONE
主端点: 记下 endpoints: 部分中 CONNECTION_TYPE_PRIMARY 下列出的端点地址和端口号。这两个值一起使用就是实例的主端点。
读取器端点: 记下 endpoints: 部分中 CONNECTION_TYPE_READER 下列出的端点地址和端口号。这两个值一起使用就是实例的读取器端点。
使用 valkey-cli 从 Compute Engine 虚拟机连接
您可以从使用 Memorystore 实例的授权网络的任何 Compute Engine 虚拟机连接到 Memorystore for Valkey 实例。
如需连接到实例,请执行以下操作:
如果您还没有使用 Memorystore for Valkey 实例的 授权网络的 Linux Compute Engine 虚拟机,请创建一个虚拟机并 按照创建 Linux 虚拟机快速入门中的说明连接到该虚拟机。
按照 安装 Valkey 中的说明,在 Compute Engine 虚拟机上 安装
valkey-cli。查看实例的主端点和读取器端点 并记下该端点。
运行以下命令,连接到实例的主端点:
valkey-cli -h PRIMARY_ENDPOINT_ADDRESS -p PORT_NUMBER
其中:
- PRIMARY_ENDPOINT_ADDRESS 和 PORT_NUMBER 是您在上一步中记下的值。
连接到主节点后,输入以下 Valkey 命令:
请输入:
PING
结果:
PONG
输入
SET HELLO WORLD
结果:
OK
请输入:
GET HELLO
结果:
"WORLD"
运行以下命令,连接到实例的读取器端点:
valkey-cli -h READER_ENDPOINT_ADDRESS -p PORT_NUMBER
其中:
- READER_ENDPOINT_ADDRESS 和 PORT_NUMBER 是您在上一步中记下的值。
连接到主节点后,输入以下 Valkey Get 命令:
请输入:
PING
结果:
PONG
请输入:
GET HELLO
结果:
"WORLD"
测试与 Valkey 节点的连接后,您应删除用于连接到 Valkey 实例的 Compute Engine 虚拟机。这样做有助于避免 Cloud Billing 帐号产生费用。
连接到已启用传输加密的实例
本部分提供了一个示例,说明如何连接到已启用传输加密的 Memorystore for Valkey 已停用集群模式的实例。
如果您还没有使用与上一步中的 Valkey 实例相同的 授权网络的 Compute Engine 虚拟机,请创建一个虚拟机 并按照 Linux 虚拟机使用快速入门中的说明连接到该虚拟机。
- 按照安装 Valkey 中的说明,在 Compute Engine 虚拟机
上安装
valkey-cli6.0 版或更高版本。
- 按照安装 Valkey 中的说明,在 Compute Engine 虚拟机
上安装
检查您为 实例使用的证书授权机构 (CA) 模式。
如果 CA 模式为 单实例, 请按照 在客户端上安装 CA 证书中的说明安装实例的 CA 证书。
如果 CA 模式为 共享,请 按照 在 客户端上安装 CA 证书软件包中的说明安装实例的 CA 证书软件包。
如果 CA 模式为 客户管理, 则您的应用可以连接到实例,而无需 下载和安装其他 CA 证书。因此,您可以跳过此步骤。
查看实例的主端点和读取器端点 并记下每个端点的 IP 地址和端口号。
运行以下命令,连接到实例的主端点:
valkey-cli -h PRIMARY_ENDPOINT_ADDRESS -p PORT_NUMBER --tls --cacert /tmp/server_ca.pem
替换以下内容:
- PRIMARY_ENDPOINT_ADDRESS:您在上一步中记下的主端点的 IP 地址
- PORT_NUMBER:您在 上一步中记下的此端点的端口号
运行以下命令,连接到实例的读取器端点:
valkey-cli -h READER_ENDPOINT_ADDRESS -p PORT_NUMBER --tls --cacert /tmp/server_ca.pem
替换以下内容:
- READER_ENDPOINT_ADDRESS:您记下的读取器端点的 IP 地址
- PORT_NUMBER:您记下的此端点的端口号
如果您在实例上启用了 IAM 身份验证或基于基本令牌的身份验证,则必须提供身份验证凭据以及主端点和读取器端点的 TLS 标志。
例如:
valkey-cli -h PRIMARY_ENDPOINT_ADDRESS -p PORT_NUMBER --tls --cacert /tmp/server_ca.pem --user USERNAME -a TOKEN
和
valkey-cli -h READER_ENDPOINT_ADDRESS -p PORT_NUMBER -c --tls --cacert /tmp/server_ca.pem --user USERNAME -a TOKEN
替换以下内容:
- USERNAME:实例的用户名
- TOKEN:身份验证令牌
如需详细了解如何生成或管理身份验证 凭据,请参阅 管理 IAM 身份验证 和 使用基于基本令牌的身份验证安全访问实例。
连接到节点后,输入一些 Valkey 命令:
请输入:
PING
结果:
PONG