在 Amazon EC2 中使用您自己的 IP 地址 (BYOIP) - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

在 Amazon EC2 中使用您自己的 IP 地址 (BYOIP)

您可将自己的全部或部分可公开路由的 IPv4 或 IPv6 地址从本地网络引入到 Amazon 账户中。您继续控制该地址范围,但 Amazon 默认将其通告到互联网。在将地址范围引入 Amazon 中之后,它会在您的 Amazon 账户中显示为地址池。

BYOIP 仅对部分区域和资源可用。有关受支持区域和资源的列表,请参阅自带 IP 常见问题

注意

下面的步骤说明了如何将您自己的 IP 地址范围仅用于 Amazon EC2。有关在 Amazon Global Accelerator 中使用自己的 IP 地址范围的步骤,请参阅 Amazon Global Accelerator 开发人员指南中的自带 IP 地址 (BYOIP)

BYOIP 定义

  • X.509 自签名证书:最常用于加密和验证网络内数据的证书标准。这是 Amazon 用来验证从 RDAP 记录控制 IP 空间的证书。有关 X.509 证书的更多信息,请参阅 RFC 3280

  • 注册数据访问协议 (RDAP):查询注册数据的资源。其由客户更新,并由 Amazon 用来验证对区域互联网注册机构 (RIR) 中地址空间的控制。

  • 路由来源授权 (ROA):由 RIR 创建的对象,供客户对特定自治系统中的 IP 播发进行身份验证。如需相关概览,请参阅 ARIN 网站上的路由来源授权 (ROA)

  • 本地互联网注册机构 (LIR):网络服务提供商等企业,从 RIR 为其客户分配 IP 地址数据块。

要求和配额

  • 必须在区域互联网注册表 (RIR) 中注册地址范围,例如 American Registry for Internet Numbers (ARIN)、Réseaux IP Européens Network Coordination Centre (RIPE) 或 Asia-Pacific Network Information Centre (APNIC)。它必须由企业或机构实体注册,而不能由个人注册。

  • 您可以引入的最具体 IPv4 地址范围是 /24。

  • 对于公开发布的 CIDR,您可以引入的最具体 IPv6 地址范围是 /48,对于不公开发布的 CIDR,您可以引入的最具体 IPv6 地址范围是 /56。

  • 不公开通告的 CIDR 范围不需要 ROA,但 RDAP 记录仍需更新。

  • 您可以将每个地址范围一次添加到一个区域中。

  • 对于每个区域,您可以将总共 5 个 BYOIP IPv4 和 IPv6 地址范围引入到您的 Amazon 账户中。您无法使用“Service Quotas”(服务限额)控制台调整 BYOIP CIDR 的限额,但您可以通过 Amazon 支持中心,按照 Amazon 服务限额 中的说明联系 Amazon《General Reference》 内,以请求提高限额。

  • 您无法使用 Amazon RAM 与其它账户共享您的 IP 地址范围,除非您使用 Amazon VPC IP 地址管理器 (IPAM) 并将 IPAM 与 Amazon Organizations 集成。有关更多信息,请参阅 Amazon VPC IPAM 用户指南中的将 IPAM 与 Amazon Organizations 集成

  • IP 地址范围中的地址必须具有干净的历史记录。我们可能会调查 IP 地址范围的声誉,并保留权利以拒绝包含的 IP 地址具有不良声誉或与恶意行为关联的 IP 地址范围。

  • Amazon 不支持旧式分配。

  • 如果为 LIR,常见做法是通过手动过程更新记录。这可能需要几天的时间来部署,具体取决于 LIR。

  • 大型 CIDR 块需要单个 ROA 对象和 RDAP 记录。您可以使用单个对象和记录,将多个较小的 CIDR 块从该范围添加到 Amazon,甚至可以跨多个区域添加。

  • Local Zones、Wavelength Zones 或 Amazon Outposts 上不支持 BYOIP。

BYOIP 地址范围的载入先决条件

BYOIP 的载入过程分为两个阶段,您必须为此执行三个步骤。这些步骤与下图中描述的步骤相对应。我们在本文档中包含了手动操作步骤,但您的 RIR 可能会提供托管服务来帮助您完成这些步骤。

准备阶段

1. 为进行身份验证,请创建 RSA 密钥对并用其生成自签名 X.509 证书。

RIR 配置阶段

2. 将自签名证书上传到 RDAP 记录注释。

3. 在 RIR 中创建 ROA 对象。ROA 定义了所需的地址范围、允许通告地址范围的自治系统编号 (ASN) 以及向您 RIR 的资源公有密钥基础设施 (RPKI) 进行注册的到期日期。

注意

不公开发布的 IPv6 地址空间不需要 ROA。

要引入多个不连续地址范围,您必须对每个地址范围重复此过程。不过,如果在几个不同区域之间拆分连续数据块,则无需执行重复准备和 RIR 配置步骤。

引入地址范围不会影响您之前引入的任何地址范围。

载入地址范围之前,请完成以下先决条件。对于某些任务,您可以运行 Linux 命令。在 Windows 上,您可以使用适用于 Linux 的 Windows 子系统运行 Linux 命令。

1. 为 Amazon 身份验证创建密钥对

使用以下过程创建自签名 X.509 证书,并将其添加到您的 RIR 的 RDAP 记录。此密钥对用于向 RIR 对地址范围进行身份验证。openssl 命令需要 OpenSSL 版本 1.0.2 或更高版本。

