IBM Cloud Docs
注意: 缓解对虚拟网络接口,实例,裸机服务器和文件共享的行为更改

注意: 缓解对虚拟网络接口,实例,裸机服务器和文件共享的行为更改

2024 年 3 月 12 日,在 Virtual Private Cloud (VPC) 服务中提供了一个扩展 虚拟网络接口 支持的功能。 如果在您的帐户中使用,那么此功能会引入对实例,裸机服务器和文件共享的行为更改。 这些更改可能会影响用于管理这些资源的自动化或工作流程。

您可以选择通过 IBM 支持 延迟对此功能部件的访问。 具有延迟访问权的帐户中的用户将无法创建具有虚拟网络接口的实例或裸机服务器。 如果需要更多时间来评估,补救和测试虚拟网络接口的更改,请在使用测试帐户完成缓解时请求延迟生产帐户。

如果您没有延迟访问此功能,请阅读所提供的指导信息,即使您不打算使用虚拟网络接口也是如此。

什么改变了?

以下功能可用于虚拟网络接口:

  • 您可以使用连接到称为网络连接的新子资源的虚拟网络接口来创建 实例裸机服务器。 您可以指定 primary_network_attachment (而不是 primary_network_interface),并提供已创建的虚拟网络接口的身份,或者提供子网来为实例或裸机服务器创建新的虚拟网络接口。
  • 虚拟网络接口具有独立于它们所连接到的资源的生命周期。 您可以将 auto_delete 属性 更新false,以允许虚拟网络接口在其原始裸机服务器或实例的生命周期之外持久存储,并重新连接到另一个裸机服务器或实例。
  • 虚拟网络接口支持 辅助 IP 地址。 您可以在虚拟网络接口中 添加除去 保留 IP。
  • 为了与现有客户机兼容,具有虚拟网络接口的实例和裸机服务器将其网络连接和虚拟网络接口的只读表示作为旧式网络接口子资源。 了解 对旧 API 客户机的支持
  • 对于具有虚拟网络接口的实例和裸机服务器,将在其连接的虚拟网络接口上管理用于允许 IP 电子欺骗或禁用基础结构 NAT 的选项的 IAM 许可权。 当 创建更新 虚拟网络接口时,仅当您分别具有 is.virtual-network-interface.virtual-network-interface.manage-ip-spoofingis.virtual-network-interface.virtual-network-interface.manage-infrastructure-nat IAM 许可权时,才能为 allow_ip_spoofingenable_infrastructure_nat 属性设置非缺省值。
  • 您可以使用 流日志收集器 将实例网络连接和虚拟网络接口作为目标。 不支持裸机服务器和共享安装目标的流日志。

我们为什么要做这个改变?

虚拟网络接口提供了一种机制,用于将网络策略合并到一个可保留和复用的资源中,该资源具有独立于它所连接的资源的生命周期。 特定于网络的 IAM 许可权与计算 IAM 许可权分别进行管理。 当发布新的网络功能部件时,它们将通过虚拟网络接口提供,从而允许新的网络功能部件支持虚拟网络接口可以连接到的所有资源。

这一变化有哪些影响?

除非您具有对此功能的延迟访问权,否则如果您具有与实例,裸机服务器,网络接口或文件共享进行交互的 API 客户机 (例如,定制自动化,审计脚本或仪表板),那么此更改会影响您的帐户。

这些操作可能会导致 API 客户机和工作流程失败。

您可以采取哪些操作来避免发生故障?

本节中描述的行为更改表示在您的帐户未延迟访问此功能时可能会影响代码的危险类型。 帐户中的某人可能会开始执行可能会破坏您的自动化的操作。

将这些更改与您创建的任何客户机自动化进行比较。 使用本指南可通过更新和测试自动化设计来缓解可能导致 API 客户机和工作流程失败的行为更改。

虚拟网络接口修复

