创建公开通告前缀

您可以在 Google Cloud中使用自备 IP 地址 (BYOIP)。在我们验证您拥有该 IP 范围并将 IP 地址导入Google Cloud之后,您可以将这些地址分配给支持的资源。

您可以导入 IPv4 和 IPv6 地址范围。IPv4 地址可与大多数支持外部 IP 地址的 Google Cloud 资源搭配使用。IPv6 地址只能与外部直通式网络负载均衡器搭配使用。如需了解详情,请参阅对 BYOIP 地址的支持。

使用自备 IP 的第一步是创建公开通告的前缀。您可以使用以下选项:

配置 区域级 (v2) 区域级 (v1) 全球性 (v1)
可用性 推荐的区域配置 不建议用于新的区域配置 必须请求将您的项目添加到许可名单
公开通告的前缀的预配时间 约 2 周 约 4 周 约 4 周
公开委派的前缀的预配时间 几分钟 4 周

可以与公开通告的前缀的预配时间重叠

4 周

可以与公开通告的前缀的预配时间重叠

子前缀的预配时间 几分钟 几分钟 几分钟
BGP 通告 预配公开通告前缀时,系统不会自动公布该前缀。您可以决定何时公布或撤消通告。 预配完成后,系统会自动公布公开通告的前缀。 预配完成后,系统会自动公布公开通告的前缀。
IP 栈
  • IPv4
  • IPv6(仅适用于外部直通式网络负载均衡器和专门托管虚拟机的子网)
IPv4 IPv4

准备工作

  • 将自备 IP 地址接入 Google Cloud 需要仔细规划。如需了解详情,请参阅自备 IP 地址规划。
  • 考虑使用组织,并创建一个管理 BYOIP 地址的专用项目。如需了解详情,请参阅项目架构。
  • 检查您要导入的前缀的任何部分是否已公开通告。如果已公开通告,您必须确保 Google Cloud 不会与其他来源同时通告它:
    • 如果您在为区域级地址创建 v2 公开通告的前缀,则您可以控制前缀的通告。您可以创建公开通告的前缀和公开委派的前缀,但您必须确保在从Google Cloud通告相应前缀之前,该前缀未在其他任何位置进行通告。
    • 如果您在为全球地址创建 v1 公开通告的前缀,则该前缀会在公开委派的前缀预配完成后立即自动进行通告。除非不再从其他来源通告公开委派的前缀,否则请勿创建相应前缀。

角色

如需获得完成本指南中的任务所需的权限,请让您的管理员为您授予项目的 Compute Public IP Admin (roles/compute.publicIpAdmin) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

验证前缀的所有权

创建公开通告前缀时,您需要完成两个任务,让 Google Cloud 验证您是否拥有此前缀:

  • 为您的前缀创建路由来源授权 (ROA)。
  • 为前缀中的 IP 地址创建 PTR 记录。

以下部分概述了这些验证任务的详细信息。

验证完成后,公开通告的前缀配置大约需要四周才能完成。

创建 ROA 请求

如需证明您对某个前缀的所有权,请创建路由来源授权 (ROA) 请求。

针对您希望Google Cloud 通告的前缀,提交带有区域注册表的 ROA 请求。请求包含前缀、前缀长度和用于 Google Cloud的 ASN:396982。

创建公开通告前缀时,此前缀的 ROA 必须存在并指向用于 Google Cloud 的 ASN,并且在您删除公开通告前缀后的一段时间内仍然有效。有关详情,请参阅移除 ROA。

我们建议您提交具有相同前缀和前缀长度的另一个 ROA 请求,但使用您自己的 ASN 作为来源。如果您需要通告此前缀,则带有 ASN 的 ROA 可防止使用资源公钥基础架构 (RPKI) 的网络将前缀视为无效,因为它也会通过用于 Google Cloud的来源 ASN 进行通告。

您的本地区域互联网注册表处理 ROA 请求。如需了解详情,请点击适用于您所在位置的链接:

  • AFRINIC(非洲)
  • APNIC(亚洲和大洋洲部分地区)
  • ARIN(北美和部分加勒比群岛)
  • LACNIC(拉丁美洲)
  • RIPE NCC(欧洲、中亚、中东)

创建公开通告前缀

您可以为要在 Google Cloud中使用的前缀创建公开通告前缀。

除非删除和重新创建资源,则无法更改公开通告前缀名称。因此,我们建议您创建不需要更改的通用名称,例如 pap-203-0-113-0-24,其中 pap 表示资源类型,203-0-113-0-24 表示特定前缀和前缀长度。

如果您要使用公开通告的前缀来创建全球公开委派的前缀,则必须将您的项目添加到许可名单中。如需了解详情,请参阅全球公开委派前缀。

选择未使用的 IP 地址进行 DNS 验证。验证要求您为此 IP 地址配置新的 PTR 记录,并且您在创建公开通告前缀之前不知道主机名。

控制台

  1. 在 Google Cloud 控制台中,前往自备 IP。

    转到自备 IP 地址

  2. 点击添加 PAP。

  3. 在名称部分,输入公开通告前缀的名称。

  4. 在说明部分,输入公开通告前缀的可选说明。

  5. 对于 IP 版本,请选择 IPv4 或 IPv6。

  6. 输入要导入的前缀。

  7. 如果您要导入 IPv4 前缀,请为公开通告的前缀选择一个范围:区域级或全球。

  8. 点击下一步。

  9. 检查您输入的信息。如需确认您拥有此前缀,请点击确认。

  10. 在 IP 地址部分,输入要添加的前缀中未使用的 IP 地址。此地址用于 DNS 验证,在后续步骤中,您必须为它创建一个使用 Google Cloud提供的主机名的 PTR 记录。

  11. 点击创建。验证页面会显示此请求的验证状态。