复制以下命令并仅替换占位符值(以彩色斜体文本显示)。

创建自签名 X.509 证书并将其添加到 RDAP 记录

此过程遵循加密私有 RSA 密钥并要求使用通行短语来访问该密钥的最佳实践。

  1. 生成 RSA 2048 位密钥对,如下所示。

    $ openssl genpkey -aes256 -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out private-key.pem

    -aes256 参数指定用于加密私有密钥的算法。该命令返回以下输出,包括设置通行短语的提示:

    ......+++ .+++ Enter PEM pass phrase: xxxxxxx Verifying - Enter PEM pass phrase: xxxxxxx

    您可以使用以下命令检查密钥:

    $ openssl pkey -in private-key.pem -text

    这会返回通行短语提示和密钥内容,应类似于以下内容:

    Enter pass phrase for private-key.pem: xxxxxxx -----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDFBXHRI4HVKAhh 3seiciooizCRTbJe1+YsxNTja4XyKypVGIFWDGhZs44FCHlPOOSVJ+NqP74w96oM 7DPS3xo9kaQyZBFn2YEp2EBq5vf307KHNRmZZUmkn0zHOSEpNmY2fMxISBxewlxR FAniwmSd/8TDvHJMY9FvAIvWuTsv5l0tJKk+a91K4+tO3UdDR7Sno5WXExfsBrW3 g1ydo3TBsx8i5/YiVOcNApy7ge2/FiwY3aCXJB6r6nuF6H8mRgI4r4vkMRsOlAhJ DnZPNeweboo+K3Q3lwbgbmOKD/z9svk8N/+hUTBtIX0fRtbG+PLIw3xWRHGrMSn2 BzsPVuDLAgMBAAECggEACiJUj2hfJkKv47Dc3es3Zex67A5uDVjXmxfox2Xhdupn fAcNqAptV6fXt0SPUNbhUxbBKNbshoJGufFwXPli1SXnpzvkdU4Hyco4zgbhXFsE RNYjYfOGzTPwdBLpNMB6k3Tp4RHse6dNrlH0jDhpioL8cQEBdBJyVF5X0wymEbmV mC0jgH/MxsBAPWW6ZKicg9ULMlWiAZ3MRAZPjHHgpYkAAsUWKAbCBwVQcVjGO59W jfZjzTX5pQtVVH68ruciH88DTZCwjCkjBhxg+OIkJBLE5wkh82jIHSivZ63flwLw z+E0+HhELSZJrn2MY6Jxmik3qNNUOF/Z+3msdj2luQKBgQDjwlC/3jxp8zJy6P8o JQKv7TdvMwUj4VSWOHZBHLv4evJaaia0uQjIo1UDa8AYitqhX1NmCCehGH8yuXj/ v6V3CzMKDkmRr1NrONnSz5QsndQ04Z6ihAQlPmJ96g4wKtgoC7AYpyP0g1a+4/sj b1+o3YQI4pD/F71c+qaztH7PRwKBgQDdc23yNmT3+Jyptf0fKjEvONK+xwUKzi9c L/OzBq5yOIC1Pz2T85gOe1i8kwZws+xlpG6uBT6lmIJELd0k59FyupNu4dPvX5SD 6GGqdx4jk9KvI74usGeOBohmF0phTHkrWKBxXiyT0oS8zjnJlEn8ysIpGgO28jjr LpaHNZ/MXQKBgQDfLNcnS0LzpsS2aK0tzyZU8SMyqVHOGMxj7quhneBq2T6FbiLD T9TVlYaGNZ0j71vQaLI19qOubWymbautH0Op5KV8owdf4+bf1/NJaPIOzhDUSIjD Qo01WW31Z9XDSRhKFTnWzmCjBdeIcajyzf10YKsycaAW9lItu8aBrMndnQKBgQDb nNp/JyRwqjOrNljk7DHEs+SD39kHQzzCfqd+dnTPv2sc06+cpym3yulQcbokULpy fmRo3bin/pvJQ3aZX/Bdh9woTXqhXDdrrSwWInVYMQPyPk8f/D9mIOJp5FUWMwHD U+whIZSxsEeE+jtixlWtheKRYkQmzQZXbWdIhYyI3QKBgD+F/6wcZ85QW8nAUykA 3WrSIx/3cwDGdm4NRGct8ZOZjTHjiy9ojMOD1L7iMhRQ/3k3hUsin5LDMp/ryWGG x4uIaLat40kiC7T4I66DM7P59euqdz3w0PD+VU+h7GSivvsFDdySUt7bNK0AUVLh dMJfWxDN8QV0b5p3WuWH1U8B -----END PRIVATE KEY----- Private-Key: (2048 bit) modulus: 00:c5:05:71:d1:23:81:d5:28:08:61:de:c7:a2:72: 2a:28:8b:30:91:4d:b2:5e:d7:e6:2c:c4:d4:e3:6b: 85:f2:2b:2a:55:18:81:56:0c:68:59:b3:8e:05:08: 79:4f:38:e4:95:27:e3:6a:3f:be:30:f7:aa:0c:ec: 33:d2:df:1a:3d:91:a4:32:64:11:67:d9:81:29:d8: 40:6a:e6:f7:f7:d3:b2:87:35:19:99:65:49:a4:9f: 4c:c7:39:21:29:36:66:36:7c:cc:48:48:1c:5e:c2: 5c:51:14:09:e2:c2:64:9d:ff:c4:c3:bc:72:4c:63: d1:6f:00:8b:d6:b9:3b:2f:e6:5d:2d:24:a9:3e:6b: dd:4a:e3:eb:4e:dd:47:43:47:b4:a7:a3:95:97:13: 17:ec:06:b5:b7:83:5c:9d:a3:74:c1:b3:1f:22:e7: f6:22:54:e7:0d:02:9c:bb:81:ed:bf:16:2c:18:dd: a0:97:24:1e:ab:ea:7b:85:e8:7f:26:46:02:38:af: 8b:e4:31:1b:0e:94:08:49:0e:76:4f:35:ec:1e:6e: 8a:3e:2b:74:37:97:06:e0:6e:63:8a:0f:fc:fd:b2: f9:3c:37:ff:a1:51:30:6d:21:7d:1f:46:d6:c6:f8: f2:c8:c3:7c:56:44:71:ab:31:29:f6:07:3b:0f:56: e0:cb publicExponent: 65537 (0x10001) privateExponent: 0a:22:54:8f:68:5f:26:42:af:e3:b0:dc:dd:eb:37: 65:ec:7a:ec:0e:6e:0d:58:d7:9b:17:e8:c7:65:e1: 76:ea:67:7c:07:0d:a8:0a:6d:57:a7:d7:b7:44:8f: 50:d6:e1:53:16:c1:28:d6:ec:86:82:46:b9:f1:70: 5c:f9:62:d5:25:e7:a7:3b:e4:75:4e:07:c9:ca:38: ce:06:e1:5c:5b:04:44:d6:23:61:f3:86:cd:33:f0: 74:12:e9:34:c0:7a:93:74:e9:e1:11:ec:7b:a7:4d: ae:51:f4:8c:38:69:8a:82:fc:71:01:01:74:12:72: 54:5e:57:d3:0c:a6:11:b9:95:98:2d:23:80:7f:cc: c6:c0:40:3d:65:ba:64:a8:9c:83:d5:0b:32:55:a2: 01:9d:cc:44:06:4f:8c:71:e0:a5:89:00:02:c5:16: 28:06:c2:07:05:50:71:58:c6:3b:9f:56:8d:f6:63: cd:35:f9:a5:0b:55:54:7e:bc:ae:e7:22:1f:cf:03: 4d:90:b0:8c:29:23:06:1c:60:f8:e2:24:24:12:c4: e7:09:21:f3:68:c8:1d:28:af:67:ad:df:97:02:f0: cf:e1:34:f8:78:44:2d:26:49:ae:7d:8c:63:a2:71: 9a:29:37:a8:d3:54:38:5f:d9:fb:79:ac:76:3d:a5: b9 prime1: 00:e3:c2:50:bf:de:3c:69:f3:32:72:e8:ff:28:25: 02:af:ed:37:6f:33:05:23:e1:54:96:38:76:41:1c: bb:f8:7a:f2:5a:6a:26:b4:b9:08:c8:a3:55:03:6b: c0:18:8a:da:a1:5f:53:66:08:27:a1:18:7f:32:b9: 78:ff:bf:a5:77:0b:33:0a:0e:49:91:af:53:6b:38: d9:d2:cf:94:2c:9d:d4:34:e1:9e:a2:84:04:25:3e: 62:7d:ea:0e:30:2a:d8:28:0b:b0:18:a7:23:f4:83: 56:be:e3:fb:23:6f:5f:a8:dd:84:08:e2:90:ff:17: bd:5c:fa:a6:b3:b4:7e:cf:47 prime2: 00:dd:73:6d:f2:36:64:f7:f8:9c:a9:b5:fd:1f:2a: 31:2f:38:d2:be:c7:05:0a:ce:2f:5c:2f:f3:b3:06: ae:72:38:80:b5:3f:3d:93:f3:98:0e:7b:58:bc:93: 06:70:b3:ec:65:a4:6e:ae:05:3e:a5:98:82:44:2d: dd:24:e7:d1:72:ba:93:6e:e1:d3:ef:5f:94:83:e8: 61:aa:77:1e:23:93:d2:af:23:be:2e:b0:67:8e:06: 88:66:17:4a:61:4c:79:2b:58:a0:71:5e:2c:93:d2: 84:bc:ce:39:c9:94:49:fc:ca:c2:29:1a:03:b6:f2: 38:eb:2e:96:87:35:9f:cc:5d exponent1: 00:df:2c:d7:27:4b:42:f3:a6:c4:b6:68:ad:2d:cf: 26:54:f1:23:32:a9:51:ce:18:cc:63:ee:ab:a1:9d: e0:6a:d9:3e:85:6e:22:c3:4f:d4:d5:95:86:86:35: 9d:23:ef:5b:d0:68:b2:35:f6:a3:ae:6d:6c:a6:6d: ab:ad:1f:43:a9:e4:a5:7c:a3:07:5f:e3:e6:df:d7: f3:49:68:f2:0e:ce:10:d4:48:88:c3:42:8d:35:59: 6d:f5:67:d5:c3:49:18:4a:15:39:d6:ce:60:a3:05: d7:88:71:a8:f2:cd:fd:74:60:ab:32:71:a0:16:f6: 52:2d:bb:c6:81:ac:c9:dd:9d exponent2: 00:db:9c:da:7f:27:24:70:aa:33:ab:36:58:e4:ec: 31:c4:b3:e4:83:df:d9:07:43:3c:c2:7e:a7:7e:76: 74:cf:bf:6b:1c:d3:af:9c:a7:29:b7:ca:e9:50:71: ba:24:50:ba:72:7e:64:68:dd:b8:a7:fe:9b:c9:43: 76:99:5f:f0:5d:87:dc:28:4d:7a:a1:5c:37:6b:ad: 2c:16:22:75:58:31:03:f2:3e:4f:1f:fc:3f:66:20: e2:69:e4:55:16:33:01:c3:53:ec:21:21:94:b1:b0: 47:84:fa:3b:62:c6:55:ad:85:e2:91:62:44:26:cd: 06:57:6d:67:48:85:8c:88:dd coefficient: 3f:85:ff:ac:1c:67:ce:50:5b:c9:c0:53:29:00:dd: 6a:d2:23:1f:f7:73:00:c6:76:6e:0d:44:67:2d:f1: 93:99:8d:31:e3:8b:2f:68:8c:c3:83:d4:be:e2:32: 14:50:ff:79:37:85:4b:22:9f:92:c3:32:9f:eb:c9: 61:86:c7:8b:88:68:b6:ad:e3:49:22:0b:b4:f8:23: ae:83:33:b3:f9:f5:eb:aa:77:3d:f0:d0:f0:fe:55: 4f:a1:ec:64:a2:be:fb:05:0d:dc:92:52:de:db:34: ad:00:51:52:e1:74:c2:5f:5b:10:cd:f1:05:74:6f: 9a:77:5a:e5:87:d5:4f:01

    当您的私有密钥不用时,请将其保存在安全位置。

  2. 从私有密钥生成您的公有密钥,如下所示。稍后您将使用此功能来测试您的签名授权消息是否已正确验证。

    $ openssl rsa -in private-key.pem -pubout > public-key.pem

    检查时,您的公有密钥应如下所示:

    $ cat public-key.pem -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxQVx0SOB1SgIYd7HonIq KIswkU2yXtfmLMTU42uF8isqVRiBVgxoWbOOBQh5TzjklSfjaj++MPeqDOwz0t8a PZGkMmQRZ9mBKdhAaub399OyhzUZmWVJpJ9MxzkhKTZmNnzMSEgcXsJcURQJ4sJk nf/Ew7xyTGPRbwCL1rk7L+ZdLSSpPmvdSuPrTt1HQ0e0p6OVlxMX7Aa1t4NcnaN0 wbMfIuf2IlTnDQKcu4HtvxYsGN2glyQeq+p7heh/JkYCOK+L5DEbDpQISQ52TzXs Hm6KPit0N5cG4G5jig/8/bL5PDf/oVEwbSF9H0bWxvjyyMN8VkRxqzEp9gc7D1bg ywIDAQAB -----END PUBLIC KEY-----
  3. 使用之前创建的密钥对生成 X.509 证书。在此示例中,该证书在 365 天后过期,在此日期后它将不能是受信任的。请务必相应地设置到期时间。tr -d "\n" 命令从输出中删除换行符。您需要在出现提示时提供公用名称,但其他字段可以留空。

    $ openssl req -new -x509 -key private-key.pem -days 365 | tr -d "\n" > certificate.pem

    这会产生类似于下述信息的输出:

    Enter pass phrase for private-key.pem: xxxxxxx You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) []: State or Province Name (full name) []: Locality Name (eg, city) []: Organization Name (eg, company) []: Organizational Unit Name (eg, section) []: Common Name (eg, fully qualified host name) []:example.com Email Address []:
    注意

    Amazon 预置不需要公用名。其可以是任何内部或公有域名。

    您可以使用以下命令检查证书:

    $ cat certificate.pem

    输出应该是一个没有换行符的 PEM 编码的长字符串,前面是 -----BEGIN CERTIFICATE-----,后面是 -----END CERTIFICATE-----

