自备 IP

自备 IP (BYOIP) 可让您为 Google Cloud 资源预配和使用您自己的公共 IPv4 地址。导入 IP 地址后,Google Cloud 会以与 Google 提供的 IP 地址相同的方式管理它们,但以下情况除外:

  • 这些 IP 地址仅供自备 IP 地址的客户使用。

  • 空闲或正在使用的 IP 地址不会产生费用。

通过实时迁移,您可以控制 Google 何时为您的前缀启动通告路由。默认情况下,实时迁移不可用。如要请求访问权限,请联系您的 Google Cloud 代表。

概览

如需为 Google 接入您的自备 IP,请创建一个公开通告的前缀 (PAP)。使用 ROA 和反向 DNS 验证来验证此公开通告前缀的所有权。验证完成后,我们会将此前缀的通知配置到互联网,但是在配置该前缀之前不会通告该前缀。预配公开通告前缀最多需要四周时间。

在等待公开通告前缀预配期间,您可以将该前缀拆分为公共委托前缀 (PDP),并将其配置为具有区域或全局范围。然后,您可以进一步拆分公开委托的前缀,或使用它来创建可分配的 IP 地址。预配公开委托前缀最多可能需要四周时间。

完成公开委派前缀的配置后,系统将向网络通告公开通告前缀。如果您使用的是实时迁移,请参阅使用实时迁移,了解更多步骤。

图 1. 用于创建公开通告前缀和公开委派前缀的工作流。

公开通告前缀

公凯通告前缀 (PAP) 是 Compute Engine 中的资源,它表示您提供给 Google Cloud 的聚合 IP 前缀。这样,您就可以将来自自己前缀的 IP 地址分配给 Google Cloud 资源。此 IP 前缀是一个路由通告单元,在全球范围内向互联网公布。IP 前缀只能属于 Network Service Tiers 的优质层级,并且在全局范围内。

创建新的公开通告前缀时,它必须具有最小 CIDR 范围为 /24 的 IPv4 IP 范围。较小的 CIDR 范围(例如 /25)不能创建为新的公开通告前缀。但是,创建后,您可以将公共通告前缀(例如 /24/23)拆分为较小的公开委派前缀。

公开委派前缀

公开委派前缀 (PDP) 是公开通告前缀中的 IP 块,可在单个范围(特定区域或全球)内进行配置。必须先将 IP 块委派并分配给范围,然后才能将 IP 地址分配给您的项目或组织。

您可以将公开通告前缀分解为多个公开委派前缀,并为每个前缀配置所需的 Google Cloud 项目范围。您可以将单个公开委派的前缀拆分成多个较小的块,但这些块的范围必须与父级块相同。您可以在给定范围内配置多个非连续的公开委派前缀。这些较小的块是公开委派前缀,但也称为子前缀。

IP 地址

从公开委派前缀创建 IP 地址时,IP 地址只能在分配给它们的项目和范围内使用。项目中具有适当的 IAM 权限的任何人都可以使用 IP 地址:

  • compute.addresses.*(对于地区 IP 地址)

  • compute.globalAddresses.*(针对全局 IP 地址)

Public IP Admin 角色

您可以为 BYOIP 前缀和地址指定管理员,只需为其分配 Compute Public IP Admin 角色 (roles/compute.publicIpAdmin) 即可。此角色允许他们管理组织中可公开路由的 IP。

Public IP Admin 可以执行以下任务:

  • 在其拥有的项目中配置公开通告前缀。
  • 将公开通告前缀配置为其拥有的项目公开委派前缀。
  • 将公开委派前缀中的子前缀委派给组织中的特定项目。
  • 撤消之前由公开委派前缀委派给组织中特定项目的子前缀。
  • 删除公开委派前缀。

计划您的部署

请务必规划您的部署,因为预配和删除过程需要几周的时间才能完成。如需详细了解预配时间轴和允许的前缀大小,请参阅限制

