创建公开通告前缀

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

您可以将 IPv4 和 IPv6 地址范围导入 Google Cloud。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 验证您是否验证此前缀:

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

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

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

创建 ROA 请求

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

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

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

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

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

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

创建公开通告前缀

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

除非删除和重新创建资源,则无法更改公开通告前缀名称。因此,我们建议您创建不需要更改的通用名称,例如 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 版本,请选择 IPv4IPv6

  6. 输入要导入的前缀。

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

  8. 点击下一步

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

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

查找用于 PTR 记录的名称

当您创建公开通告前缀时,Google 会为您生成一个名称,以用作 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.144203.0.113.0/24 的 DNS 网域为 example.net,Google 提供的名称为 55kk88tt00,则所需的 PTR 记录将如下所示:

    $ dig +noall +answer -x 203.0.113.144
    
    144.113.0.203.in-addr.arpa. 21599 IN PTR 55kk88tt99.example.net
    
  • IPv6:如果您的验证 IP 地址为 2001:db8::102001:db8::/32 的 DNS 域名为 example.net,Google 提供的名称为 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 55kk88tt99.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 大约需要四周时间来预配公开通告的前缀。您可以检查状态以查看配置是否已完成。

控制台

  1. 在 Google Cloud 控制台中,转到自备 IP

    转到自备 IP 地址

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

  3. 查看验证部分。

gcloud

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

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

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

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

后续步骤