2. 将 RDAP 记录上传到 RIR

将之前创建的证书添加到 RIR 的 RDAP 记录。请务必在编码部分前后包含 -----BEGIN CERTIFICATE----------END CERTIFICATE----- 字符串。所有这些内容必须都在单个长线上。更新 RDAP 的过程取决于您的 RIR:

  • 对于 ARIN,在地址范围的“Public Comments (公共注释)”部分中添加证书。请勿将其添加到您组织的注释部分。

  • 对于 RIPE,将证书添加为地址范围的“描述”字段。请勿将其添加到您组织的注释部分。

  • 对于 APNIC,通过电子邮件将证书发送到 helpdesk@apnic.net,以手动将其添加到您的地址范围的“remarks”(备注)字段中。请以 IP 地址的 APNIC 授权联系人身份发送电子邮件。

3. 在 RIR 中创建 ROA 对象

创建 ROA 对象以授权 Amazon ASN 16509 和 14618 来发布您的地址范围,以及当前授权的 ASN 来发布该地址范围。对于 Amazon GovCloud (US) Region,授权 ASN 8987。您必须将最大长度设置为您要引入的 CIDR 的大小。您可以引入的最具体 IPv4 前缀是 /24。您可以引入的最具体 IPv6 前缀是 /48。

重要

