如果在 AWS 中手动删除了弹性网络接口 (Elastic Network Interface, ENI),则在 NSX Advanced Load Balancer 上重新启用关联的已禁用虚拟服务时,会出现以下错误:IP 10.x.x.x 未与任何 ENI 关联 (IP 10.x.x.x not associated with any eni)

原因

NSX Advanced Load Balancer 上禁用虚拟服务并将虚拟 IP 作为辅助专用 IP 移动到 AWS 上的驻留接口后,任何弹性 IP 地址关联(如果存在于虚拟 IP 上)仍将保持不变,并随专用虚拟 IP 一起移动。

系统会自动为每个子网创建驻留接口,并且这些接口不与任何实例关联。ENI 或接口是虚拟 IP 在禁用状态期间的保留位置。这些 ENI/接口始终处于可用状态。这些接口的名称标记为 AviVipParking,描述为 AviVipParking for this subnet。如果清理活动删除了这些驻留接口,则与这些驻留接口 (ENI) 关联的虚拟 IP 也将丢失。因此,重新启用虚拟服务时,将出现 IP 10.x.x.x 未与任何 ENI 关联 (IP 10.x.x.x not associated with any eni) 错误。

注:

不支持也不建议删除 AWS 上由 NSX Advanced Load Balancer 创建的资源(ENI、安全组等)。

解决方案

要重用相同的(已丢失)虚拟 IP,请执行下述步骤:

  1. 解决办法 1:在 AWS 上进行更改

    1. 使用与之前删除的 ENI 相同的标记和描述,在 AWS 上创建新的 ENI。作为参考,可查看云中由同一 NSX Advanced Load Balancer Controller 创建的其他虚拟 IP 驻留 ENI 或接口标记。如以下屏幕截图中所示,虚拟 IP 10.144.3.52 在清理过程中丢失。2A­nw­3 (subnet­7ff1b71a) 是与虚拟 IP 关联的子网。



    2. 添加虚拟 IP 10.144.3.53 作为驻留 ENI 的辅助 VIP。此 IP 不得与任何其他 ENI 相关联。





    3. 将该虚拟 IP 分配给在 AWS 上新创建的 VIP 驻留 ENI 后,在 NSX Advanced Load Balancer 上禁用并重新启用虚拟服务。要禁用虚拟服务,请导航到应用程序 > 虚拟服务,选择相应虚拟服务,然后单击禁用。要重新启用虚拟服务,可以选择相同的虚拟服务并单击启用

    4. 运行 ping 测试,以确认虚拟 IP 是否可访问。虚拟服务应使用之前配置的虚拟服务 IP 10.144.3.52 正常运行,而不会出现任何问题。

  2. 解决办法 2:在 NSX Advanced Load Balancer 上进行更改。

    1. 对虚拟 IP 使用新子网。

    2. 如果需要对虚拟 IP 使用相同的子网,请删除虚拟服务并重新创建具有相同 IP 的新虚拟服务。