You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何迁移EC2 Redis至AWS ElastiCache需禁用加密?如何加密迁移?

迁移失败原因
  • 源Redis未匹配加密配置:EC2上的默认Redis未启用传输加密(TLS)和静态加密,而启用双加密的ElastiCache集群要求迁移过程通过加密通道传输数据,且仅接收加密后的静态数据。源Redis既无法提供TLS连接,也无加密的静态数据,导致迁移工具无法完成数据传输与写入。
  • 权限与密钥配置缺失:静态加密的ElastiCache依赖KMS密钥加密数据,若EC2实例的IAM角色无该密钥的kms:Encrypt/Decrypt/GenerateDataKey权限,迁移时无法将源数据加密写入目标集群;此外,安全组若未放行加密端口流量,也会导致连接失败。
  • 迁移参数未适配加密要求:开启传输加密的ElastiCache要求迁移请求用TLS连接源Redis,但首次迁移时未配置源Redis的TLS端口、证书等参数,导致迁移工具无法建立加密连接。
带加密的迁移实现步骤

1. 给源Redis启用传输加密(TLS)

  • 修改EC2上的Redis配置文件(通常为redis.conf),添加以下配置:
    port 0          # 禁用非TLS端口
    tls-port 6379   # 启用TLS端口
    tls-cert-file /path/to/server.crt
    tls-key-file /path/to/server.key
    tls-ca-cert-file /path/to/ca.crt
    
  • 重启Redis服务,验证TLS端口可正常连接。

2. 配置KMS权限与安全组

  • 若使用自定义KMS密钥,给EC2实例的IAM角色添加该密钥的kms:Encrypt、kms:Decrypt、kms:GenerateDataKey权限;使用AWS管理密钥则默认权限通常足够,需确认无额外限制。
  • 调整安全组:ElastiCache集群的安全组允许EC2实例IP访问其加密端口(默认6379);EC2的安全组允许出站到ElastiCache集群的端口。

3. 创建加密ElastiCache集群并启动迁移

  • 创建ElastiCache Redis集群时,开启Encryption at rest(选择对应KMS密钥)和Encryption in transit(启用TLS)。
  • 配置迁移任务时,指定源Redis的TLS端口,上传CA证书(自签名证书需此步骤);确保迁移任务的IAM角色拥有读取源Redis、写入目标集群的权限。

4. 验证迁移结果

  • 通过ElastiCache控制台监控迁移状态,完成后检查目标集群的数据完整性,确认所有数据已迁移成功。

内容的提问来源于stack exchange,提问作者Ahmed Hussain Shaikh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 12:34:57