我们正在开始迁移到IIS群集以实现负载平衡,故障转移支持以及零停机升级。
我们目前正在使用一对Windows 2008 R2虚拟机testing此configuration。 我们目前的方法是在IIS上configuration相同的IP地址和绑定的虚拟机。 换句话说 – 192.168.100.88被两台虚拟机绑定,并且两台虚拟机都在其IPconfiguration中显示该地址。
每台服务器还有一个IP,不受负载均衡器的限制。
所以,我的问题是,如何testing一个节点,然后才能使其联机? 例如,我们下一个节点来升级。 我们希望在服务器内容返回给客户之前对其进行testing。 以前,当我们通过防火墙/networkingconfiguration在不同主机之间进行手动切换时,每个IIS服务器都有一组不同的IP地址,我们只需更改hosts文件并清除dnscaching。 testing离线模式。 然后把它联机。
但是…与负载平衡configuration,两台服务器在技术上绑定到相同的IP地址(我不知道如何工作)。 那么如何将我的浏览器专门指向平衡器中未启用的节点呢?
唯一想到的是为每个网站设置第二组IP地址,并在IIS中绑定这些(除了负载平衡的IP)。 内部testing将使用第二组IP,因为它们不通过防火墙暴露给外部客户。
这个唯一的问题(除额外的IP额外开销之外)是一些网站是https。 而IIS7只能将一个SSL证书绑定到一个IP地址。
那么,如何testing当前不在群集中的节点(通过networking负载平衡器pipe理器禁用)
NLB使用端口规则来确定到节点的路由。 除了Web服务的标准端口(http / s)之外,我们还将NLB群集设置为路由非标准端口,并设置NLB以始终将一个非标准端口路由到一个节点,然后将另一个非标准端口路由到另一个节点。
在每个节点的IIS中,我们为该节点的非标准端口添加了主机头文件条目。 结果允许您转到特定的URL( http://mysite.com:81 ),并且端口指定保证stream量将stream向您要根据NLB端口规则检查的节点。
如果您担心安全问题,请不要在防火墙/ NAT规则中打开这些非标准端口,然后您将只能testing内部networking中的节点。
结果允许您使用与生产相同的IP地址进行testing,但是依赖于PORT来指定要在哪个节点上查看网站。 这样可以节省IP地址,并允许您绕过SSL证书要求,即将站点绑定到单个IP上。
至于禁用节点,而不是禁用整个节点,请仅禁用用于生产的端口(80,443)。 负载平衡器仍将路由非标准端口上的stream量,允许您testing该节点,同时保证您的生产stream量安全地路由到另一个节点。 只要您确认节点处于活动状态并正常工作,就可以重新启用生产端口。
NLB中的端口规则示例:
80 – 50/50分裂到两个节点(http)443 – 50/50分裂到两个节点(https)
81 – 总是进入节点1(http)451 – 总是进入节点1(https)
82 – 始终转到节点2(http)452 – 始终转到节点2(https)
示例用于访问节点的URL:
http://mysite.com:81 – 节点1 http http://mysite.com:82 – 节点2 http https://mysite.com:451 – 节点1 https https://mysite.com:452 – 节点2 https