创建公开通告前缀
您可以在 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 | 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 请求。如需了解详情,请点击适用于您所在位置的链接:
创建公开通告前缀
您可以为要在 Google 中使用的前缀创建公开通告前缀。
除非删除和重新创建资源,则无法更改公开通告前缀名称。因此,我们建议您创建不需要更改的通用名称,例如 pap-203-0-113-0-24
,其中 pap
表示资源类型,203-0-113-0-24
表示特定前缀和前缀长度。
如果您要使用公开通告的前缀来创建全球公开委派的前缀,则必须将您的项目添加到许可名单中。如需了解详情,请参阅全球公开委派前缀。
选择未使用的 IP 地址进行 DNS 验证。验证要求您为此 IP 地址配置新的 PTR 记录,并且您在创建公开通告前缀之前不知道主机名。
控制台
在 Google Cloud 控制台中,转到自备 IP。
点击添加 PAP。
在名称部分,输入公开通告前缀的名称。
在说明部分,输入公开通告前缀的可选说明。
对于 IP 版本,请选择 IPv4 或 IPv6。
输入要导入的前缀。
如果您要导入 IPv4 前缀,请为公开通告的前缀选择一个范围:区域级或全球。
点击下一步。
检查您输入的信息。如需确认您拥有此前缀,请点击确认。
在 IP 地址部分,输入要添加的前缀中未使用的 IP 地址。此地址用于 DNS 验证,在后续步骤中,您必须为它创建一个使用 Google 提供的主机名的 PTR 记录。
点击创建。验证页面会显示此请求的验证状态。
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 验证步骤的主机名。
控制台
在 Google Cloud 控制台中,转到自备 IP。
点击您要更新的前缀的检查状态。
用于 PTR 验证的名称和 IP 地址会在 DNS 验证部分显示。
gcloud
如需从
sharedSecret
字段获取名称,请使用public-advertised-prefixes describe
命令。gcloud compute public-advertised-prefixes describe \ PAP_NAME --format='value(sharedSecret)'
如果需要,您可以检索为 DNS 验证提供的 IP 地址。
gcloud compute public-advertised-prefixes describe \ PAP_NAME --format='value(dnsVerificationIp)'
在这两个命令中,将 PAP_NAME
替换为公开通告的前缀的名称。
创建 PTR 记录
如需验证您是否拥有要导入 Google Cloud 的 IP 地址范围,您必须在用于导入的 IP 地址范围的 DNS 区域中创建一个公共 PTR 记录。
在 PTR 记录中使用以下值:
- IP 地址:您在创建公开通告的前缀时使用的验证 IP 地址。
- 主机名:Google 提供的名称 (
sharedSecret
)。 - 域名:与要用于您要导入的 IP 地址范围的 DNS 区域关联的域名。
示例:
IPv4:如果您的验证 IP 地址为
203.0.113.144
,203.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::10
,2001: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 记录验证。
控制台
在 Google Cloud 控制台中,转到自备 IP。
点击您要更新的前缀的检查状态。
在 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 大约需要四周时间来预配公开通告的前缀。您可以检查状态以查看配置是否已完成。
控制台
在 Google Cloud 控制台中,转到自备 IP。
点击您要检查的前缀的检查状态。
查看验证部分。
gcloud
如需描述公开通告的前缀并获取其状态,请使用 public-advertised-prefixes describe
命令。
验证前缀后,状态字段会从 VALIDATED
更改为 PREFIX_CONFIGURATION_COMPLETE
。
gcloud compute public-advertised-prefixes describe PAP_NAME --format='value(status)'
将 PAP_NAME
替换为您要获取状态信息的公开通告前缀。