如果您正在为 Amazon VPC IP Address Manager (IPAM) 创建 ROA 对象,则在创建 ROA 时,对于 IPv4 CIDR,必须将 IP 地址前缀的最大长度设置为 /24。对于 IPv6 CIDR,如果要将它们添加到可传播池中,IP 地址前缀的最大长度必须为 /48。这可以确保您有充分的灵活性来跨 Amazon 区域划分您的公有 IP 地址。IPAM 强制执行您设置的最大长度。有关通向 IPAM 的 BYOIP 地址的更多信息,请参阅《Amazon VPC IPAM 用户指南》中的教程:通向 IPAM 的 BYOIP 地址 CIDR

若要 ROA 可用于 Amazon,可能需要多达 24 小时的时间。有关更多信息,请参阅 RIR:

将广告从本地工作负载迁移到 Amazon 时,在为 Amazon 的 ASN 创建 ROA 之前,您必须为现有的 ASN 创建 ROA。否则,您可能会看到对现有路由和广告的影响。

注意

不公开通告的 IPv6 地址空间不需要此步骤。

载入 BYOIP

根据您的需求,BYOIP 的载入过程具有以下任务:

在 Amazon 中预置公开通告的地址范围

预置地址范围与 Amazon 配合使用时,您需要确认您控制该地址范围,并授权亚马逊发布该地址范围。我们还会通过签名授权消息验证您控制该地址范围。该消息是使用在通过 X.509 证书更新 RDAP 记录时使用的自签名 X.509 密钥对签名的。Amazon 需要提供给 RIR 的加密签名授权消息。RIR 根据您添加到 RDAP 的证书验证签名,并根据 ROA 检查授权详细信息。