以下是在规划部署时应考虑的一些决策:

  • 谁负责管理 BYOIP 地址?这通常是管理员或群组,但与管理单个项目的用户不同。使用 IAM 角色和权限来区分谁具有您计划预配的公开通告前缀和公开委派前缀的权限。

  • 如何管理前缀?您可能希望在不同项目中使用 BYOIP 地址。您可以在与 IP 地址的最终目的地不同的项目中集中管理前缀。我们建议您在各自的项目中隔离前缀管理,包括其具有公共 IP 地址管理员权限的用户和群组。这种隔离可避免出现因前缀管理以及疏忽或越权使用前缀造成的混乱。如需了解详情,请参阅项目架构

  • 前缀是如何命名的?每个 BYOIP 资源(公开通告前缀、公开委派前缀、子前缀)都需要一个名称,该名称用来管理每个资源。您可以在资源创建期间分配名称,并且名称不能在未删除和重新创建资源的情况下进行更改。因此,我们建议您创建易于管理的名称。例如,pap-203-0-113-0-24pdp-203-0-113-0-25sub-203-0-113-0-28,其中字母表示资源类型,数字表示特定前缀和前缀长度。

  • 在哪里预配 IP 地址? 不妨将预配过程看成是多个地区中的“库存 IP”(或全球范围)。库存 IP 地址的预配过程需要几周才能完成,因此可帮你在需要公开委派前缀之前就规划和部署这些前缀。

    您无需立即使用公开委派前缀中的所有 IP。如果您不确定他们的使用位置,请仅配置您确实需要使用的公开委派前缀。移动公开委派前缀需要完全删除再重新创建该前缀,此过程最多可能需要八周的时间。

    完成公开委派前缀预配后,您可以将子前缀委派给项目,并创建地址供资源使用。如果您预计某个区域中的需求需要 BYOIP 地址,请提前完成公开委派前缀预配过程,以便稍后能够满足满足需要的需求。

    例如,假设您有一个公开通告前缀 /24。您知道您需要 us-central1 中的一些 IP 地址(一些适用于全局负载平衡器的 IP 地址),并且想保留一些以备将来使用。您可以创建以下计划:

    前缀类型 前缀 范围
    公开通告前缀 203.0.113.0/24
    公开委派前缀 203.0.113.0/28 us-central1
    公开委派前缀 203.0.113.16/28 全局
    保留供将来使用的剩余 IP 地址

实时迁移

实时迁移是一项强大的功能,需要详细的规划和执行。

如果前缀的任何部分已公开通告,请使用实时迁移导入 BYOIP 前缀。如果在不使用实时迁移的情况下导入通告的前缀,可能会导致意外路由和数据包丢失。

实时迁移的适用范围有限。在创建启用实时迁移功能的公开委派前缀之前,请与您的 Google Cloud 代表联系,以获得访问权限。

您可以在创建公开委派前缀时启用实时迁移。要阻止 Google 向对等通告公开通告前缀,您必须确保:

  • 公开通告前缀中的所有公开委派前缀均配置了区域范围,而不是全局范围。如需了解详情,请参阅实时迁移建议

  • 系统不会将公开通告前缀范围内的 IP 地址分配给资源。

图 2 显示了配置不同的同一项目,其中一个会阻止前缀被通告,另外两个则会导致公开通告前缀被公开通告。

图 2.在实时迁移期间,公开通告的前缀广告(点击可放大)。

图 2 说明了以下情况:

  • 在第一个项目示例中,公开通告前缀中的所有公开委派前缀都配置为启用实时迁移。没有使用此前缀中的 IP 地址配置虚拟机。

    结果:公开通告前缀为不通告

  • 在第二个项目示例中,公开通告前缀中的所有公开委派前缀都配置为启用实时迁移。使用此前缀中的 IP 地址配置的一个虚拟机。

    结果:公开通告前缀为通告

  • 在第三个项目示例中,公开通告前缀中的一个公开委派前缀未配置为启用实时迁移。没有使用此前缀中的 IP 地址配置虚拟机。

    结果:公开通告前缀为通告

通过将公开委派前缀中的 IP 地址分配给 Google Cloud 资源,您可以控制广告的开始时间。如需了解详情,请参阅使用实时迁移

实时迁移完成后,请与您的 Google Cloud 代表联系,以便他们为您的前缀停用实时迁移。默认情况下,实时迁移会在公开通告前缀广告开始 30 天后停用。如果您需要将实时迁移选项保留 30 天以上,请联系您的 Google Cloud 代表。

实时迁移限制

