Amazon ElastiCache
用户指南 (API Version 2015-02-02)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

用于 Redis 的 Amazon ElastiCache 静态加密

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

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

静态加密概述

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

静态加密约束

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

  • 在运行所有 Redis 版本的群集上都支持静态加密。运行 Memcached 的群集中不支持静态加密。

  • 只有在 Amazon VPC 中运行的群集支持静态加密。

  • 运行任何节点类型的群集都支持静态加密。

    只有在创建群集时才能在群集中实现静态加密。无法在群集中开启和关闭静态加密。有关更多信息,请参阅 对现有的 Redis 群集启用静态加密

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

启用静态加密

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

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

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

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

对现有群集启用静态加密

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

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

  3. 更新应用程序中的终端节点,使其指向新群集。

  4. 删除旧的群集。有关更多信息,请参阅 删除集群删除具有副本的集群

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

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

  • 选择 Redis 作为引擎。

  • 选择 3.2.6 版本作为引擎版本。

  • Encryption at-rest 列表中选择 Yes

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

使用 AWS CLI 启用静态加密

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

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

以下示例创建具有单个节点并已启用静态加密的 Redis (已禁用集群模式) 群集。在对此群集启用加密时,需要以下参数及其值:

  • --engine 必须为 redis

  • 必须包含 --at-rest-encryption-enabled 以启用静态加密。

例 Redis (已禁用集群模式) 群集 (无只读副本)

对于 Linux, OS X, or Unix:

Copy
aws elasticache create-cache-cluster \ --cache-cluster-id my-redis-cluster \ --cache-node-type cache.m4.large \ --engine redis \ --engine-version 2.8.24 \ --at-rest-encryption-enabled \ --num-cache-nodes 1 \ --cache-parameter-group default.redis3.2

对于 Windows:

Copy
aws elasticache create-cache-cluster ^ --cache-cluster-id my-redis-cluster ^ --cache-node-type cache.m4.large ^ --engine redis ^ --engine-version 2.8.24 ^ --at-rest-encryption-enabled ^ --num-cache-nodes 1 ^ --cache-parameter-group default.redis3.2

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

 

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

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

在对此群集启用加密时,需要以下参数及其值:

  • --engine 必须为 redis

  • 必须包含 --at-rest-encryption-enabled 以启用静态加密。

例 有副本的 Redis (已禁用集群模式) 群集

对于 Linux, OS X, or Unix:

Copy
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 2.8.24 \ --at-rest-encryption-enabled \ --num-cache-clusters 3 \ --cache-parameter-group default.redis3.2

对于 Windows:

Copy
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 2.8.24 ^ --at-rest-encryption-enabled ^ --num-cache-clusters 3 ^ --cache-parameter-group default.redis3.2

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

 

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

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

在对此群集启用加密时,需要以下参数及其值:

  • --engine 必须为 redis

  • 必须包含 --at-rest-encryption-enabled 以启用静态加密。

  • 要让群集成为 Redis (已启用集群模式) 群集,还需要使用以下参数。这些参数不影响是否启用静态加密。

    • --engine-version 必须为 3.2.6。

    • --cache-parameter-group 必须为 default-redis3.2.cluster.on 或派生自它,以便为此群集启用群集模式。

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

对于 Linux, OS X, or Unix:

Copy
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 3.2.6 \ --at-rest-encryption-enabled \ --cache-parameter-group default.redis3.2.cluster.on

对于 Windows:

Copy
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 3.2.6 ^ --at-rest-encryption-enabled ^ --cache-parameter-group default.redis3.2.cluster.on

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

使用 ElastiCache API 启用静态加密

要在使用 ElastiCache API 创建 Redis 群集时启用静态加密,请将参数 AtRestEncryptionEnabled 设置为 true,并将 CreateCacheCluster 用于单节点 Redis 群集,CreateReplicationGroup 用于具有只读副本的群集。

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

以下 API 代码将创建启用静态加密的 Redis (已禁用集群模式) 缓存群集。该群集有单个节点。要创建具有只读副本的群集,请使用 ElastiCache API 操作 CreateReplicationGroup

在对此群集启用加密时,需要以下参数及其值:

  • Engine 必须为 redis

  • AtRestEncryptionEnabled 必须为 true

例 Redis (已禁用集群模式)集群

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

Copy
https://elasticache.us-west-2.amazonaws.com/ ?Action=CreateCacheCluster &AtRestEncryptionEnabled=true &CacheClusterId=my-redis3-cluster &CacheNodeType=cache.m4.large &CacheParameterGroup=default &Engine=redis &EngineVersion=2.8.24 &NumCacheNodes=1 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20171008T220302Z &Version=2015-02-02 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=<credential>

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

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

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

在对此群集启用加密时,需要以下参数及其值:

  • Engine 必须为 redis

  • AtRestEncryptionEnabled 必须为 true

例 – 有副本的 Redis (已禁用集群模式) 群集

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

Copy
https://elasticache.us-west-2.amazonaws.com/ ?Action=CreateReplicationGroup &AtRestEncryptionEnabled=true &CacheNodeType=cache.m3.large &CacheParameterGroup=default.redis3.2 &Engine=redis &EngineVersion=2.8.24 &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

  • 要让群集成为 Redis (已启用集群模式) 群集,还需要使用以下参数。这些参数不影响是否启用静态加密。

    • EngineVersion 必须为 3.2.6。

    • CacheParameterGroup 必须为 default-redis3.2.cluster.on 或从中派生的值。

例 – Redis (已启用集群模式) 群集

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

Copy
https://elasticache.us-west-2.amazonaws.com/ ?Action=CreateReplicationGroup &AtRestEncryptionEnabled=true &CacheNodeType=cache.m3.large &CacheParemeterGroup=default.redis3.2.cluster.on &Engine=redis &EngineVersion=3.2.6 &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>

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

 

另请参阅