创建公开通告前缀
您可以在 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 |
公开委派前缀大小 |
可以与公开通告前缀相同或小于公开通告前缀。 |
必须小于公开通告前缀。 |
必须小于公开通告前缀。 |
准备工作
- 将自备 IP 地址接入 Google Cloud 需要仔细规划。 如需了解详情,请参阅规划自备 IP 地址。
- 考虑使用组织,并创建一个管理 BYOIP 地址的专用项目。如需了解详情,请参阅项目架构。
- 检查您要导入的前缀的任何部分是否已公开通告。如果是,您必须确保 Google Cloud 在从其他来源通告时不通告它:
角色
如需获得完成本指南中的任务所需的权限,请让您的管理员为您授予项目的 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 请求。如需了解详情,请参阅您所在位置的链接:
创建公开通告前缀
您可以为要在 Google 中使用的前缀创建公开通告前缀。
除非删除和重新创建资源,则无法更改公开通告前缀名称。因此,我们建议您创建不需要更改的通用名称,例如 pap-203-0-113-0-24
,其中 pap
表示资源类型,203-0-113-0-24
表示特定前缀和前缀长度。
如果您要使用公开通告前缀来创建全球公开委派前缀,则必须将项目添加到许可名单中。如需了解详情,请参阅全球公开委派前缀。
选择未使用的 IP 地址进行 DNS 验证。验证要求您为此 IP 地址配置新的 PTR 记录,并且您在创建公开通告前缀之前不知道主机名。
控制台
在 Google Cloud 控制台中,转到自备 IP。
点击添加 PAP。
在名称部分,输入公开通告前缀的名称。
在说明部分,输入公开通告前缀的可选说明。
在前缀部分,输入要导入的前缀。
点击下一步。
为公开通告前缀选择一个范围:区域或全球。
点击下一步。
检查您输入的信息。如需确认您拥有此前缀,请点击确认。
在 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 范围。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 记录
在您的 DNS 服务器中,使用以下值添加 PTR 记录:
- IP 地址:您在创建公开通告前缀时使用的验证 IP 地址。
- 主机名:Google 提供的名称 (
sharedSecret
)。
如果您对此 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 记录验证。
控制台
在 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
替换为您要获取状态信息的公开通告前缀。