创建公开通告前缀

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

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

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

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

4 周

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

子前缀预配时间 几分钟 几分钟 几分钟
BGP 通告 预配公开通告前缀时,系统不会自动公布该前缀。您可以决定何时公布或撤消通告。

默认情况下,系统会在预配完成后自动公布公开通告前缀。

BGP 通告控制只能通过实时迁移(可通过许可名单访问)实现。

预配完成后,系统会自动公布公开通告前缀。
公开通告前缀大小 /16/24 /16/24 /16/24
公开委派前缀大小

/16/28

可以与公开通告前缀相同或小于公开通告前缀。

/17/28

必须小于公开通告前缀。

/17/28

必须小于公开通告前缀。

准备工作

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

角色

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

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

验证前缀的所有权

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

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

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

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

创建 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. 前缀部分,输入要导入的前缀。

  6. 点击下一步

  7. 为公开通告前缀选择一个范围区域全球

  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 范围。

  • 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 记录

在您的 DNS 服务器中,使用以下值添加 PTR 记录:

如果您对此 IP 地址使用 Cloud DNS,请参阅添加记录

例如,如果您导入前缀 203.0.113.0/24,验证 IP 地址为 203.0.113.144,Google 提供的名称为 55kk88tt00,则所需的 PTR 记录将如下所示:

$ dig +noall +answer -x 203.0.113.144

144.113.0.203.in-addr.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 替换为您要获取状态信息的公开通告前缀。

后续步骤