用于 Redis 的 Amazon ElastiCache
ElastiCache for Redis 用户指南 (API 版本 2015-02-02)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

ElastiCache for Redis 静态加密

为了保护您的数据,Amazon ElastiCache 和 Amazon S3 提供了一种机制,当数据在缓存中时,该机制可限制对数据的访问。有关更多信息,请参阅 Amazon VPC 和 ElastiCache 安全性Amazon ElastiCache 的身份验证和访问控制

在复制组中启用 ElastiCache for Redis 静态加密时,在执行同步和备份操作期间,磁盘上的数据将被加密。此方法与 ElastiCache for Redis 传输中加密不同。传输中加密可对从一个位置移动到另一个位置的数据进行加密,例如在复制组与应用程序之间移动数据。有关 ElastiCache for Redis 传输中加密的信息,请参阅 ElastiCache for Redis 传输中加密 (TLS)。静态加密是可选功能,只能在创建复制组时在复制组中启用。

Amazon ElastiCache for Redis 静态加密是用于在同步和备份或快照操作期间通过加密磁盘数据来提高数据安全性的可选功能。由于加密和解密数据时需要进行一些处理,因此启用静态加密会对这些操作期间的性能产生一些影响。应对使用和不使用静态加密的数据进行基准测试,以确定对使用案例的性能影响。

ElastiCache 加密的当前实施不支持用户提供的加密密钥。

静态加密条件

在规划 ElastiCache 静态加密的实现时,应记住有关 ElastiCache 静态加密的以下约束:

  • 在运行以下 Redis 版本的复制组上支持静态加密:3.2.6、4.0.10 或更高版本。

  • 只有在 Amazon VPC 中运行的复制组支持静态加密。

  • 只有运行最新一代节点类型的复制组才支持静态加密。运行上一代节点类型的复制组不支持传输中加密。有关更多信息,请参阅 受支持的节点类型

  • 通过将参数 AtRestEncryptionEnabled 明确设置为 true 可启用静态加密。

  • 只有在创建复制组时才能在复制组中启用静态加密。无法通过修改复制组来开启和关闭静态加密。有关在现有复制组中实现静态加密的信息,请参阅启用静态加密

在备份和节点同步操作期间,实施静态加密可能会降低性能。使用自己的数据,对静态加密进行基准测试,然后与不加密情况进行比较,以确定其对实现性能的影响。

启用静态加密

通过在创建 Redis 复制组时将参数 AtRestEncryptionEnabled 设置为 true 可以启用 ElastiCache 静态加密。不能对现有复制组启用静态加密。

在使用 AWS 管理控制台、AWS CLI 或 ElastiCache API 创建 ElastiCache for Redis 复制组时,可以启用静态加密。

对现有的 Redis 集群启用静态加密

只能在创建 Redis 复制组时启用静态加密。如果要对现有复制组启用静态加密,请执行以下操作。

要对现有复制组启用静态加密

  1. 创建现有复制组的手动备份。有关更多信息,请参阅 进行手动备份

  2. 通过从备份中还原来创建新复制组。对新复制组启用静态加密。有关更多信息,请参阅 从备份还原并执行可选的集群规模调整

  3. 在您的应用程序中,将终端节点更新为新复制组的节点。

  4. 删除旧复制组。有关更多信息,请参阅 删除集群删除复制组

使用 AWS 管理控制台 启用静态加密

要在使用 AWS 管理控制台创建复制组时启用静态加密,请进行以下选择:

  • 选择 redis 作为引擎。

  • 选择 3.2.6、4.0.10 或更高版本作为引擎版本。

  • Encryption at-rest 列表中选择 Yes

有关这个分步过程,请参阅以下内容:

使用 AWS CLI 启用静态加密

要在创建 Redis 集群时使用 AWS CLI 启用静态加密,请在创建复制组时使用 --at-rest-encryption-enabled 参数。

在 Redis (已禁用集群模式) 集群中启用静态加密 (CLI)

以下操作使用三个节点 (--num-cache-clusters),一个主节点和两个只读副本创建 Redis (已禁用集群模式)复制组 my-classic-rg。为此复制组启用了静态加密 (--at-rest-encryption-enabled)。

在对此复制组启用加密时,需要以下参数及其值:

关键参数

  • --engine—必须是 redis

  • --engine-version—必须是 3.2.6、4.0.10 或更高版本。

  • --at-rest-encryption-enabled—启用静态加密所必需的。

例 1:包含副本的 Redis (已禁用集群模式)集群

对于 Linux, OS X, or Unix:

aws elasticache create-replication-group \ --replication-group-id my-classic-rg \ --replication-group-description "3 node replication group" \ --cache-node-type cache.m4.large \ --engine redis \ --engine-version 4.0.10 \ --at-rest-encryption-enabled \ --num-cache-clusters 3 \ --cache-parameter-group default.redis4.0