在规划实时迁移时,请务必了解以下要求和限制:

  • 如果范围设置为全局,则不支持创建已启用实时迁移的公开委派前缀。如需了解如何管理全局资源的实时迁移,请参阅实时迁移建议

  • 可以迁移的最长前缀是 /24,因为 /24 是互联网上可路由的前缀长度上限。

  • 请勿假设所有 Google 对等方都遵循两个网站之间的最长前缀。一些对等方可能没有完整路由表。因此,Google 向这些对等方通告的较短前缀是对等体唯一(也是最长的)前缀。因此,即使您要从本地位置发布更具体的路由,也要优先考虑 Google 前缀的存在。

    例如:

    客户具有主动从其本地位置路由的 /23。客户计划将 /23 分解为两个 /24 前缀,并公布来自其本地位置的更具体的路由。进行分解后,他们计划为 BYOIP 配置 /23 公开通告前缀。它们假定来自其本地位置的更具体路由优先于较短的 BYOIP 前缀,并且流量会继续路由到更具体的本地前缀。

    很抱歉,此方案仅能部分实施:

    • 具有完整路由表的 Google 对等方更倾向于更具体的 /24 本地前缀。

    • 没有完整路由表的 Google 对等方倾向于使用 Google 宣布的公开通告前缀,因为其路由表不包含更具体的前缀。

  • 如果 Google 收到未预配服务的有效公开通告前缀的流量,则系统不会传送流量,即使该前缀存在本地本地广告也是如此。

    例如:

    客户具有一个包含两个 /24 前缀的本地网络。它们的公开通告前缀为聚合 /23

    客户将单个 /24 迁移到 Google 并撤消本地前缀,但在本地位置保留了另一个 /24

    此配置将针对整个 /23 前缀向 Google 路由一些流量,即使本地位置还通告了更具体的 /24 前缀。这种场景很难诊断,因为各种自治系统将流量传递到您的本地位置,而其他自治系统将流量传送到 Google,在这种情况下,流量会被丢弃。

实时迁移建议

最佳做法是,在使用实时迁移时遵循以下建议。

  • 将所有实时迁移前缀分解到最长前缀中,以反映您希望在迁移过程中通告这些前缀的方法。在前面的示例中,/23 应拆分为两个 /24 前缀,并在创建公开通告前缀之前从本地位置进行通告。

  • 创建确切的前缀长度 ROA 请求,并且不依赖于要遵循的最大长度参数。

  • 确保本地来源 ASN 和 Google 的源 ASN 都存在 RPKI ROA 请求。如果本地前缀没有 ROA,则 Google 源 ROA 的创建可能会导致第三方 ISP(如果使用自动 RPKI 过滤)过滤那些本地前缀。

  • 如果您需要使用实时迁移,请为全球资源和区域资源创建单独的公开通告前缀。对公开委派前缀启用实时迁移时,您必须为范围指定一个区域。不支持为启用了实时迁移的公开委派前缀指定全局范围。如果您创建了具有全局范围并已启用实时迁移的公开委派前缀,则会立即通告该前缀。

    在一个公开通告前缀中包含区域前缀,而另一个公开通告前缀中包含全局前缀,则可以分别管理它们。您可以管理区域资源的实时迁移,并联系您的 Google Cloud 代表以管理全球资源的实时迁移。

项目架构

我们建议您利用组织从组织层级的 IAM 权限和共享 VPC 等功能中获益。如需详细了解如何使用组织,请参阅创建和管理组织

组织中的 BYOIP 地址管理

属于组织的项目示例中,有用于管理 BYOIP 地址的专用项目 Public IP Project。组织的公共 IP 管理员已在 Public IP Project 中创建了公开通告前缀和公开委派前缀。

VPC Project 需要公共 IP 地址时,组织的 Public IP Admin 会在 VPC Project 中创建 IP 地址。

组织可以包含多个项目,而 Public IP Admin 可以将 IP 地址全都通过 Public IP Project 委托给这些项目。

图 3.您可以使用组织和项目来管理 BYOIP 地址。

具有共享 VPC 的 BYOIP 地址管理

在包含共享 VPC 的组织示例中,有一个专门用于管理 BYOIP 地址的项目 Public IP Project。组织的公共 IP 管理员已在 Public IP Project 中创建了公开通告前缀和公开委派前缀

Shared VPC Host Project 或相关服务项目需要公共 IP 地址时,组织的公共 IP 管理员会在 Shared VPC Host Project 中创建 IP 地址。宿主项目和服务项目可以从宿主项目访问 BYOIP 地址。

不支持在共享 VPC 服务项目中创建 IP 地址。

图 4. 您可以将 BYOIP 地址委托给共享 VPC 宿主项目,但不能将其委派给共享 VPC 服务项目。但是,服务项目可以使用委派给宿主项目的 BYOIP 地址。

没有组织的 BYOIP 地址管理

如果您使用的项目不属于任何组织,则无法为 BYOIP 地址管理创建单独的项目。在需要 BYOIP 地址的项目中创建公开通告前缀和公开委托的前缀。

后续步骤