要预置地址范围

  1. 撰写消息

    撰写明文授权消息。消息的格式如下所示,其中,日期是消息的到期日期:

    1|aws|account|cidr|YYYYMMDD|SHA256|RSAPSS

    将账号、地址范围和到期日期替换为您自己的值,以创建类似于以下内容的消息:

    text_message="1|aws|0123456789AB|198.51.100.0/24|20211231|SHA256|RSAPSS"

    这不能与外观类似的 ROA 消息混淆。

  2. 对消息进行签名

    使用之前创建的私有密钥对明文消息进行签名。此命令返回的签名是一个长字符串,您需要在下一步中使用。

    重要

    我们建议您复制并粘贴此命令。除消息内容之外,不要修改或替换任何值。

    signed_message=$( echo -n $text_message | openssl dgst -sha256 -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1 -sign private-key.pem -keyform PEM | openssl base64 | tr -- '+=/' '-_~' | tr -d "\n")
  3. 预置地址

    使用 Amazon CLI provision-byoip-cidr 命令预置地址范围。--cidr-authorization-context 选项使用之前创建的消息和签名字符串。

    重要

    如果 BYOIP 范围与 Amazon CLI 配置 Default region name 不同,您必须指定应在其中预配 BYOIP 范围的 Amazon 区域。

    aws ec2 provision-byoip-cidr --cidr address-range --cidr-authorization-context Message="$text_message",Signature="$signed_message" --region us-east-1

    预配置地址范围是一项异步操作,因此该调用会立即返回,但地址范围未准备就绪,直到其状态从 pending-provision 更改为 provisioned 才可供使用。

  4. 监控进度

    完成可公开通告范围的调配过程最多可能需要一周时间。使用 describe-byoip-cidrs 命令来监视进度,如下例所示:

    aws ec2 describe-byoip-cidrs --max-results 5 --region us-east-1

    如果在预置过程中出现问题,并且状态变为 failed-provision,则您必须在解决问题后再次运行 provision-byoip-cidr 命令。

预置不公开发布的 IPv6 地址范围

默认情况下,将预置一个地址范围以公开发布到 Internet 上。您可以预置不公开发布的 IPv6 地址范围。对于不可公开通告的路由,预置过程通常在几分钟内完成。如果将非公有地址范围的 IPv6 CIDR 块与 VPC 关联,则只能通过支持 IPv6 的混合连接选项(Amazon Direct ConnectAmazon Site-to-Site VPNAmazon VPC Transit Gateway)访问 IPv6 CIDR。

不需要使用 ROA 以预调配非公有地址范围。

重要

您只能指定在预置期间是否公开发布地址范围。您以后无法更改可发布状态。

要预置不公开发布的 IPv6 地址范围,请使用以下 provision-byoip-cidr 命令。

aws ec2 provision-byoip-cidr --cidr address-range --cidr-authorization-context Message="$text_message",Signature="$signed_message" --no-publicly-advertisable --region us-east-1

通过 Amazon 发布地址范围

预配置地址范围后,即可对其进行发布。您必须发布预配置的确切地址范围。您不能只发布预配置的地址范围的一部分。

如果您预置不公开发布的 IPv6 地址范围,则无需完成该步骤。

在通过 Amazon 发布地址范围之前,我们建议您停止从其他位置发布它。如果您一直从其他位置发布 IP 地址范围,我们将无法可靠地为其提供支持或解决问题。具体来说,我们无法保证到地址范围的流量将进入我们的网络。

为最大限度地减少停机时间,您可以在发布之前将 Amazon 资源配置为使用地址池中的某一地址,然后停止从当前位置发布该地址并同时开始通过 Amazon 发布该地址。有关从地址池分配弹性 IP 地址的更多信息,请参阅分配弹性 IP 地址

限制

  • 您最多只能每 10 秒运行一次 advertise-byoip-cidr 命令,即使每次指定不同的地址范围也是如此。

  • 您最多只能每 10 秒运行一次 withdraw-byoip-cidr 命令,即使每次指定不同的地址范围也是如此。

