问题描述
为优化Redis访问链路,对下面三种方案进行对比:
1、Redis添加到虚拟网络
2、Redis添加专用终结点
3、Redis默认公共链路
问题分析
第三种:Redis默认公共链路,顾名思义,就是公网可访问,这是最基本的访问方式。如要考虑性能或安全性,可以通过SSL(6380), Non-SSL(6379)方式来权衡。Redis默认的最低 TLS 版本配置为 1.2。
第二种:专用终结点,主要作用是通过消除数据在公共 Internet 上的暴露来保护 Azure 中终结点之间的连接。使用了专用连接后,可以通过专用终结点从虚拟网络连接到 Azure Cache 实例。它其实是使用了 VNet 中的专用 IP 地址将服务有效地引入 VNet 中,将专用终结点添加到缓存实例时,通过DNS解析将所有 Redis 流量转移至专用终结点。
第一种:VNet 是 Azure 中专用网络的基本构建块。 借助 VNet,许多 Azure 资源可以安全地与彼此、Internet 和本地网络通信。 VNet 类似于可以在自己的数据中心进行操作的传统网络,但具有 Azure 基础结构、规模、可用性和隔离的优点。
优点
- 为 Azure Cache for Redis 实例配置了 VNet 后,该实例不可公开寻址,而只能从 VNet 中的虚拟机和应用程序进行访问。
- 将 VNet 与受限制的 NSG 策略相结合有助于降低数据泄露的风险。
- VNet 部署可为 Azure Cache for Redis、子网、访问控制策略和其他功能提供增强的安全性和隔离,从而进一步限制访问。
- 支持异地复制。
限制
- VNet 注入的缓存仅适用于高级 Azure Cache for Redis。
- 使用 VNet 注入的缓存时,需要打开 VNet 以缓存 CRL/PKI、AKV、Azure 存储、Azure Monitor 等依赖项。
参考资料
Azure Cache for Redis 网络隔离选项:https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-network-isolation
删除与 Azure Cache for Redis 配合使用的 TLS 1.0 和 1.1:https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-remove-tls-10-11