gcloud

使用 public-advertised-prefixes create 命令。

  • 如需为全球地址创建公开通告的前缀 (v1),请运行以下命令:

    gcloud compute public-advertised-prefixes create PAP_NAME \
        --range=PAP_IP_RANGE \
        --dns-verification-ip=VERIFICATION_IP_ADDRESS
    
  • 如需为区域级地址创建公开通告的前缀 (v2),请运行以下命令:

    gcloud compute public-advertised-prefixes create PAP_NAME \
        --range=PAP_IP_RANGE \
        --pdp-scope=REGIONAL \
        --dns-verification-ip=VERIFICATION_IP_ADDRESS
    
  • 不建议为区域级地址创建公开通告的前缀 (v1)。而是创建 v2 公开通告的前缀。如果您必须为区域级地址创建 v1 公开通告的前缀,请运行以下命令:

    gcloud compute public-advertised-prefixes create PAP_NAME \
        --range=PAP_IP_RANGE \
        --dns-verification-ip=VERIFICATION_IP_ADDRESS
    

替换以下内容:

  • PAP_NAME:您正在创建的公开通告前缀的名称。

  • PAP_IP_RANGE:公开通告的前缀的 IP 地址范围。该范围可以是 IPv4 或 IPv6 地址范围。

  • VERIFICATION_IP_ADDRESS:从 PAP_IP_RANGE 中选择的未使用的 IP 地址。此地址用于 DNS 验证,在后续步骤中,您必须为它创建一个使用 Google Cloud提供的主机名的 PTR 记录。

查找用于 PTR 记录的名称

当您创建公开通告前缀时, Google Cloud 会为您生成一个名称,以用作 PTR 验证步骤的主机名。

控制台

  1. 在 Google Cloud 控制台中,前往自备 IP。

    转到自备 IP 地址

  2. 点击您要更新的前缀的检查状态。

  3. 用于 PTR 验证的名称和 IP 地址会在 DNS 验证部分显示。

gcloud

  1. 如需从 sharedSecret 字段获取名称,请使用 public-advertised-prefixes describe 命令。

    gcloud compute public-advertised-prefixes describe \
        PAP_NAME --format='value(sharedSecret)'
    
  2. 如果需要,您可以检索为 DNS 验证提供的 IP 地址。

    gcloud compute public-advertised-prefixes describe \
        PAP_NAME --format='value(dnsVerificationIp)'
    

在这两个命令中,将 PAP_NAME 替换为公开通告的前缀的名称。

创建 PTR 记录

如需验证您是否拥有要导入到Google Cloud的 IP 地址范围,您必须在用于所导入 IP 地址范围的 DNS 子网中创建公共 PTR 记录。

在 PTR 记录中使用以下值:

示例:

  • IPv4:如果您的验证 IP 地址为 203.0.113.144,203.0.113.0/24 的 DNS 域名为 example.net,Google Cloud 提供的名称为 55kk88tt00,则所需的 PTR 记录将如下所示:

    $ dig +noall +answer -x 203.0.113.144
    
    144.113.0.203.in-addr.arpa. 21599 IN PTR 55kk88tt00.example.net
    
  • IPv6:如果您的验证 IP 地址为 2001:db8::10,2001:db8::/32 的 DNS 域名为 example.net, Google Cloud提供的名称为 55kk88tt00,则所需的 PTR 记录将如下所示:

    $ dig +noall +answer -x 2001:db8::10
    
    0.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa
    21599 IN PTR 55kk88tt00.example.net.
    

验证 PTR 记录

创建 PTR 记录后,更新公开通告前缀以触发 PTR 记录验证。

控制台

  1. 在 Google Cloud 控制台中,前往自备 IP。

    转到自备 IP 地址

  2. 点击您要更新的前缀的检查状态。

  3. 在 DNS 验证部分,选中我已创建此 PTR 记录复选框,然后点击验证。

gcloud

如需将公开通告的前缀的状态更改为 PTR-CONFIGURED,请使用 public-advertised-prefixes update 命令。

状态更改会触发 PTR 记录的验证。如果成功,状态将变为 VALIDATED。如果失败,状态会变为 REVERSE_DNS_LOOKUP_FAILED。

gcloud compute public-advertised-prefixes update PAP_NAME --status=PTR-CONFIGURED

将 PAP_NAME 替换为您为其创建 PTR 记录的公开通告的前缀。

检查公开通告前缀的状态

Google Cloud 大约需要四周时间来预配公开通告前缀。您可以检查状态以查看配置是否已完成。

控制台

  1. 在 Google Cloud 控制台中,前往自备 IP。

    转到自备 IP 地址

  2. 点击您要检查的前缀的检查状态。

  3. 查看验证部分。

gcloud

如需描述公开通告的前缀并获取其状态,请使用 public-advertised-prefixes describe 命令。

gcloud compute public-advertised-prefixes describe PAP_NAME --format='value(status)'

将 PAP_NAME 替换为您要获取状态信息的公开通告前缀。

验证前缀后,状态字段会从 VALIDATED 更改为 PREFIX_CONFIGURATION_COMPLETE。

后续步骤