要发布地址范围,请使用以下 advertise-byoip-cidr 命令。

aws ec2 advertise-byoip-cidr --cidr address-range --region us-east-1

要停止发布地址范围,请使用以下 withdraw-byoip-cidr 命令。

aws ec2 withdraw-byoip-cidr --cidr address-range --region us-east-1

取消预配置地址范围

要停止在 Amazon 上使用您的地址范围,请先释放任何弹性 IP 地址,并取消关联仍从地址池中分配的任何 IPv6 CIDR 块。接下来,停止发布该地址范围,并最终取消预置该地址范围。

您无法取消预置地址范围的一部分。如果要在 Amazon 上使用更具体的地址范围,请取消预置整个地址范围,并预置一个更具体的地址范围。

(IPv4) 要释放每个弹性 IP 地址,请使用以下 release-address 命令。

aws ec2 release-address --allocation-id eipalloc-12345678abcabcabc --region us-east-1

(IPv6) 要取消关联 IPv6 CIDR 块,请使用以下 disassociate-vpc-cidr-block 命令。

aws ec2 disassociate-vpc-cidr-block --association-id vpc-cidr-assoc-12345abcd1234abc1 --region us-east-1

要停止发布地址范围,请使用以下 withdraw-byoip-cidr 命令。

aws ec2 withdraw-byoip-cidr --cidr address-range --region us-east-1

要取消预置地址范围,请使用以下 deprovision-byoip-cidr 命令。

aws ec2 deprovision-byoip-cidr --cidr address-range --region us-east-1

取消预置地址范围最多可能需要一天的时间。

使用地址范围

您可以查看和使用在您的账户中预置的 IPv4 和 IPv6 地址范围。

IPv4 地址范围

您可以从 IPv4 地址池中创建弹性 IP 地址,并将其用于您的 Amazon 资源,如 EC2 实例、NAT 网关和 Network Load Balancer。

要查看有关在您的账户中预置的 IPv4 地址池的信息,请使用以下 describe-public-ipv4-pools 命令。

aws ec2 describe-public-ipv4-pools --region us-east-1

要从 IPv4 地址池中创建弹性 IP 地址,请使用 allocate-address 命令。您可以使用 --public-ipv4-pool 选项指定 describe-byoip-cidrs 返回的地址池的 ID。或者,您可以使用 --address 选项从您预置的地址范围中指定一个地址。

IPv6 地址范围

要查看有关在您的账户中预置的 IPv6 地址池的信息,请使用以下 describe-ipv6-pools 命令。

aws ec2 describe-ipv6-pools --region us-east-1

要创建 VPC 并从 IPv6 地址池中指定 IPv6 CIDR,请使用以下 create-vpc 命令。要让 Amazon 从 IPv6 地址池中选择 IPv6 CIDR,请省略 --ipv6-cidr-block 选项。

aws ec2 create-vpc --cidr-block 10.0.0.0/16 --ipv6-cidr-block ipv6-cidr --ipv6-pool pool-id --region us-east-1

要将 IPv6 地址池中的 IPv6 CIDR 块与 VPC 关联,请使用以下 associate-vpc-cidr-block 命令。要让 Amazon 从 IPv6 地址池中选择 IPv6 CIDR,请省略 --ipv6-cidr-block 选项。

aws ec2 associate-vpc-cidr-block --vpc-id vpc-123456789abc123ab --ipv6-cidr-block ipv6-cidr --ipv6-pool pool-id --region us-east-1

要查看 VPC 和关联的 IPv6 地址池信息,请使用 describe-vpcs 命令。要查看有关特定 IPv6 地址池中的关联 IPv6 CIDR 块的信息,请使用以下 get-associated-ipv6-pool-cidrs 命令。

aws ec2 get-associated-ipv6-pool-cidrs --pool-id pool-id --region us-east-1

如果将 IPv6 CIDR 块与 VPC 取消关联,则会将其释放回 IPv6 地址池中。

有关在 VPC 控制台中使用 IPv6 CIDR 块的更多信息,请参阅 Amazon VPC 用户指南 中的使用 VPC 和子网