您可以创建具有虚拟网络接口的实例和裸机服务器,这些虚拟网络接口连接到称为网络连接的新子资源。 虚拟网络接口具有独立于它们所连接的资源的生命周期,并且在虚拟网络接口上管理特定于网络的 IAM 操作。

行为更改 1

对于使用网络连接创建的实例或裸机服务器,该实例或裸机服务器的网络接口子资源是其网络连接 (及其关联的虚拟网络接口) 的 只读表示

可能失败: 尝试更新这些只读资源的客户机将失败。

缓解: 查看用于检索和更新实例和裸机服务器的 network_interfaces 子资源的客户机代码。 根据需要更新代码,以检查实例或裸机服务器是否存在 primary_network_attachment 属性。 更改客户机逻辑以改为更新 network_attachments 子资源及其关联的虚拟网络接口。

行为更改 2

虚拟网络接口具有独立于它们所连接到的资源的生命周期。 在删除 auto_delete 设置为 false 的虚拟网络接口的目标之后,该虚拟网络接口将持久存储,并且绑定到该虚拟网络接口的保留 IP 将保持绑定状态。 随后可以将虚拟网络接口连接到另一个资源。

可能的失败: 用于删除实例,然后创建新实例以复用已删除实例中的保留 IP 的工作流程可能会失败。 尝试复用未释放的保留 IP 时发生故障,因为该 IP 仍与已删除实例的虚拟网络接口绑定。

缓解: 请查看客户机代码,以了解实例和裸机服务器所使用的保留 IP 与 network_interfaces 子资源绑定的任何假设,并且在删除实例或裸机服务器后将始终立即取消绑定。 更改客户机以执行下列其中一项操作:

  • 在删除与实例或裸机服务器的 network_attachments 相关联的虚拟网络接口上,将 auto_delete 属性设置为 true
  • 在复用所有虚拟网络接口的保留 IP 之前单独删除这些虚拟网络接口
  • 复用虚拟网络接口,这将复用虚拟网络接口的所有属性,例如 primary_ip,任何辅助 ips,任何 security_groups 等。
行为更改 3

对于具有虚拟网络接口的实例和裸机服务器,在其关联的虚拟网络接口上管理用于允许 IP 电子欺骗或禁用基础架构 NAT 的选项的 IAM 许可权。

可能的故障: 当使用网络连接创建实例或裸机服务器时,更新子网络接口上的属性以允许 IP 电子欺骗或禁用基础结构 NAT 的客户机和工作流程将失败。

缓解: 查看用于更新 network_interfaces 子资源上的 allow_ip_spoofingenable_infrastructure_nat 属性的客户机代码。 更新代码以检查是否存在 primary_network_attachment 属性,这表示 network_interfaces 子资源是只读的。 请更新客户机逻辑,以根据需要在与实例或裸机服务器的 network_attachments 相关联的虚拟网络接口上更新 allow_ip_spoofingenable_infrastructure_nat 属性。

IP 地址修复

行为变化

虚拟网络接口支持辅助 IP 地址。

可能的故障: 如果 network_interfacesnetwork_attachments 及其关联虚拟网络接口的向后兼容表示,那么尝试通过在 network_interfaces 子资源上检索 primary_ip.address 来枚举实例的 IP 地址的客户机将丢失辅助 IP 地址。

缓解: 查看用于枚举或审计实例和裸机服务器的 IP 地址的客户机代码。 更新客户机代码以检查是否存在 primary_network_attachment 属性,这表示实例或裸机服务器具有具有关联虚拟网络接口的 network_attachments。 请更新客户机逻辑,以改为在每个关联的虚拟网络接口上检索 ips 数组的所有 address 属性。

流日志收集器补救

行为变化

流日志收集器可以将实例网络连接和虚拟网络接口作为目标。 当接口绑定到实例网络连接时,将为虚拟网络接口收集流日志,并且收集的流日志的 Cloud Object Storage(COS)命名约定vnic-id 字段中具有实例网络连接标识。 在其生存期内,虚拟网络接口可能连接到多个实例。

