AWS 上的高可用性如何工作
您可以在 AWS 上将两个 NetScaler VPX 实例配置为高可用性 (HA) 主动-被动对。当您将一个实例配置为主节点,另一个配置为辅助节点时,主节点接受连接并管理服务器。辅助节点监视主节点。如果主节点因任何原因无法接受连接,辅助节点将接管。
在 AWS 中,VPX 实例支持以下部署类型:
-
同一区域内的高可用性
-
跨不同区域的高可用性
注意:
为了使高可用性正常工作,请确保两个 NetScaler VPX 实例都附加了 IAM 角色,并将弹性 IP (EIP) 地址分配给 NSIP。如果 NSIP 可以通过 NAT 实例访问互联网,则无需在 NSIP 上分配 EIP。
同一区域内的高可用性
在同一区域内的高可用性部署中,两个 VPX 实例必须具有相似的网络配置。
请遵循以下两条规则:
规则 1. 一个 VPX 实例上的任何 NIC 必须与另一个 VPX 中对应的 NIC 位于同一子网中。两个实例都必须具有:
-
管理接口位于同一子网中(称为管理子网)
-
客户端接口位于同一子网中(称为客户端子网)
-
服务器接口位于同一子网中(称为服务器子网)
规则 2. 两个实例上的管理 NIC、客户端 NIC 和服务器 NIC 的顺序必须相同。 例如,不支持以下场景。
VPX 实例 1
NIC 0: 管理 NIC 1: 客户端 NIC 2: 服务器
VPX 实例 2
NIC 0: 管理
NIC 1: 服务器
NIC 2: 客户端
在此场景中,实例 1 的 NIC 1 位于客户端子网中,而实例 2 的 NIC 1 位于服务器子网中。为了使 HA 正常工作,两个实例的 NIC 1 必须位于客户端子网或服务器子网中。
从 13.0 41.xx 开始,可以通过在故障转移后将附加到主 HA 节点 NIC(客户端和服务器端 NIC)的辅助私有 IP 地址迁移到辅助 HA 节点来实现高可用性。在此部署中:
-
两个 VPX 实例具有相同数量的 NIC,并根据 NIC 枚举进行子网映射。
-
每个 VPX NIC 都有一个额外的私有 IP 地址,除了第一个 NIC——它对应于管理 IP 地址。额外的私有 IP 地址在 AWS Web 控制台中显示为主私有 IP 地址。在我们的文档中,我们将此额外 IP 地址称为虚拟 IP 地址)。
-
虚拟 IP 地址不得在 NetScaler 实例上配置为 VIP 和 SNIP。
-
必须根据需要创建其他辅助私有 IP 地址,并将其配置为 VIP 和 SNIP。
-
在故障转移时,新的主节点会查找已配置的 SNIP 和 VIP,并将其从附加到前一个主节点的 NIC 移动到新主节点上对应的 NIC。
-
NetScaler 实例需要 IAM 权限才能使 HA 正常工作。将以下 IAM 权限添加到每个实例的 IAM 策略中。
"iam:GetRole" "ec2:DescribeInstances" "ec2:DescribeNetworkInterfaces" "ec2:AssignPrivateIpAddresses"
注意:
unassignPrivateIpAddress 不需要。
此方法比传统方法更快。在旧方法中,HA 依赖于主节点的 AWS 弹性网络接口迁移到辅助节点。
对于传统方法,需要以下策略:
"iam:GetRole" "ec2:DescribeInstances" "ec2:DescribeAddresses" "ec2:AssociateAddress" "ec2:DisassociateAddress"
有关更多信息,请参阅 在 AWS 上部署高可用性对。
跨不同区域的高可用性
您可以在两个不同的子网或两个不同的 AWS 可用区上配置两个 NetScaler VPX 实例,作为独立网络配置 (INC) 模式下的高可用性主动-被动对。发生故障转移时,主实例 VIP 的 EIP(弹性 IP)会迁移到辅助实例,辅助实例将接管成为新的主实例。在故障转移过程中,AWS API 会:
-
检查附加了
IPSets的虚拟服务器。 -
从虚拟服务器正在侦听的两个 IP 地址中,查找具有关联公共 IP 的 IP 地址。其中一个直接附加到虚拟服务器,另一个通过 IP 集附加。
-
将公共 IP (EIP) 重新关联到属于新主 VIP 的私有 IP。
对于跨不同区域的 HA,需要以下策略:
"iam:GetRole" "ec2:DescribeInstances" "ec2:DescribeAddresses" "ec2:AssociateAddress" "ec2:DisassociateAddress"
有关更多信息,请参阅 跨 AWS 可用区的高可用性。
开始部署之前
在 AWS 上开始任何 HA 部署之前,请阅读以下文档:
故障排除
为了排查 AWS 云上 NetScaler VPX 实例 HA 故障转移期间的任何故障,请检查存储在
/var/log/ 位置的 cloud-ha-daemon.log 文件。