验证 BYOIP

  1. 验证自签名 x.509 密钥对

    通过 whois 命令验证证书是否已上传且有效。

    对于 ARIN,使用 whois -h whois.arin.net r + 2001:0DB8:6172::/48 查找地址范围的 RDAP 记录。检查命令输出中 NetRange(网络范围)的 remarks 部分。应将证书添加到地址范围的 Public Comments 部分。

    您可以使用以下命令检查包含证书的 remarks

    whois -h whois.arin.net r + 2001:0DB8:6172::/48 | grep Comment | grep BEGIN

    这会返回包含密钥内容的输出,应类似于以下内容:

    remarks: -----BEGIN CERTIFICATE----- MIID1zCCAr+gAwIBAgIUBkRPNSLrPqbRAFP8RDAHSP+I1TowDQYJKoZIhvcNAQE LBQAwezELMAkGA1UEBhMCTloxETAPBgNVBAgMCEF1Y2tsYW5kMREwDwYDVQQHDA hBdWNrbGFuZDEcMBoGA1UECgwTQW1hem9uIFdlYiBTZXJ2aWNlczETMBEGA1UEC wwKQllPSVAgRGVtbzETMBEGA1UEAwwKQllPSVAgRGVtbzAeFw0yMTEyMDcyMDI0 NTRaFw0yMjEyMDcyMDI0NTRaMHsxCzAJBgNVBAYTAk5aMREwDwYDVQQIDAhBdWN rbGFuZDERMA8GA1UEBwwIQXVja2xhbmQxHDAaBgNVBAoME0FtYXpvbiBXZWIgU2 VydmljZXMxEzARBgNVBAsMCkJZT0lQIERlbW8xEzARBgNVBAMMCkJZT0lQIERlb W8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCfmacvDp0wZ0ceiXXc R/q27mHI/U5HKt7SST4X2eAqufR9wXkfNanAEskgAseyFypwEEQr4CJijI/5hp9 prh+jsWHWwkFRoBRR9FBtwcU/45XDXLga7D3stsI5QesHVRwOaXUdprAnndaTug mDPkD0vrl475JWDSIm+PUxGWLy+60aBqiaZq35wU/x+wXlAqBXg4MZK2KoUu27k Yt2zhmy0S7Ky+oRfRJ9QbAiSu/RwhQbh5Mkp1ZnVIc7NqnhdeIW48QaYjhMlUEf xdaqYUinzz8KpjfADZ4Hvqj9jWZ/eXo/9b2rGlHWkJsbhr0VEUyAGu1bwkgcdww 3A7NjOxQbAgMBAAGjUzBRMB0GA1UdDgQWBBStFyujN6SYBr2glHpGt0XGF7GbGT AfBgNVHSMEGDAWgBStFyujN6SYBr2glHpGt0XGF7GbGTAPBgNVHRMBAf8EBTADA QH/MA0GCSqGSIb3DQEBCwUAA4IBAQBX6nn6YLhz521lfyVfxY0t6o3410bQAeAF 08ud+ICtmQ4IO4A4B7zV3zIVYr0clrOOaFyLxngwMYN0XY5tVhDQqk4/gmDNEKS Zy2QkX4Eg0YUWVzOyt6fPzjOvJLcsqc1hcF9wySL507XQz76Uk5cFypBOzbnk35 UkWrzA9KK97cXckfIESgK/k1N4ecwxwG6VQ8mBGqVpPpey+dXpzzzv1iBKN/VY4 ydjgH/LBfdTsVarmmy2vtWBxwrqkFvpdhSGCvRDl/qdO/GIDJi77dmZWkh/ic90 MNk1f38gs1jrCj8lThoar17Uo9y/Q5qJIsoNPyQrJRzqFU9F3FBjiPJF -----END CERTIFICATE-----

    对于 RIPE,使用 whois -r -h whois.ripe.net 2001:0DB8:7269::/48 查找地址范围的 RDAP 记录。检查命令输出中 inetnum 对象(网络范围)的 descr 部分。应将证书添加为地址范围的新 desc 字段。

    您可以使用以下命令检查包含证书的 descr

    whois -r -h whois.ripe.net 2001:0DB8:7269::/48 | grep descr | grep BEGIN

    这会返回包含密钥内容的输出,应类似于以下内容:

    descr: -----BEGIN CERTIFICATE-----MIID1zCCAr+gAwIBAgIUBkRPNSLrPqbRAFP8 RDAHSP+I1TowDQYJKoZIhvcNAQELBQAwezELMAkGA1UEBhMCTloxETAPBgNVBAg MCEF1Y2tsYW5kMREwDwYDVQQHDAhBdWNrbGFuZDEcMBoGA1UECgwTQW1hem9uIF dlYiBTZXJ2aWNlczETMBEGA1UECwwKQllPSVAgRGVtbzETMBEGA1UEAwwKQllPS VAgRGVtbzAeFw0yMTEyMDcyMDI0NTRaFw0yMjEyMDcyMDI0NTRaMHsxCzAJBgNV BAYTAk5aMREwDwYDVQQIDAhBdWNrbGFuZDERMA8GA1UEBwwIQXVja2xhbmQxHDA aBgNVBAoME0FtYXpvbiBXZWIgU2VydmljZXMxEzARBgNVBAsMCkJZT0lQIERlbW 8xEzARBgNVBAMMCkJZT0lQIERlbW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwg gEKAoIBAQCfmacvDp0wZ0ceiXXcR/q27mHI/U5HKt7SST4X2eAqufR9wXkfNanA EskgAseyFypwEEQr4CJijI/5hp9prh+jsWHWwkFRoBRR9FBtwcU/45XDXLga7D3 stsI5QesHVRwOaXUdprAnndaTugmDPkD0vrl475JWDSIm+PUxGWLy+60aBqiaZq 35wU/x+wXlAqBXg4MZK2KoUu27kYt2zhmy0S7Ky+oRfRJ9QbAiSu/RwhQbh5Mkp 1ZnVIc7NqnhdeIW48QaYjhMlUEfxdaqYUinzz8KpjfADZ4Hvqj9jWZ/eXo/9b2r GlHWkJsbhr0VEUyAGu1bwkgcdww3A7NjOxQbAgMBAAGjUzBRMB0GA1UdDgQWBBS tFyujN6SYBr2glHpGt0XGF7GbGTAfBgNVHSMEGDAWgBStFyujN6SYBr2glHpGt0 XGF7GbGTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBX6nn6Y Lhz521lfyVfxY0t6o3410bQAeAF08ud+ICtmQ4IO4A4B7zV3zIVYr0clrOOaFyL xngwMYN0XY5tVhDQqk4/gmDNEKSZy2QkX4Eg0YUWVzOyt6fPzjOvJLcsqc1hcF9 wySL507XQz76Uk5cFypBOzbnk35UkWrzA9KK97cXckfIESgK/k1N4ecwxwG6VQ8 mBGqVpPpey+dXpzzzv1iBKN/VY4ydjgH/LBfdTsVarmmy2vtWBxwrqkFvpdhSGC vRDl/qdO/GIDJi77dmZWkh/ic90MNk1f38gs1jrCj8lThoar17Uo9y/Q5qJIsoN PyQrJRzqFU9F3FBjiPJF -----END CERTIFICATE-----

    对于 APNIC,使用 whois -h whois.apnic.net 2001:0DB8:6170::/48 查找 BYOIP 地址范围的 RDAP 记录。检查命令输出中 inetnum 对象(网络范围)的 remarks 部分。应将证书添加为地址范围的新 desc 字段。

    您可以使用以下命令检查包含证书的 descr

    whois -h whois.apnic.net 2001:0DB8:6170::/48 | grep remarks | grep BEGIN

    这会返回包含密钥内容的输出,应类似于以下内容:

    remarks: -----BEGIN CERTIFICATE----- MIID1zCCAr+gAwIBAgIUBkRPNSLrPqbRAFP8RDAHSP+I1TowDQYJKoZIhvcNAQE LBQAwezELMAkGA1UEBhMCTloxETAPBgNVBAgMCEF1Y2tsYW5kMREwDwYDVQQHDA hBdWNrbGFuZDEcMBoGA1UECgwTQW1hem9uIFdlYiBTZXJ2aWNlczETMBEGA1UEC wwKQllPSVAgRGVtbzETMBEGA1UEAwwKQllPSVAgRGVtbzAeFw0yMTEyMDcyMDI0 NTRaFw0yMjEyMDcyMDI0NTRaMHsxCzAJBgNVBAYTAk5aMREwDwYDVQQIDAhBdWN rbGFuZDERMA8GA1UEBwwIQXVja2xhbmQxHDAaBgNVBAoME0FtYXpvbiBXZWIgU2 VydmljZXMxEzARBgNVBAsMCkJZT0lQIERlbW8xEzARBgNVBAMMCkJZT0lQIERlb W8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCfmacvDp0wZ0ceiXXc R/q27mHI/U5HKt7SST4X2eAqufR9wXkfNanAEskgAseyFypwEEQr4CJijI/5hp9 prh+jsWHWwkFRoBRR9FBtwcU/45XDXLga7D3stsI5QesHVRwOaXUdprAnndaTug mDPkD0vrl475JWDSIm+PUxGWLy+60aBqiaZq35wU/x+wXlAqBXg4MZK2KoUu27k Yt2zhmy0S7Ky+oRfRJ9QbAiSu/RwhQbh5Mkp1ZnVIc7NqnhdeIW48QaYjhMlUEf xdaqYUinzz8KpjfADZ4Hvqj9jWZ/eXo/9b2rGlHWkJsbhr0VEUyAGu1bwkgcdww 3A7NjOxQbAgMBAAGjUzBRMB0GA1UdDgQWBBStFyujN6SYBr2glHpGt0XGF7GbGT AfBgNVHSMEGDAWgBStFyujN6SYBr2glHpGt0XGF7GbGTAPBgNVHRMBAf8EBTADA QH/MA0GCSqGSIb3DQEBCwUAA4IBAQBX6nn6YLhz521lfyVfxY0t6o3410bQAeAF 08ud+ICtmQ4IO4A4B7zV3zIVYr0clrOOaFyLxngwMYN0XY5tVhDQqk4/gmDNEKS Zy2QkX4Eg0YUWVzOyt6fPzjOvJLcsqc1hcF9wySL507XQz76Uk5cFypBOzbnk35 UkWrzA9KK97cXckfIESgK/k1N4ecwxwG6VQ8mBGqVpPpey+dXpzzzv1iBKN/VY4 ydjgH/LBfdTsVarmmy2vtWBxwrqkFvpdhSGCvRDl/qdO/GIDJi77dmZWkh/ic90 MNk1f38gs1jrCj8lThoar17Uo9y/Q5qJIsoNPyQrJRzqFU9F3FBjiPJF -----END CERTIFICATE-----
  2. 验证 ROA 对象创建

    使用 whois 命令验证 ROA 对象是否成功创建。请务必根据 Amazon ASN 16509 和 14618 以及当前授权通告地址范围的 ASN 来测试地址范围。

    您可以使用以下命令,通过地址范围检查不同 Amazon ASN 的 ROA 对象:

    whois -h whois.bgpmon.net " --roa 16509 2001:0DB8:1000::/48"

    在此示例输出中,Amazon ASN 16509 的响应结果为 0 - Valid。这表示该地址范围的 ROA 对象已成功创建:

    0 - Valid ------------------------ ROA Details ------------------------ Origin ASN: AS16509 Not valid Before: 2021-11-19 05:00:00 Not valid After: 2021-12-24 05:00:00 Expires in 16d8h39m12s Trust Anchor: rpki.arin.net Prefixes: 2001:0DB8::/32 (max length /48)

    在本示例输出中,响应的错误为 1 - Not Found。这表示该地址范围的 ROA 对象尚未创建:

    1 - Not Found

    在本示例输出中,响应的错误为 2 - Not Valid。这表示该地址范围的 ROA 对象未成功创建:

    2 - Not Valid: Invalid Origin ASN, expected 15169