- 最新动态
- 功能总览
- 服务公告
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- 最佳实践
- API参考
- SDK参考
-
常见问题
- 实例类型/版本
- 实例特性
- 安全性
-
客户端和网络连接
- DCS实例支持公网访问吗?
- Redis连接失败问题排查和解决
- DCS实例是否支持跨VPC访问?
- Redis公网访问所需弹性IP是否收费?
- Redis连接时报错:“(error) NOAUTH Authentication required”。
- 客户Http的Server端关闭导致Redis访问失败
- 客户端出现概率性超时错误
- 使用Jedis连接池报错如何处理?
- 如何使用Redis-desktop-manager访问Redis实例?
- 使用SpringCloud时出现ERR Unsupported CONFIG subcommand怎么办?
- 客户端无法使用域名连接DCS缓存实例时如何处理?
- 本地环境是否可以连接缓存实例?
- 使用Redis实例的发布订阅(pubsub)有哪些注意事项?
- Redis 3.0实例公网开关被关闭是什么原因?
- 使用短连接访问Redis出现“Cannot assign requested address”错误
- 连接池选择及Jedis连接池参数配置建议
- 如何解决Lettuce 6.x版本客户端使用DCS实例兼容性问题?
- 应该选择域名还是IP地址连接Redis实例?
- 主备实例的只读地址是连接到主节点还是备节点?
-
Redis使用
- 是否支持CPU架构的变更?
- 实例是否支持变更可用区
- Redis实例能否修改VPC和子网?
- 实例是否支持自定义或修改端口?
- 实例是否支持修改访问地址?
- 实例无法删除是什么原因?
- 集群实例启动时间过长是什么原因?
- 使用redis_exporter出错怎么办?
- 什么是预留内存,如何配置预留内存?
- 创建的缓存实例为什么可使用内存比实例规格少一些?
- Redis 3.0 Proxy集群不支持redisson分布式锁的原因
- DCS Redis有没有后台管理软件?
- DCS缓存实例的数据被删除后,能否找回?
- 为什么实例实际可用内存比申请规格小而且已使用内存不为0?
- 如何查看Redis内存占用量
- Cluster集群实例容量和性能未达到瓶颈,但某个分片容量或性能已过载是什么原因?
- 访问Redis报OOM错误提示
- 不同编程语言如何使用Cluster集群客户端
- 使用Cluster的Redis集群时建议配置合理的超时时间
- 读取redis数据报超时错误
- hashtag的原理、规则及用法示例
- Redis key丢失是什么原因
- 重启实例后缓存数据会保留吗?
- 如何确认实例是单DB还是多DB
- Proxy集群开启多DB的使用限制及操作方式
- 如何创建多DB的Proxy集群实例?
- 扩容缩容与实例升级
-
数据备份/导出/迁移
- DCS实例是否兼容低版本Redis迁移到高版本
- 不同类型的操作系统间进行数据传递和操作,需要注意什么?
- 源Redis使用了多DB,能否迁移数据到集群实例?
- 源Redis迁移到集群实例中有哪些限制和注意事项?
- 在线迁移需要注意哪些?
- 在线迁移能否做到完全不中断业务?
- 在线迁移实例源端报“Disconnecting timedout slave”和“overcoming of output buffer limits”
- 如何导出Redis实例数据?
- 使用Rump工具迁移数据,命令执行后无报错,但Redis容量无变化
- 是否支持控制台导出RDB格式的Redis备份文件?
- 缓存实例备份文件如何存放?备份文件的数量是否有限制?
- Redis在线数据迁移是迁移整个实例数据么?
- AOF文件在什么情况下会被重写
- Redis迁移失败有哪些常见原因?
- 一个数据迁移能迁移到多个目标实例么?
- 怎么放通SYNC和PSYNC命令?
- 迁移或导入备份数据时,相同的Key会被覆盖吗?
- Cluster集群实例使用内置key且跨slot的Lua脚本时迁移失败
- 迁移故障处理
- 数据迁移失败问题排查
- Memcached如何迁移?
- 是否支持Memcached和Redis之间实例数据的迁移?
- 大Key/热Key分析/过期Key扫描
- Redis命令
- 监控告警
- 主备倒换
- 创建实例和权限
- Memcached使用
- 故障排除
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
DCS数据安全
安全性是华为云与您的共同责任。华为云负责云服务自身的安全,提供安全的云;作为租户,您需要合理使用云服务提供的安全能力,对数据进行保护,安全地使用云。详情请参见责任共担。
本文提供了使用DCS过程中的安全最佳实践,旨在为提高整体安全能力提供可操作的规范性指导。根据该指导文档您可以持续评估DCS资源的安全状态,更好的组合使用DCS提供的多种安全能力,提高对DCS资源的整体安全防御能力,保护存储在DCS内的数据不泄露、不被篡改,以及数据在传输过程中不泄露、不被篡改。
本文从以下几个维度给出建议,您可以评估DCS的使用情况,并根据业务需要在本指导的基础上进行安全配置。
- 通过访问控制,保护数据安全性
- 加密存储数据
- 构建数据的恢复和容灾能力
- SSL链路传输加密方式访问DCS
- 审计是否存在异常数据访问
- 使用最新版本SDK获得更好的操作体验和更强的安全能力
- 通过其他云服务进一步增强对数据的安全防护
通过访问控制,保护数据安全性
正确的使用DCS提供的访问控制能力,可以有效预防您的数据被异常窃取或者破坏。
- 建议对不同角色的IAM用户仅设置最小权限,避免权限过大导致数据泄露或被误操作。
为了更好的进行权限隔离和管理,建议您配置独立的IAM管理员,授予IAM管理员IAM策略的管理权限。IAM管理员可以根据您业务的实际诉求创建不同的用户组,用户组对应不同的数据访问场景,通过将用户添加到用户组并将IAM策略绑定到对应用户组,IAM管理员可以为不同职能部门的员工按照最小权限原则授予不同的数据访问权限,详情请参见DCS权限管理。
- 建议配置白名单或安全组访问控制,保护您的数据不被异常读取和操作。
租户创建DCS实例后,可以通过配置白名单或安全组的方式进行访问控制。租户配置IP白名单或安全组的入方向、出方向规则限制,可以控制连接实例的网络范围,避免DCS暴露给不可信第三方。
Redis 4.0、Redis 5.0和Redis 6.0基础版通过白名单控制,请参考配置白名单。
Redis 6.0企业版通过配置安全组访问规则控制,请参考配置安全组。安全组入方向规则的“源地址”应避免设置为0.0.0.0/0。
- 建议不使用高危命令,避免攻击者直接对Redis进行致命性破坏。
为避免攻击者直接对Redis进行致命性破坏,如果业务没有使用场景,建议通过命令重命名的方式对其进行禁用, 相关列表请参见默认禁用的命令列表,支持重命名的命令列表。
- 建议使用非默认端口,避免端口被扫描攻击。
Redis Server监听的端口默认为6379,容易被扫描攻击,建议将端口设置为非默认端口。支持修改的端口范围:1~65535之间的其它端口号。详情请参见自定义或修改端口。
- 建议限制Redis客户端最大连接数,通过限制使用的资源,降低资源耗尽和拒绝服务风险。
Redis的maxclients参数决定了实例最大支持同时连接的客户端个数,默认值为10000,设置范围为1000~50000。如果超过自定义的连接数阈值,新的连接请求将被拒绝。
建议根据应用的具体使用场景设置合适的客户端最大连接数,限制资源耗尽和拒绝服务的可能性。修改maxclients参数请参见修改配置参数。
- 建议限制Redis连接闲置等待时间,根据业务实际场景来设置具体时间。
为避免client空闲连接长时间占用资源,可在控制台界面配置闲置等待时间(timeout参数),设置超时阈值后,将在连接空闲指定的秒数后关闭客户端连接。timeout默认值为0,表示服务端不会主动断开客户端的空闲连接。设置范围为0~7200,单位:秒。
建议根据应用的具体使用场景设置实际闲置等待时间,不建议将timeout设置为0。例如,可以将timeout设置为3600秒。避免出现资源耗尽和拒绝服务的可能性。修改timeout参数请参见修改配置参数。
- 建议将访问DCS实例方式设置为密码访问,防止未经认证的客户端误操作实例。达到对客户端进行认证访问的目的,提高实例使用的安全性。
- 建议为DCS实例配置ACL访问控制权限。
DCS管理员可以为实例创建只读账号或者读写账号,用于不同业务场景下访问DCS的精细管控。
- 建议不同的业务使用不同的DCS实例,避免实例故障影响多个业务。
构建数据的恢复和容灾能力
预先构建数据的容灾和恢复能力,可以有效避免异常数据处理场景下数据误删、破坏的问题。
- 建议开启实例自动备份,获得异常场景数据快速恢复能力。
DCS提供自动备份和手动备份两种备份操作。自动备份默认未开启,需要租户选择是否开启,备份存储期限最多7天。同时,开启自动备份后,允许对实例执行备份文件的恢复。自动备份请参见设置备份策略。
说明:手动备份是租户手动触发的实例全量备份,这些备份数据存储在华为云OBS桶中,当租户删除实例时,会同步删除OBS桶中的快照。
- 建议使用跨AZ复制构建数据容灾能力。
DCS的主备和集群实例支持部署高可用实例,租户可选择在单可用区或多可用区中部署实例。当租户选择跨AZ实例时,DCS实例会主动建立和维护Redis同步复制。在实例主节点故障的情况下,缓存实例会自动将备实例升为主节点,从而达到高可用的目的。如果租户使用缓存实例时,业务中读取数据比例大,可以选择4.0以上版本的读写分离实例或者集群多副本实例,缓存实例会自动维护主节点和多个备节点之间的数据同步复制,租户可以根据业务需要连接不同的地址进行读写分离。
当租户选择跨AZ实例时,DCS实例会主动建立和维护Redis同步复制。在实例主节点故障的情况下,缓存实例会自动将备实例升为主节点,从而达到高可用的目的。
SSL链路传输加密方式访问DCS
为了确保数据传输过程中不被窃取和破坏,建议使用SSL链路传输加密方式访问DCS。
目前DCS Redis 6.0基础版实例支持SSL链路传输加密,其他Redis版本暂不支持,建议优先选择Redis 6.0基础版实例,并启用SSL功能。
审计是否存在异常数据访问
- 开启云审计服务,记录DCS的所有访问操作,便于事后审查。
云审计服务(Cloud Trace Service,CTS),是华为云安全解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。
您开通云审计服务并创建和配置追踪器后,CTS可记录DCS的管理事件和数据事件用于审计。详情请参见查看DCS审计日志。
- 使用云监控服务对安全事件进行实时监控和告警。
您在使用DCS的过程中会也可能会遇到服务端返回的错误响应,为使您更好地掌握DCS实例状态,华为云提供了云监控服务(Cloud Eye)。您可使用该服务监控自己的DCS实例,执行自动实时监控、告警和通知操作,帮助您实时掌握DCS实例中所产生的请求、流量和错误响应等信息。
云监控服务不需要开通,会在用户创建DCS实例后自动启动。相关文档请参见DCS支持的监控指标、配置DCS监控告警。
通过其他云服务进一步增强对数据的安全防护
启用安全云脑(SecMaster)保障DCS资源安全
安全云脑通过“安全上云合规检查1.0”、“等保2.0三级要求”、“护网检查”三种基线规则,检测DCS关键配置项,告警提示存在安全隐患的配置,并提供相应配置加固建议和帮助指导。您可以通过安全云脑的资源管理功能,快速了解到DCS安全状况等信息,帮助您定位安全风险问题。详情请参见基线检查概述。