可能的故障: 用于分析从 COS 存储区收集的流日志的工具,审计或故障诊断过程可能无法将日志与虚拟网络接口相关联。

缓解: 复审并更新用于创建流日志收集器和分析流日志的工具,审计或故障诊断过程。 以流日志收集器的虚拟网络接口为目标时,请确保分析流日志的过程考虑到收集器可能会在虚拟网络接口的生存期内收集多个实例的流日志。 实例的标识位于 流日志 Object Storage 存储区 的名称的 instance-id 部分中。 因此,通过将虚拟网络接口与新实例相关联来更新虚拟网络接口的 target 时,将创建新的流日志 Object Storage 存储区。

Activity Tracker 事件补救

行为变化

对虚拟网络接口的扩展支持添加了许多新的 活动跟踪程序事件:

可能的失败: 尚未针对新的活动跟踪程序事件更新的客户机工具和审计进程将报告不完整的事件序列。

缓解: 查看使用活动跟踪程序事件的工具,并根据需要更新工具以包含新事件。 请考虑未针对网络连接的 只读表示 生成任何活动跟踪程序事件。

实例模板补救

行为更改 1

实例模板可以用于具有旧式 network_interfaces 子资源的实例,也可以用于具有 network_attachments 子资源和关联虚拟网络接口的实例。 根据实例模板创建实例时,网络接口或附件类型必须与源模板的网络接口或附件类型相匹配。

可能的故障: 如果模板用于具有 primary_network_attachmentnetwork_attachments 的实例,那么根据实例模板创建实例并覆盖 primary_network_interfacenetwork_interfaces 属性的客户机和工作流程将失败。

缓解: 在根据模板创建实例之前,请检索实例模板并确定该模板是具有 primary_network_interfacenetwork_interfaces 属性,还是具有 primary_network_attachmentnetwork_attachments 属性。 根据模板创建实例时,请根据需要将实例属性与模板的实例属性相匹配。

行为更改 2

实例模板可以用于具有旧式 network_interfaces 子资源的实例,也可以用于具有 network_attachments 子资源和关联虚拟网络接口的实例。 根据实例模板创建实例模板时,网络接口或附件类型必须与源模板的网络接口或附件类型相匹配。

可能的故障: 如果源模板用于具有 primary_network_attachmentnetwork_attachments 的实例,那么根据其他实例模板创建实例模板并覆盖 primary_network_interfacenetwork_interfaces 属性的客户机和工作流程将失败。

缓解: 在根据源模板创建实例模板之前,请检索源模板并确定源模板是具有 primary_network_interfacenetwork_interfaces 属性,还是具有 primary_network_attachmentnetwork_attachments 属性。 从源模板创建新模板时,请根据需要将新模板属性与源模板的属性进行匹配。

注: 如果下列其中一项为 true,那么您将受到这些模板行为更改的影响:

  • API 客户机或帐户中的用户创建具有网络附件的模板,并且客户机尝试使用新模板来创建具有网络接口的实例或模板
  • 客户机尝试使用具有网络接口的模板来创建具有网络附件的实例或模板

文件共享补救

行为变化

连接到文件共享安装目标的虚拟网络接口可以将其 auto_delete 属性设置为 false。 删除与此类虚拟网络接口关联的文件共享安装目标时,不会自动删除该虚拟网络接口。 随后可以将虚拟网络接口用于另一个资源,例如另一个文件共享安装目标。

可能的故障: 删除文件共享安装目标,然后删除子网的工作流程可能失败。 当子网包含未自动删除的虚拟网络接口时,将发生故障。

缓解: 查看客户机代码以了解 auto_delete 始终 true 的任何假设,并根据需要更新客户机的删除逻辑以查找与共享安装目标相关联的 virtual_network_interface。 然后,执行以下某个操作:

  • 在删除共享安装目标之前,将虚拟网络接口的 auto_delete 属性设置为 true
  • 在后续步骤中删除虚拟网络接口
  • 保留虚拟网络接口以供以后与新的共享安装目标一起复用