本文解释了如何在Amazon Web Services (AWS) 云中配置一个站点,使用两个vSockets为高可用性(HA)提供支持。
为了在AWS站点内为vSockets提供冗余,部署两个vSockets在单个VPC中,并将它们设置为高可用性(HA)配置。 vSockets以活跃/被动模式运行,使用LAN链接在vSockets之间发送保持活动消息。
您可以在单个可用区(AZ)内或同一VPC内的不同AZ中部署vSockets。 确保将两个LAN子网关联到同一路由表。
高可用性解决方案要求两个vSockets都拥有IAM权限,以便使用API调用修改路由表。
有关在AWS中安装vSocket的更多信息,请参阅从AWS Marketplace部署vSocket站点。 在AWS Marketplace中公开提供vSocket镜像。
-
AWS 中的高可用性支持使用 Socket 版本 9.1 或更高版本的 vSocket。
- 所有AWS虚拟资源必须属于同一个账户
-
AWS vSockets必须能够访问公共DNS服务器,确保VPC没有配置为仅使用私有DNS服务器。
-
DNS服务器必须能够解析内部AWS域名。
-
-
每个vSocket的EC2实例必须具备以下条件:
-
允许vSocket修改路由表的IAM权限
-
每个LAN接口的独立子网
-
在故障切换期间用于发出API调用以更改路由表的有效MGMT接口
-
-
AWS安全规则必须允许双向UDP端口20480的流量在局域网接口之间流通。
注意
注意:
-
备用。 AWS HA部署不支持WAN链接。 您必须移除任何现有的备用。 在实施HA解决方案之前的WAN链接。
-
AWS vSocket HA不支持BGP (仅支持单一的AWS vSockets)。
-
如果将vSocket降级到早于版本9.1的版本,则该站点的HA将被禁用。 次要vSocket将从站点中移除。
我们建议在将vSocket降级到不支持的早期版本之前,移除站点的HA设置。
当主要活动vSocket在AWS站点故障转移到次要待机vSocket时,这是故障转移工作流。
-
主要(活动)vSocket关闭,LAN ENIs的HA链接状态更改为下线。
-
次要(待机)vSocket发送一个声明,它是新的活动(主控)vSocket。
-
次要vSocket向AWS API网关发出API调用以修改LAN路由表,并将次要vSocket LAN ENI指定为0.0.0.0/0路由的下一跳。
注意: 在故障转移期间,该MGMT接口必须启用并活动才能进行API调用以更改路由表。
-
路由范围(站点 > Networks)的网关IP(下一跳)将自动更新为次要Socket本地范围的网关IP地址。
-
次要vSocket即为活动vSocket并为站点传递流量。
-
当主要vSocket恢复后,它重新担任活动角色,次要vSocket回到待机状态。
有关HA和故障转移行为的更多信息,请参见什么是Socket高可用性(HA)。
本节描述了准备AWS环境以进行vSocket HA所需完成的步骤。
注意
注意: 本文中的截图和示例基于AWS的新EC2体验,适用于EC2实例。
次要vSocket需要一个独立的子网用于其LAN接口(ENI) 发送保持活动数据包到主要vSocket。 此要求对单一AZ和双重AZ HA部署相同。
在AWS VPC中,为次要vSocket LAN接口创建子网,并将其关联到VPC专用路由表中。 确保新子网关联到与主要vSocket LAN接口子网相同的路由表。
注意
注意:
-
必须将所有LAN子网关联到同一专用路由表。
-
如果您在可用区中为次要vSocket创建LAN子网,则还必须在该可用区中创建独立的WAN和MGMT子网。
身份和访问管理(IAM) 角色使vSocket能够进行AWS API调用,以更改路由表中的条目。 创建一个IAM角色,赋予实例正确的权限。 稍后您将把此角色附加到每个vSocket上。
使用JSON文件为IAM角色创建新策略,包含这些操作的AWS读写权限:
-
"ec2:CreateRoute"
-
"ec2:DescribeRouteTables"
-
"ec2:ReplaceRoute"
vSocket HA策略的JSON文件
这是IAM策略的JSON文件,为vSockets在HA配置中运行分配必要权限。 您可以在创建策略窗口中复制并粘贴此文件。
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "ec2:CreateRoute", "ec2:DescribeRouteTables", "ec2:ReplaceRoute" ], "Resource": "*" } }
在EC2实例上部署vSockets作为站点的主要和次要vSockets。
-
对于新站点,在Cato管理应用程序中创建一个新站点并部署主vSocket。 (对于现有站点,请跳过此步骤。)
-
将IAM角色附加到主vSocket的EC2实例。
-
将辅助vSocket添加到Cato管理应用程序中的站点。
-
将辅助vSocket部署到AWS VPC。
-
将IAM角色附加到次要vSocket的EC2实例。
注意
注意:配置站点的IP设置时,请确保不要使用AWS保留的IP地址。 您不能在子网CIDR块中使用前四个IP地址和最后一个IP地址。
有关AWS保留IP地址的详细信息,请参见AWS文档。
完成这些步骤以在EC2实例上部署主vSocket。 对于新AWS站点,部署主vSocket并将IAM角色附加到实例。
对于现有AWS站点,将主vSocket升级到版本9.1或更高。 然后将IAM角色附加到EC2实例(主要vSocket)并继续以下将IAM角色附加到vSocket。
要为新站点部署主vSocket:
-
向Cato管理应用程序中添加一个新的AWS站点。
-
在EC2实例上安装主vSocket。
有关在AWS中安装vSocket的更多信息,请参阅从AWS Marketplace部署vSocket站点。
-
将您在上面创建的IAM角色附加到vSocket。
上面的截图显示了在安装并升级主vSocket到版本9.1或更高后AWS站点的情况。
注意
注意: 对于现有的 AWS 站点,仅在您将 vSocket 升级到 9.1 或更高版本后,才会显示 添加次要套接字 按钮。
将您在以上创建的 IAM 角色附加到 vSocket EC2 实例。 IAM 角色授予 vSocket 权限以进行 API 调用以修改路由表以实现 HA 功能。
在 Cato 管理应用程序检测到主要 vSocket 已连接到 Cato 云后,添加次要套接字 选项会显示在 网络 > 站点 > 站点配置 > 套接字 页面上。
当您将次要 vSocket 添加到站点时,会弹出一个窗口,在其中输入以下设置:
-
局域网ENI IP地址
-
局域网ENI子网
-
路由表ID
Cato 管理应用程序使用局域网ENI IP地址作为次要 vSocket 的管理 IP 地址。 此局域网ENI 还用于将 HA 保持活动的数据包发送到主要 vSocket 局域网接口。
Cato 管理应用程序中的次要 vSocket 设置必须与 AWS 中使用的设置相同。
在您将次要 vSocket 添加到站点后,Cato 管理应用程序会执行以下操作:
-
生成新 vSocket 的 vSocket 序列号(此序列号用于在 EC2 实例上安装 vSocket 时使用)
-
为该站点启用 高可用性配置 部分
-
使用新的本地范围修改 站点配置 > 网络 页面:
-
局域网ENI IP地址显示为网络范围的本地 IP
-
局域网ENI子网显示为网络范围的子网
-
有关HA站点中的网络段的更多信息,请参见下面Cato管理应用程序中AWS高可用性网络段概览。
要配置具有高可用性的 AWS 站点:
-
从导航菜单中,单击网络 > 站点,然后选择 AWS 站点。
-
从导航菜单中,选择 站点配置 > 套接字。
-
单击添加次要套接字。 添加次要 vSocket(高可用性) 窗口打开。
-
将设置配置为与 vSocket EC2 实例的局域网子网完全相同:
-
输入 局域网接口IP。 该值用作本地 IP。
-
输入带有 CIDR 的局域网ENI子网。 该值用作次要套接字本地范围。
-
输入用于局域网范围的私有路由表路由表ID。
-
-
单击 确定。 主要和次要 vSocket 的设置已配置并复制到站点配置 > 网络 和 高可用性配置 部分。
-
复制并保存 vSocket 配置脚本的 vSocket 序列号:
-
从 站点 列表中,选择新的 vSocket 站点。
-
从导航菜单中,单击 站点配置 > 套接字。 复制序列号(S/N)并保存。
-
在 EC2 实例上安装次要 vSocket 时使用此序列号。
在 AWS VPC 中使用您之前创建的 IAM 角色创建并部署次要 vSocket。
-
创建网络接口
-
将上面创建的IAM角色附加到vSocket(见上面将IAM角色附加到vSocket)
-
输入在 Cato 管理应用程序中生成的次要 vSocket 站点的序列号
-
为 vSocket 配置 EC2 实例
为vSocket的EC2实例创建WAN和LAN接口。 使用 EC2 仪表板创建接口。
将 LAN 接口的 自定义 IP 地址设置为与本地范围的本地 IP 相同的 IP 地址。
您需要在 LAN 接口上禁用 AWS 源/目标检查,以允许 EC2 实例执行流量转发。
注意
注意: 为确保 vSocket 行为正确,定义自定义 DHCP 选项,并将受信任的服务器定义为主 DNS 服务器
在为 vSocket 创建所有虚拟资源后,使用 AWS Marketplace 中可用的 Cato Networks AMI 将这些资源连接到您的 EC2 实例。
以下 EC2 实例类型已通过 vSockets 认证:
-
c5.xlarge
-
d2.xlarge
-
c3.xlarge
-
t3.large
-
t3.xlarge
-
c4.xlarge
-
c5d.xlarge
-
c5n.xlarge(建议用于带宽超过 2Gbps 的高性能站点)
在准备好环境后,您现在可以配置 Cato Networks AMI。
配置 AMI:
-
从 AWS Marketplace 中,搜索 Cato Networks Virtual Socket。
-
点击 继续订阅。
-
点击 继续配置。
-
在 履行选项 下,选择 Amazon Machine Image。
-
在 区域 下,确保选择 vSocket 所在的区域。
-
-
点击 继续启动。
-
在 启动此软件 页面:
-
在 选择操作 下,选择 通过 EC2 启动。
-
在 EC2 实例类型 下,选择 EC2 实例。
-
在 VPC 设置 下,选择您要连接的 VPC。
-
在 子网设置 下,选择 MGMT 网络。
-
在 安全组设置 下,选择为该实例创建的安全组。
-
展开 高级网络配置,在 网络接口 下选择您创建的 MGMT 接口。
注意: 如果不选择现有接口,将创建新的接口。
-
在 密钥对设置 下,选择您创建的密钥对。
-
在 高级详细信息部分中,在 用户数据 - 可选项 下,输入从您在 Cato 管理应用程序中创建的 vSocket 站点复制的序列号。
-
-
点击 启动。
在 vSocket 实例启动后,MGMT 接口会附加到它。 停止实例,然后将剩余的 WAN 和 LAN 接口连接到该实例。
注意
注意: 确保 EC2 实例处于停止状态,首先连接 WAN 接口,然后连接 LAN 接口。
本节描述如何测试和确认vSockets是否已正确配置以用于HA功能。
Cato管理应用程序中的高可用性部分显示了vSockets的HA状态。 部署次要vSocket后,它会自动连接到站点。
有关更多信息,请参见下面显示高可用性信息和状态。
您可以使用Socket WebUI中的网络工具来测试vSockets的HA功能。 vSocket会对AWS API网关执行API调用,以验证这些设置的HA配置:
-
vSocket的IAM权限配置正确
-
路由表ID配置正确
为完成测试,请确保vSocket能够解析相关区域的AWS RestAPI域。 有关详细信息,请参阅AWS文档。
如果测试不成功,我们建议您比较AWS和Cato管理应用程序中路由表ID的设置。
要测试AWS vSocket的HA API调用:
-
从导航菜单中选择站点配置 > Socket。
-
在主要vSocket操作下拉菜单中,选择Socket WebUI。
Socket WebUI将在新标签页中打开。
-
单击工具标签。
-
在网络工具部分,单击API测试工具标签。
-
单击运行测试。 窗口显示HA API测试成功或失败。
-
为次要vSocket重复步骤2-5。
要了解有关使用 Socket WebUI 的更多信息,请参阅 访问 Socket WebUI。
本节说明如何使用网络部分管理AWS HA站点的网络段。
当您将次要vSocket添加到Cato管理应用程序时,网络部分中的网络段会自动更新为以下设置:
-
主要Socket原生范围:
-
主要vSocket的原生范围被转换为主要Socket原生范围
-
原生范围的本地IP代表vSocket的局域网接口IP地址。 此IP地址还用作vSocket的管理IP地址。
-
网关IP地址自动设置为子网的第一个IP地址,指向AWS VPC路由器(基于AWS保留的IP地址)
-
-
次要Socket原生范围——这些设置基于添加次要vSocket时输入的LAN ENI值:
-
次要vSocket的原生范围是LAN ENI IP子网
-
次要原生范围的本地IP是LAN ENI IP地址。 此IP地址还用作vSocket的管理IP地址。
-
网关IP地址自动设置为子网的第一个IP地址,指向AWS VPC路由器(基于AWS保留的IP地址)
-
您可以向AWS HA站点添加路由范围。 当您添加一个路由范围时,范围的网关会根据活动的vSocket自动选择。 活动vSocket原生范围的网关IP会自动用作路由范围的网关。
例如,当次要vSocket处于活跃状态时,次要Socket原生范围的网关IP地址用于站点中的所有路由范围。 在下面的示例中,10.0.17.1的网关IP将被用作10.0.25.0/24路由范围的网关(下一跳)。
当主要vSocket再次活跃时,路由范围的网关IP会自动切换到10.0.3.1。
在vSocket HA配置中,原生范围的本地IP地址与vSocket管理IP相同。 此IP地址用于HA保持活动消息,也用于访问Socket WebUI。 要更改本地范围的本地IP地址,请在相关vSocket的高可用性部分中更改管理IP地址。
例如,要更改主要vSocket原生范围的本地IP,请在高可用性部分中更改主要vSocket的管理IP地址。
如果需要更改主要或次要原生IP范围,请在网络部分中更改IP范围,然后在高可用性部分中更新管理IP地址。
本节解释如何管理AWS站点的HA:
-
显示每个vSocket的HA状态
-
更改站点的路由表ID
-
禁用站点的HA并移除次要vSocket
高可用性部分显示主要和次要vSocket的HA状态。
项目 |
描述 |
---|---|
高可用性状态 |
站点的HA状态(就绪或未就绪),仅在每个状态HA状态指示器确定时才显示就绪 |
WAN连接性(状态指示器) |
状态确定表示两个vSockets都具有到Cato Cloud的WAN连接 |
保持活动(状态指示器) |
状态确定表示一个vSocket是主控,另一个是备用(如果两个vSocket都处于主控状态,则存在HA分割大脑问题) |
Socket版本(状态指示器) |
状态确定表示两个vSockets都在运行相同的Socket版本 |
主控 |
显示主要或次要vSocket是否为活跃vSocket |
到Cato的连接 - 主要 |
主要vSocket的连接状态 |
连接到Cato - 次要 |
次要vSocket的连接状态 |
您可以在Cato管理应用程序中更改AWS HA站点的路由表ID,以匹配AWS中的设置。
您可以从AWS站点移除次要vSocket并禁用该站点的HA。 从Cato管理应用程序中移除次要vSocket后,部署的vSocket不能再连接到Cato云。 该站点的设置恢复为单个vSocket的配置:
-
高可用性部分被禁用,不再在页面中显示
-
网络部分的布局更改为单个vSocket的配置
-
对于路由范围,下一个跳转被设置为原生范围的第一个IP地址
注意
注意:您无法撤销取消分配套接字操作。 次要vSocket的序列号不再有效。
如果您想再次添加次要vSocket,您必须在EC2实例上安装一个新的vSocket,新的序列号。
要禁用AWS站点的HA:
-
从导航菜单中,点击网络 > 站点,并选择AWS站点。
-
从导航菜单中,选择站点配置 > Sockets。
-
在次要vSocket的操作菜单中,点击取消分配。
-
在警告窗口中,点击确定。 站点的HA已禁用,并且次要vSocket已从中移除。
事件屏幕显示您账户的所有HA连接性事件。
你可以在这里了解有关事件屏幕的更多信息。 您可以使用SaaS安全API数据保护预设来过滤事件。
事件字段和事件对于Socket HA和vSocket HA都是相同的。 这些是HA事件:
字段 |
描述 |
---|---|
Socket角色 |
显示事件是由主要或者次要vSocket生成的 |
事件子类型 - Socket故障转移 |
站点的故障转移过程被启动 |
有关作为故障转移过程的一部分生成的事件的详细信息,请参阅Socket HA故障转移事件。
0 条评论
请登录写评论。