Azure Redis 系列之 Azure Redis 虚拟网络部署

    承接上篇文章内容,咱们来看一下在Azure Redis部署中提供的其余选项,上篇讲过,在Azure Redis Premium版本中,咱们能够支持将Redis部署在VNET中,这样的好处是显而易见的,咱们能够经过NSG等规则来控制进出redis的流量,这样能够把redis的安全保护好,可是若是不是Premium版本的Redis是否意味着就没办法作Redis的网络安全防御呢?固然也不是这样,即便是standard的redis,咱们仍然能够在Firewall里以添加白名单的方式保护redis的安全redis

    微信截图_20191209132854.png



    固然这只是针对公网制定的白名单,redis自己仍然是至关于部署在internet中的,而不是一个私有的网络,若是想让应用以访问内容的方式访问redis,就须要将Redis部署在虚拟网络中了
api


    Redis 虚拟网络部署主要有如下这些优点:
缓存

  1. 有固定的static private ip安全

  2. 可使用NSG控制出入站流量服务器

  3. 应用访问延迟更低微信


    固然,想要部署在虚拟网络中,Redis还要求咱们必须有一个独立的subnet用于redis部署,这是个什么概念呢?若是用过application gateway的话其实很容易理解这个概念,application gateway也是要求必须部署在一个独立的subnet中,这个subnet只能部署application gateway资源,不能部署其余任何资源,redis也是一样的概念,这是redis部署在虚拟网络里的一个前置条件
网络


    另外,若是对于出入站流量有严格要求的场景,Redis还要求对一些特定的服务器和地址有入站或者出站的权限,redis须要按期和一些管理节点进行通讯以维护redis自己的状态
app

    

    如下是这些要求的详细介绍,若是网络端口不知足条件的话,会发现redis部署时会报错超时等状况
负载均衡

出站端口要求

出站端口有七个要求。ide

  • 与 Internet 的全部出站链接均可以经过客户端的本地审核设备创建。

  • 其中三个端口将流量路由到为 Azure 存储和 Azure DNS 提供服务的 Azure 终结点。

  • 剩余端口范围,这些端口用于内部 Redis 子网通讯。 内部 Redis 子网通讯不须要子网 NSG 规则。

端口 方向 传输协议 目的 本地 IP 远程 IP
80、443 出站 TCP Azure 存储/PKI (Internet) 上的 Redis 依赖关系 (Redis 子网) *
53 出站 TCP/UDP DNS (Internet/VNet) 上的 Redis 依赖关系 (Redis 子网) 168.63.129.16 和 169.254.169.254 1 以及子网的任何自定义 DNS 服务器 3
8443 出站 TCP Redis 的内部通讯 (Redis 子网) (Redis 子网)
10221-10231 出站 TCP Redis 的内部通讯 (Redis 子网) (Redis 子网)
20226 出站 TCP Redis 的内部通讯 (Redis 子网) (Redis 子网)
13000-13999 出站 TCP Redis 的内部通讯 (Redis 子网) (Redis 子网)
15000-15999 出站 TCP Redis 的内部通讯和异地复制 (Redis 子网) (Redis 子网)(地域副本对等子网)
6379-6380 出站 TCP Redis 的内部通讯 (Redis 子网) (Redis 子网)

1 Microsoft 拥有的这些 IP 地址用于对为 Azure DNS 提供服务的主机 VM 进行寻址。

3 没有自定义 DNS 服务器的子网或忽略自定义 DNS 的更新 redis 缓存不须要。

异地复制对等端口要求

若是在 Azure 虚拟网络中的缓存之间使用异地复制,请注意,建议的配置是在两个缓存的入站和出站方向上取消阻止整个子网的端口 15000-15999,这样即便未来发生异地故障转移,子网中的全部副本组件也能够直接相互通讯。

入站端口要求

入站端口范围有八个要求。 这些范围中的入站请求从同一 VNET 中托管的其余服务入站,或者是 Redis 子网通讯的内部请求。

端口 方向 传输协议 目的 本地 IP 远程 IP
637九、6380 入站 TCP 与 Redis 的客户端通讯、Azure 负载均衡 (Redis 子网) (Redis 子网)、虚拟网络、Azure 负载均衡器 2
8443 入站 TCP Redis 的内部通讯 (Redis 子网) (Redis 子网)
8500 入站 TCP/UDP Azure 负载均衡 (Redis 子网) Azure 负载均衡器
10221-10231 入站 TCP Redis 的内部通讯 (Redis 子网) (Redis 子网)、Azure 负载均衡器
13000-13999 入站 TCP 与 Redis 群集的客户端通讯、Azure 负载均衡 (Redis 子网) 虚拟网络、Azure 负载均衡器
15000-15999 入站 TCP 与 Redis 群集的客户端通讯、Azure 负载均衡和异地复制 (Redis 子网) 虚拟网络、Azure 负载均衡器(地域副本对等子网)
16001 入站 TCP/UDP Azure 负载均衡 (Redis 子网) Azure 负载均衡器
20226 入站 TCP Redis 的内部通讯 (Redis 子网) (Redis 子网)

2 可使用服务标记“AzureLoadBalancer”(资源管理器)或“AZURE_LOADBALANCER”(经典)来创做 NSG 规则。

其余 VNET 网络链接要求

在虚拟网络中,可能一开始不符合 Azure Redis 缓存的网络链接要求。 在虚拟网络中使用时,Azure Redis 缓存须要如下全部项才能正常运行。

  • 与全球 Azure 存储终结点创建的出站网络链接。 这包括位于 Azure Redis 缓存实例区域的终结点,以及位于其余 Azure 区域的存储终结点。 Azure 存储终结点在如下 DNS 域之下解析:table.core.chinacloudapi.cnblob.core.chinacloudapi.cnqueue.core.chinacloudapi.cn 和 file.core.chinacloudapi.cn

  • 与 ocsp.msocsp.commscrl.microsoft.com 和 crl.microsoft.com 创建的出站网络链接。 须要此链接才能支持 SSL 功能。

  • 虚拟网络的 DNS 设置必须可以解析前面几点所提到的全部终结点和域。 确保已针对虚拟网络配置并维护有效的 DNS 基础结构便可符合这些 DNS 要求。

  • 与如下 Azure 监视终结点(在下列 DNS 域下进行解析)的出站网络链接:shoebox2-black.shoebox2.metrics.nsatc.net、north-prod2.prod2.metrics.nsatc.net、azglobal-black.azglobal.metrics.nsatc.net、shoebox2-red.shoebox2.metrics.nsatc.net、east-prod2.prod2.metrics.nsatc.net、azglobal-red.azglobal.metrics.nsatc.net。



    因此,总结来讲,想要将redis部署到虚拟网络,须要知足如下三个条件

  1. 有一个独立的subnet用于redis部署

  2. 知足redis的出入站要求

  3. Premium版本Redis

    

    部署的过程相对来讲就很简单了,在部署redis的时候选择P级别redis, 而后挑选合适的vnet和subnet,能够看到若是subnet不知足条件,会提示subnet中已经有其余资源

    未命名图片.png

相关文章
相关标签/搜索