在 AWS Global Accelerator 中引入您自己的 IP 地址 (BYOIP) - AWS Global Accelerator

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 AWS Global Accelerator 中引入您自己的 IP 地址 (BYOIP)

AWS Global Accelerator 使用静态 IP 地址作为加速器的入口点。这些 IP 地址是来自 AWS 节点位置的任意播放的。默认情况下,全局加速器从Amazon IP 地址池。您可以将这些入口点配置为来自您自己的地址范围的 IPv4 地址,而不是使用全局加速器提供的 IP 地址。本主题介绍了如何将您自己的 IP 地址范围用于全局加速器。

您可将自己的部分或全部公有 IPv4 地址从本地网络引入到 AWS 账户中以用于全球加速器。您将继续拥有地址范围,但 AWS 会将其公布在 Internet 上。

您不能将您带到 AWS 的 IP 地址用于一个 AWS 服务与另一个服务一起使用。本章中的步骤介绍了如何将您自己的 IP 地址范围仅用于 AWS Global Accelerator。有关在 Amazon EC2 中使用自己的 IP 地址范围的步骤,请参阅自带 IP 地址 (BYOIP)Amazon EC2 用户指南中。

重要

在通过 AWS 对 IP 地址范围进行发布之前,您必须停止从其他位置公布它。如果 IP 地址范围是多宿主(即,该范围由多个服务提供商同时通告),我们无法保证到达地址范围的流量将进入我们的网络或您的 BYOIP 广告工作流程会成功完成。

在将地址范围引入 AWS 中之后,它会在您的账户中显示为地址池。创建加速器时,您可以将范围内的一个 IP 地址分配给该加速器。全局加速器会从 Amazon IP 地址范围为您分配第二个静态 IP 地址。如果您将两个 IP 地址范围带到 AWS,则可以将每个范围中的一个 IP 地址分配给您的加速器。此限制是因为全局加速器将每个地址范围分配给不同的网络区域,以实现高可用性。

要将您自己的 IP 地址范围与全局加速器结合使用,请查看要求,然后按照本主题中提供的步骤操作。

Requirements

每个 AWS 账户最多可将两个合格 IP 地址范围调至 AWS Global Accelerator。

要符合条件,您的 IP 地址范围必须满足以下要求:

  • IP 地址范围必须在以下区域 Internet 注册表 (RIR) 中注册 IP 地址范围:American Registry Registry (ARIN)、Réseaux IP Européens Network Centre (RIPE) 或 Aserican Network Network Instry Instry Centre (APNIC)。地址范围必须由企业或机构实体注册。它不能由个人注册。

  • 您可以引入的最具体地址范围是 /24。IP 地址的前 24 位指定网络号。例如,198.51.100 是 IP 地址 198.51.100.0 的网络号。

  • 地址范围中的 IP 地址必须具有干净的历史记录。也就是说,他们不能拥有不良的声誉或与恶意行为相关联。如果我们调查 IP 地址范围的声誉,并发现其中包含的 IP 地址没有干净的历史记录,我们保留拒绝此 IP 地址范围的权利。

此外,我们还需要以下分配和分配网络类型或状态,具体取决于您注册 IP 地址范围的位置:

  • 阿林:Direct AllocationDirect Assignment网络类型

  • 成熟:ALLOCATED PALEGACY, 和ASSIGNED PI分配状态

  • APNIC:ALLOCATED PORTABLEASSIGNED PORTABLE分配状态

准备将您的 IP 地址范围引入您的 AWS 账户:授权

为确保只有您可以将您的 IP 地址空间带到亚马逊,我们需要两项授权:

  • 您必须授权亚马逊公布 IP 地址范围。

  • 您必须提供证据证明您拥有 IP 地址范围,因此有权将其带到 AWS。

    注意

    当您使用 BYOIP 将 IP 地址范围带入 AWS 时,您无法在我们进行广告时将该地址范围的所有权转让给其他账户或公司。您也不能将 IP 地址范围从一个 AWS 账户直接转移到另一个账户。要转让所有权或在 AWS 账户之间进行转移,您必须取消配置地址范围,然后新所有者必须按照步骤将地址范围添加到其 AWS 账户。