对于 Windows:

aws elasticache create-replication-group ^ --replication-group-id my-classic-rg ^ --replication-group-description "3 node replication group" ^ --cache-node-type cache.m4.large ^ --engine redis ^ --engine-version 4.0.10 ^ --at-rest-encryption-enabled ^ --num-cache-clusters 3 ^ --cache-parameter-group default.redis4.0

有关更多信息,请参阅以下内容:

 

在 Redis (已启用集群模式) 集群中启用静态加密 (CLI)

以下操作使用三个节点组或分片 (--num-node-groups) 创建 Redis (已启用集群模式)复制组 my-clustered-rg。每个复制组有三个节点,一个主节点和两个只读副本 (--replicas-per-node-group)。为此复制组启用了静态加密 (--at-rest-encryption-enabled)。

在对此复制组启用加密时,需要以下参数及其值:

关键参数

  • --engine—必须是 redis

  • --engine-version—必须是 3.2.6、4.0.10 或更高版本。

  • --at-rest-encryption-enabled—启用静态加密所必需的。

  • --cache-parameter-group—必须为 default-redis4.0.cluster.on 或派生自它,以便为此集群启用复制组模式。

例 2:Redis (已启用集群模式)集群

对于 Linux, OS X, or Unix:

aws elasticache create-replication-group \ --replication-group-id my-clustered-rg \ --replication-group-description "redis clustered cluster" \ --cache-node-type cache.m3.large \ --num-node-groups 3 \ --replicas-per-node-group 2 \ --engine redis \ --engine-version 4.0.10 \ --at-rest-encryption-enabled \ --cache-parameter-group default.redis4.0.cluster.on

对于 Windows:

aws elasticache create-replication-group ^ --replication-group-id my-clustered-rg ^ --replication-group-description "redis clustered cluster" ^ --cache-node-type cache.m3.large ^ --num-node-groups 3 ^ --replicas-per-node-group 2 ^ --engine redis ^ --engine-version 4.0.10 ^ --at-rest-encryption-enabled ^ --cache-parameter-group default.redis4.0.cluster.on

有关更多信息,请参阅以下内容:

使用 ElastiCache API 启用静态加密

要在使用 ElastiCache API 创建 Redis 复制组时启用静态加密,请将参数 AtRestEncryptionEnabled 设置为 trueCreateReplicationGroup

在 Redis (已禁用集群模式) 集群中启用静态加密 (API)

以下操作使用三个节点 (NumCacheClusters),一个主节点和两个只读副本创建 Redis (已禁用集群模式)复制组 my-classic-rg。为此复制组启用了静态加密 (AtRestEncryptionEnabled=true)。

在对此复制组启用加密时,需要以下参数及其值:

  • Engine—必须是 redis

  • EngineVersion—必须是 3.2.6、4.0.10 或更高版本。

  • AtRestEncryptionEnabled—必须为 true 以启用静态加密。

例 3:包含副本的 Redis (已禁用集群模式)集群

为了便于阅读,添加了换行符。

https://elasticache.us-west-2.amazonaws.com/ ?Action=CreateReplicationGroup &AtRestEncryptionEnabled=true &CacheNodeType=cache.m3.large &CacheParameterGroup=default.redis4.0 &Engine=redis &EngineVersion=4.0.10 &NumCacheClusters=3 &ReplicationGroupDescription=test%20group &ReplicationGroupId=my-classic-rg &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>

有关更多信息,请参阅以下内容:

 

在 Redis (已启用集群模式) 集群中启用静态加密 (API)

以下操作使用三个节点组/分片 (NumNodeGroups) 创建 Redis (已启用集群模式)复制组 my-clustered-rg,其中每个节点组/分片都具有三个节点,即一个主节点和两个只读副本 (ReplicasPerNodeGroup)。为此复制组启用了静态加密 (AtRestEncryptionEnabled=true)。

在对此复制组启用加密时,需要以下参数及其值:

  • Engine—必须是 redis

  • AtRestEncryptionEnabled—必须为 true 以启用静态加密。

  • EngineVersion—必须是 3.2.6、4.0.10 或更高版本。

  • CacheParameterGroup—必须为 default-redis4.0.cluster.on 或派生自该值,以使其成为 Redis (已启用集群模式) 集群。

例 4:Redis (已启用集群模式)集群

为了便于阅读,添加了换行符。

https://elasticache.us-west-2.amazonaws.com/ ?Action=CreateReplicationGroup &AtRestEncryptionEnabled=true &CacheNodeType=cache.m3.large &CacheParemeterGroup=default.redis4.0.cluster.on &Engine=redis &EngineVersion=4.0.10 &NumNodeGroups=3 &ReplicasPerNodeGroup=2 &ReplicationGroupDescription=test%20group &ReplicationGroupId=my-clustered-rg &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>

有关更多信息,请参阅以下内容:

 

另请参阅