您可以安全地加密在客户端应用和 Memorystore for Valkey 之间传输的所有数据。这是传输加密。通过使用传输加密,所有 Valkey 流量都通过传输层安全 (TLS) 协议进行加密。这样可确保在应用与 Memorystore for Valkey 之间移动的所有数据保持机密且未被篡改。
启用传输加密后,Valkey 客户端仅通过安全连接进行通信。未配置 TLS 的 Valkey 客户端会被屏蔽。如果您选择使用传输加密,则要负责确保您的 Valkey 客户端能够使用 TLS 协议。
使用传输加密的实例具有证书授权机构 (CA)。您可以使用 CA 对实例中机器的证书进行身份验证。
您可以使用的 CA 模式之一是用于每个实例的 CA。Memorystore for Valkey 会为每个实例预配自己的唯一 CA 基础架构。如需安全地访问实例,您必须将客户端应用配置为信任此 CA 层次结构。这包括在访问实例的每个客户端上下载并安装 CA 证书。
创建使用每个实例的 CA 的实例
控制台
按照创建实例中的步骤操作。
gcloud
如需创建使用每个实例的 CA 的实例,请使用 gcloud memorystore instances create 命令。
gcloud memorystore instances create INSTANCE_ID \
--location=REGION_ID \
--endpoints='[{"connections": [{"pscAutoConnection": {"network": "projects/PROJECT_ID/global/networks/NETWORK_ID", "projectId": "PROJECT_ID"}}]}]' \
--replica-count=REPLICA_COUNT \
--node-type=NODE_TYPE \
--shard-count=SHARD_COUNT \
--engine-version=ENGINE_VERSION \
--mode=MODE \
--transit-encryption-mode=server-authentication \
--server-ca-mode=google-managed-per-instance-ca
进行以下替换:
INSTANCE_ID:您要创建的实例的 ID。实例 ID 的长度必须为 1 到 63 个字符,且只能使用小写字母、数字或连字符。必须以小写字母开头,并以小写字母或数字结尾。
REGION_ID:您希望实例所在的区域。
PROJECT_ID:您要在其中创建实例的项目的 ID。
NETWORK_ID:您要用于创建实例的网络的 ID。
REPLICA_COUNT:副本数(每个分片)。可接受的值为
0-5。NODE_TYPE:实例的节点类型。
SHARD_COUNT:实例中的分片数量。分片数决定了用于存储实例数据的总内存容量。如需详细了解实例规范,请参阅实例和节点规范。
ENGINE_VERSION:实例的版本。此参数可接受的值包括
VALKEY_7_2、VALKEY_8_0和VALKEY_9_0。如果您未指定值,则默认值为VALKEY_9_0。MODE:确定实例是已启用集群模式还是已停用集群模式。如果省略此字段,实例默认处于“集群模式已启用”状态。如需了解详情,请参阅启用和停用集群模式。
server-ca-mode 参数表示实例的 CA 模式。对于每个实例的 CA,google-managed-per-instance-ca 是相应参数的值。如果您不使用此参数,则默认 CA 模式为单实例。
例如:
gcloud memorystore instances create my-instance \
--location=us-central1 \
--endpoints='[{"connections": [{"pscAutoConnection": {"network": "projects/my-project/global/networks/my-network", "projectId": "my-project"}}]}] \
--replica-count=1 \
--node-type=highmem-medium \
--shard-count=3 \
--engine-version=VALKEY_9_0 \
--mode=CLUSTER \
--transit-encryption-mode=server-authentication \
--server-ca-mode=google-managed-per-instance-ca
下载 CA
如果您为实例启用传输加密,则在使用 get-certificate-authority 命令时,系统会显示 CA 的证书。
gcloud memorystore instances get-certificate-authority INSTANCE_ID
将 INSTANCE_ID 替换为相应实例的 ID。
响应正文中包含所有适用 CA 的证书。
在客户端上安装 CA 证书
您必须在连接到实例的客户端上安装 CA 证书。CA 证书安装可能因客户端类型而异。
如需在 Compute Engine Linux 虚拟机上安装 CA 证书,请执行以下操作:
使用 SSH 连接到 Compute Engine Linux 客户端。
在客户端中,使用以下命令创建
server_ca.pem文件:sudo vim /tmp/server_ca.pem
下载 CA 并将其粘贴到
server_ca.pem文件中。您必须正确设置 CA 文字的格式。
server_ca.pem文件可能如下所示:-----BEGIN CERTIFICATE----- MIIDnTCCAoWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBhTEtMCsGA1UELhMkNzYx NTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2YxOWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29n bGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVkaXMgU2VydmVyIENBMRQwEgYDVQQKEwtH b29nbGUsIEluYzELMAkGA1UEBhMCVVMwHhcNMjAwOTE3MjEzNDE1WhcNMzAwOTE1 MjEzNTE1WjCBhTEtMCsGA1UELhMkNzYxNTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2Yx OWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29nbGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVk aXMgU2VydmVyIENBMRQwEgYDVQQKEwtHb29nbGUsIEluYzELMAkGA1UEBhMCVVMw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyDKmDHZm6tzMhNtKOnp8H 8+zTv1qA6OkBToVqCjKTTMGO18ovNtAAMjbGvclLuJNLbA2WTTWVttHen6Cn82h0 3gG9HMk9AwK1cVT7gW072h++TRsYddIRlwnSweRWL8jUX+PNt7CjFqH+sma/Hb1m CktHdBOa897JiYHrMVNTcpS8SFwwz05yHUTEVGlHdkvlaJXfHLe6keCMABLyjaMh 1Jl4gZI2WqLMV680pJusK6FI6q/NmqENFc9ywMEg395lHTK9w9e014WIXg0q7sU3 84ChVVS2yYOMEUWeov4Qx6XeVfA4ss5t7OCqsMQkvslkE90mJZcVvhBj3QvTH9Rz AgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEB AJkn+MDE4V10DZn4uEc0s0Mg4FEMC1fDewmDYwSNnxRlzfEi+wAX2AaqrJ4m4Qa7 xIyuSYxArEOY6QeyJyw7/06dom8aAv4aO2p8hE04Ih6QwaTMFIlT2Jf6TidVd3eT wfjwFJVoJ+dgxsaCv2uMFZWee5aRHmKzj9LhqPwpWnTs9Q/qmOheUNoe2/1i8yvn 662M7RZMR7fZH6ETsdz5w1nPXXiRqJ7K0EGKoPNjMlYK3/U1X3sazI4tpMNgTdxG rnNh9Sd9REMBmDCPj9dUI9k4hQX4yQZp96fnLT6cet22OPajEKnpzyqJs1s4iX/g lEtWs4V/YBhKA56CW6ASZS8= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDnTCCAoWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBhTEtMCsGA1UELhMkYjg4 ZTUzYTMtODdmNC00N2VhLWJjN2MtYTdhMzM4NmIwZmU4MTEwLwYDVQQDEyhHb29n bGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVkaXMgU2VydmVyIENBMRQwEgYDVQQKEwtH b29nbGUsIEluYzELMAkGA1UEBhMCVVMwHhcNMjAwOTE4MjEzMTI3WhcNMzAwOTE2 MjEzMjI3WjCBhTEtMCsGA1UELhMkYjg4ZTUzYTMtODdmNC00N2VhLWJjN2MtYTdh MzM4NmIwZmU4MTEwLwYDVQQDEyhHb29nbGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVk aXMgU2VydmVyIENBMRQwEgYDVQQKEwtHb29nbGUsIEluYzELMAkGA1UEBhMCVVMw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEO4Zs/So5DA6wtftkAElD 8BVREob4gby2mGBYAtd3JJQKFC+zIqCf2DhrWihrCeXhsdsZqJUF16E3MsCCWS2T UWt6T37zObU2fzKmb7X+TSw1tunIUcIXwWzoMhqdGrIvfI9guMbF+KssQIjDMs9M G/hY6cY1NB5THOxXqcxzYrwSKB1EE160EDz4RgKAYQhw7AyVOBBAbWqA5pTEDuUy qpsz+NFpKYTwaeTpzil0xIl0JJS3DOd4G7ZnMG2wFT2j3wt+P0SkAPuOWgmX82iO gGmKoaCh3KcICie/rZRTfsRPjMm+yswRQRDeLB5eoMmH+gbUInVZU0qOJ/7gOYEb AgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEB AF4xlEbwLUK5VjoKlJBtKXLYrYcW+AbQLhZQFP8exE8bOW7p39h+5J0nl3ItPxu6 97BCt1P5TFisba8pBxaExiDsYmjKQrhtizMkzl5h9hGksOgoLlAqaaxfA97+Q9Tq 5gaYChESur/159Z3jiM47obKoZmHfgSgr//7tjII7yZxUGhOjIVffv/fEa4aixqM 0yH1V1s8hWHZeui2VFrHmTxY20IH9ktyedjSUgnFXzsEH6sbR18p0wBZqyrrtURs DaUIeoOHfHgEJM8k/wphSJI0V6pMC6nax2JhexLTRiUsiGTLRDe3VtsdWqS2DLa9 9DmrfdF0eFrfWw3VRNLwwXg= -----END CERTIFICATE-----
如需正确设置文件中的文字格式,请遵循以下准则:
复制整个 CA,包括
-----BEGIN CERTIFICATE-----和
-----END CERTIFICATE-----行。请确保 CA 的文字完全靠左对齐。验证 CA 的任何行前面是否都没有空格。
另起一行添加每个 CA。验证 CA 之间没有空行。
为传输加密配置客户端
您用于连接到实例的客户端必须支持 TLS 或使用第三方辅助信息文件来启用 TLS。
如果您的客户端支持 TLS,请将其配置为指向实例的 IP 地址、端口 6379 和包含 CA 的文件。您可以查看示例,了解如何连接到 Memorystore for Valkey 中已启用传输加密的已启用集群模式或已停用集群模式的实例。
管理 CA 轮替
我们建议您在访问实例的客户端上安装所有可下载的 CA 证书。
定期安装最新的 CA 证书可确保在 Memorystore for Valkey 轮替 CA 时,您拥有必要的证书。在此轮换期间,现有 CA 和新 CA 均处于有效状态。
用于连接到使用传输加密的实例的代码示例
如需查看有关如何设置客户端库以连接到使用传输加密的实例的代码示例,请参阅同时使用 IAM 身份验证和传输加密的代码示例。