要授权亚马逊宣传 IP 地址范围,您需要向亚马逊提供签名的授权消息。使用路由起点授权 (ROA) 提供此授权。ROA 是您通过区域 Internet 注册表 (RIR) 创建的路由通告的加密声明。ROA 包含 IP 地址范围、允许发布 IP 地址范围的自治系统编号 (ASN) 以及失效日期。ROA 授权 Amazon 在特定自治系统 (AS) 下公布 IP 地址范围。

ROA 不会授权您的 AWS 账户将 IP 地址范围引入 AWS。要提供此授权,您必须在 IP 地址范围的注册数据访问协议 (RDAP) 备注中发布自签名 X.509 证书。该证书包含一个公有密钥,AWS 使用该密钥验证您所提供的授权上下文签名。请确保您的私有密钥的安全,并使用该密钥对授权上下文消息进行签名。

下面几节提供了完成这些授权任务的详细步骤。这些步骤中的命令在 Linux 上受支持。如果您使用 Windows,则可以访问适用于 Linux 的 Windows 子系统来运行 Linux 命令。

提供授权的步骤

步骤 1: 创建一个 ROA 对象

创建 ROA 对象以授权 Amazon ASN 16509 来公布您的 IP 地址范围以及当前授权的 ASN 来公布该 IP 地址范围。ROA 必须包含您要引入 AWS 的 /24 IP 地址,并且您必须将最大长度设置为 /24。

有关创建 ROA 请求的详细信息,请参阅以下部分,具体取决于您注册 IP 地址范围的位置:

步骤 2: 创建自签名 X.509 证书

创建 key pair 和自签名 X.509 证书,然后将该证书添加到您的 RIR 的 RDAP 记录。以下步骤介绍了如何执行这些任务。

注意

这些区域有:openssl命令需要 OpenSSL 版本 1.0.2 或更高版本。

创建和添加 X.509 证书

  1. 使用以下命令生成 RSA 2048 位 key pair。

    openssl genrsa -out private.key 2048
  2. 使用以下命令从该 key pair 创建一个公有 X.509 证书。

    openssl req -new -x509 -key private.key -days 365 | tr -d "\n" > publickey.cer

    在此示例中,该证书在 365 天后过期,在此日期后它将不能是受信任的。在运行命令时,请确保将–days选项设置为所需的值,以获得正确的过期。当系统提示您提供其他信息时,您可以接受默认值。

  3. 使用 X.509 证书更新 RIR 的 RDAP 记录,具体取决于您的 RIR。

    1. 使用以下命令查看您的证书。

      cat publickey.cer
    2. 通过执行以下操作添加证书:

      重要

      请务必包含-----BEGIN CERTIFICATE----------END CERTIFICATE-----从证书。

      • 对于 ARN,将证书添加到Public Comments部分,了解您的 IP 地址范围。

      • 对于 RIPE,将证书添加为新descr字段中的 IP 地址范围。

      • 对于 APNIC,请将公钥以电子邮件形式发送至helpdesk@apnic.net,APNIC 授权的 IP 地址联系人,请求他们将其手动添加到remarks字段。

步骤 3: 创建签名授权消息

创建签名的授权消息,以允许亚马逊公布您的 IP 地址范围。

消息的格式如下所示,其中YYYYMMDD日期是消息的到期日期。

1|aws|aws-account|address-range|YYYYMMDD|SHA256|RSAPSS

创建签名授权消息

  1. 创建一个明文授权消息,并将其存储在名为的text_message,如以下示例所示。将示例账号、IP 地址范围和失效日期替换为您自己的值。

    text_message="1|aws|123456789012|203.0.113.0/24|20191201|SHA256|RSAPSS"
  2. 签署授权消息text_message使用在上一部分中创建的 key pair。

  3. 将消息存储在名为的变量中signed_message,如以下示例所示。

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

预配置地址范围以用于 AWS Global Accelerator

在预置一个地址范围以用于 AWS 时,您需要确认您拥有该地址范围,并授权 Amazon 公布该地址范围。我们将验证您拥有该地址范围。

您必须使用 CLI 或全局加速器 API 操作预配置地址范围。此功能不适用于 AWS 控制台。

要预配置地址范围,请使用以下ProvisionByoipCidr命令。这些区域有:--cidr-authorization-context参数使用您在上一节中创建的变量,而不是 ROA 消息。

aws globalaccelerator provision-byoip-cidr --cidr address-range --cidr-authorization-context Message="$text_message",Signature="$signed_message"

以下是预配地址范围的示例。

aws globalaccelerator provision-byoip-cidr --cidr 203.0.113.25/24 --cidr-authorization-context Message="$text_message",Signature="$signed_message"

预置地址范围是一项异步操作,因此该调用会立即返回。但是,地址范围尚未准备好使用,直到其状态从PENDING_PROVISIONINGREADY。完成预置过程最多可能需要 3 周时间。要监控您预置的地址范围的状态,请使用以下列表命令:

aws globalaccelerator list-byoip-cidrs

要查看 IP 地址范围的状态列表,请参阅比奥普契医生

配置 IP 地址范围后,State返回方list-byoip-cidrsREADY。例如:

{ "ByoipCidrs": [ { "Cidr": "203.0.113.0/24", "State": "READY" } ] }

通过 AWS 发布地址范围

预配置地址范围后,即可对其进行公布。您必须发布预配置的确切地址范围。您不能只发布预配置的地址范围的一部分。此外,您必须停止从其他位置公布您的 IP 地址范围,然后才能通过 AWS 公布它。

您必须使用 CLI 或全球加速器 API 操作来宣传(或停止广告)您的地址范围。此功能不适用于 AWS 控制台。

重要

在您使用全球加速器池中的 IP 地址之前,请确保您的 IP 地址范围已由 AWS 公布。

要发布地址范围,请使用以下广告命令。

aws globalaccelerator advertise-byoip-cidr --cidr address-range

以下是请求全局加速器通告地址范围的示例。

aws globalaccelerator advertise-byoip-cidr --cidr 203.0.113.0/24

要监控您公布的地址范围的状态,请使用以下列表命令。

aws globalaccelerator list-byoip-cidrs

当您的 IP 地址范围被通告时,State返回方list-byoip-cidrsADVERTISING。例如:

{ "ByoipCidrs": [ { "Cidr": "203.0.113.0/24", "State": "ADVERTISING" } ] }

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

重要

要停止广告您的地址范围,首先必须删除具有从地址池中分配的静态 IP 地址的所有加速器。要使用控制台或使用 API 操作删除加速器,请参阅 删除加速器

aws globalaccelerator withdraw-byoip-cidr --cidr address-range

以下是请求全局加速器撤回地址范围的示例。

aws globalaccelerator withdraw-byoip-cidr --cidr 203.0.113.25/24

取消预配置地址范围

要停止在 AWS 上使用您的地址范围,您必须先删除具有从地址池中分配的静态 IP 地址的任何加速器,并停止公布您的地址范围。完成这些步骤后,您可以取消配置地址范围。

您必须使用 CLI 或全球加速器 API 操作停止广告并取消配置您的地址范围。此功能不适用于 AWS 控制台。

步骤 1: 删除所有关联的加速器。要使用控制台或使用 API 操作删除加速器,请参阅 删除加速器

步骤 2. 停止公布地址范围。要停止公布范围,请使用以下提款命令。

aws globalaccelerator withdraw-byoip-cidr --cidr address-range

步骤 3. 取消预配置地址范围。要取消预配置范围,请使用以下取消预配置命令。

aws globalaccelerator deprovision-byoip-cidr --cidr address-range

使用您的 IP 地址创建加速器

现在,您可以使用您的 IP 地址创建加速器。如果您将一个地址范围带到 AWS,则可以为您的加速器分配一个 IP 地址。如果您带来了两个地址范围,则可以将每个地址范围中的一个 IP 地址分配给加速器。

可以使用您自己的 IP 地址创建静态 IP 地址的加速器: