一般性问题
问:什么是 AWS Global Accelerator?
答:AWS Global Accelerator 是一种联网服务,可以帮助您提高为全球用户提供的应用程序的可用性和性能。AWS Global Accelerator 可以轻松设置、配置和管理。它可以提供静态 IP 地址,从而为您的应用程序提供固定的入口点,并消除了为不同 AWS 区域和可用区管理特定 IP 地址的复杂性。AWS Global Accelerator 始终根据性能将用户流量路由到最佳终端节点,即时针对应用程序运行状况、用户位置和您配置的策略的变化做出反应。您可以从自己的位置使用速度比较工具测试性能优势。与其他 AWS 服务一样,AWS Global Accelerator 也是一种按用量付费的自助服务,无需长期承诺或最低费用。
问:AWS Global Accelerator 可以用来做什么?
答:借助 AWS Global Accelerator,您可以:
- 将 AWS Global Accelerator 提供的静态 IP 地址关联到区域性 AWS 资源或终端节点,例如网络负载均衡器、Application Load Balancer、EC2 实例和弹性 IP 地址。IP 地址是来自 AWS 边缘站点的任播地址,因此它们可以提供接近用户的 AWS 全球网络的引导流程。
- 轻松在可用区或 AWS 区域之间移动终端节点,无需更新 DNS 配置或更改面向客户端的应用程序。
- 通过为终端节点组配置流量调配百分比,为特定 AWS 区域调高或调低流量。这对于测试性能和发布更新而言,尤为有用。
- 通过在终端节点之间分配权重来控制被引导至终端节点组内每个终端节点的流量比例。
问:如何开始使用 AWS Global Accelerator?
答:您可以使用 API 或通过 AWS 管理控制台开始设置 AWS Global Accelerator,也可以使用 AWS CloudFormation 模板进行设置。AWS Global Accelerator 是一项全球服务,因此它不与任何特定 AWS 区域绑定。以下是为您的应用程序设置 AWS Global Accelerator 的三个简单步骤:
- 创建加速器:在创建加速器时,AWS Global Accelerator 会为它预置两个静态 IP 地址。然后,根据您指定的协议和端口,配置一个或多个侦听器来处理从终端客户端到加速器的入站连接。
- 配置终端节点组:通过指定要将流量分配到的 AWS 区域,选择一个或多个区域终端节点组来与加速器的侦听器相关联。侦听器将请求路由到此终端节点组中已注册的终端节点。AWS Global Accelerator 使用为每个终端节点定义的运行状况检查设置监控组内终端节点的运行状况。您可以为每个终端节点组配置流量调配百分比,从而控制终端节点组接受的流量。默认情况下,所有区域终端节点组的流量调配都设置为 100%。
- 为终端节点组注册终端节点:您可以在每个终端节点组中注册一个或多个区域资源,比如 Application Load Balancer、网络负载均衡器、EC2 实例或弹性 IP 地址。然后,您可以设置权重,以选择路由到每个终端节点的流量。
问:AWS Global Accelerator 与 Elastic Load Balancing (ELB) 如何配合使用?
答:这两种服务都可以解决将用户请求路由到运行状况良好的应用程序终端节点的难题。AWS Global Accelerator 依靠 ELB 提供传统的负载均衡功能,比如支持内部终端节点和非 AWS 终端节点、预热和第 7 层路由。不过,ELB 在一个区域内提供负载均衡,AWS Global Accelerator 却可以跨多个区域提供流量管理。
区域 ELB 负载均衡器是 AWS Global Accelerator 的理想目标。通过使用区域 ELB 负载均衡器,您可以在 AWS 区域内跨后端(比如 Amazon EC2 实例或 Amazon ECS 任务)精确分配传入应用程序流量。AWS Global Accelerator 将这些功能扩展至超越单个 AWS 区域,对 ELB 起到了补充作用,让您可以为任意数量区域中的应用程序预置全球接口。如果您的工作负载需要满足全球客户群的要求,我们建议您使用 AWS Global Accelerator。如果您将工作负载托管在单个 AWS 区域中并由同一区域内和周围的客户端使用,则可以使用 Application Load Balancer 或网络负载均衡器来管理资源。
问:AWS Global Accelerator 与 Amazon CloudFront 有何不同?
答:AWS Global Accelerator 和 Amazon CloudFront 是相互独立的服务,都使用 AWS 全球网络及其遍布世界各地的边缘站点。CloudFront 能提高可缓存内容(如图像和视频)和动态内容(如 API 加速和动态站点交付)的性能。Global Accelerator 可通过在一个或多个 AWS 区域中运行的应用程序的边缘为数据包提供代理,提高 TCP 或 UDP 上的各种应用程序的性能。Global Accelerator 非常适合非 HTTP 使用案例,例如游戏 (UDP)、IoT (MQTT) 或 IP 语音,也非常适合特别要求静态 IP 地址或决定性的快速区域故障转移的 HTTP 使用案例。两种服务均与 AWS Shield 集成以提供 DDoS 保护。
问:可以将 AWS Global Accelerator 用于我的本地服务吗?
答:您无法直接将本地资源配置为静态 IP 地址的终端节点,但可以在每个 AWS 区域中配置 Network Load Balancer (NLB) 来寻址您的本地终端节点。然后,您可以将这些 NLB 注册为您的 AWS Global Accelerator 配置中的终端节点。
问:我可以确切地将多个用户路由到加速器后面的特定终端节点 IP 和端口吗?
答:可以。通过使用自定义路由加速器,您可以使用自己的应用程序逻辑将用户流量路由到单个或多个 AWS 区域中的特定 Amazon EC2 IP 和端口。比如多玩家游戏,您希望根据地理位置、玩家技能和游戏配置等因素将多个玩家分配到游戏服务器上的一个会话中。其他示例还包括 VoIP、EdTech 和社交媒体应用程序,这些应用程序将多个用户分配到特定的媒体服务器,以启动语音、视频和消息传递会话。
问:我是否可通过 Amazon S3 将 AWS Global Accelerator 用于对象存储?
答:您可以使用 Amazon S3 多区域访问点以获得将 Global Accelerator 用于对象存储的优势。S3 多区域访问点以透明方式使用 Global Accelerator 以提供单个全局终端节点来访问跨越不同 AWS 区域中多个 S3 存储桶的数据集。这可让您使用在单个区域中采用的相同简单架构来构建多区域应用程序,然后在全球任意区域运行这些应用程序。对 S3 多区域访问点的全球终端节点发出的应用程序请求会自动通过 AWS 全球网络路由到网络延迟最低的 S3 存储桶。这可让应用程序自动避开公共互联网上拥塞的网段,从而提高应用程序的性能和可靠性。
优势
问:AWS Global Accelerator 可提供哪些优势?
答:AWS Global Accelerator 包括以下优势:
即时区域故障转移:AWS Global Accelerator 会自动检查应用程序的运行状况,并仅将用户流量路由到运行状况良好的应用程序终端节点。如果运行状况发生变化或您进行配置更新,AWS Global Accelerator 会立即做出反应,将您的用户路由到下一个可用终端节点。
高可用性:AWS Global Accelerator 采用故障隔离设计,可提高应用程序的可用性。您创建加速器时,将为您分配两个由独立网络区域提供服务的 IPv4 静态 IP 地址。类似于可用区,这些网络区域是隔离的单元,具有自己的物理基础设施和来自唯一 IP 子网的服务静态 IP 地址。如果由于 IP 地址封锁或无法访问的网络而导致一个静态 IP 地址变得不可用,AWS Global Accelerator 会重新路由到其他隔离网络区域内运行状况良好的静态 IP 地址,以此为客户端应用程序提供容错功能。
缓存 IP 地址的客户端周围无变量:部分客户端设备和互联网解析程序会将 DNS 回答缓存较长时间。因此,在您进行配置更新时,或者发生应用程序故障或您的路由首选项发生变化时,您不知道需要花费多长时间才能让所有用户收到更新后的 IP 地址。使用 AWS Global Accelerator,您无需依赖客户端设备的 IP 地址缓存设置。更改传播只需要几秒钟,这缩短了应用程序停机时间。
经过提升的性能:AWS Global Accelerator 通过任播静态 IP 地址从最靠近终端客户端的边缘站点中获取流量。这些流量流经无封锁且冗余的 AWS 全球网络,从而能优化通向您在 AWS 区域中运行的应用程序的路径。AWS Global Accelerator 根据终端客户端的地理位置选择最佳 AWS 区域,从而能减少首字节延迟并将性能提升高达 60%。
易管理性:AWS Global Accelerator 提供的静态 IP 地址是固定的,为您的应用程序提供单一入口点。这让您可以轻松在可用区或 AWS 区域之间移动终端节点,而不必更新 DNS 配置或面向客户端的应用程序。使用案例包括 A/B 测试、应用程序更新和故障转移模拟。企业代理还可以将您应用程序的静态 IP 地址列入他们防火墙中的白名单。
精细控制:AWS Global Accelerator 允许您为区域终端节点组设置流量调配,让您在执行性能测试或应用程序更新时为特定 AWS 区域调高或调低流量。此外,如果您使用有状态应用程序,您可以选择将来自用户的所有请求定向到同一终端节点,而不考虑源端口和协议,从而保持客户端关联。这些功能可以让您实现精细控制。
问:我只在单一 AWS 区域内运营。我能从 AWS Global Accelerator 获得任何优势吗?
答:能。虽然您可能不想使用 AWS Global Accelerator 的智能流量路由功能,但使用静态 IP 地址也有众多好处。首先,通过使用这些地址,您可以将用户流量载入尽可能靠近该用户的 AWS 全球网络,从而提高面向用户的服务质量 (QoS)。通常来讲,流量必须在公共互联网中进行多次跳跃,经过可能堵塞且无冗余的网络路径,然后才能抵达目标 AWS 区域。借助 AWS Global Accelerator,您可以利用 AWS 全球冗余网络帮助提高应用程序可用性和性能。其次,您可以自由地在 AWS 区域之间轻松移动应用程序,而无需更改公共接口。这意味着您可以安心计划未来,因为您知道如果需求发生变化,您可以轻松迁移或添加其他 AWS 区域,而无需担心用户将如何连接到您的应用程序。
高可用性
问:AWS Global Accelerator 如何让我轻松迁移到多区域设置?
答:您希望在多个 AWS 区域中运行应用程序,可能是为了实现区域冗余,并通过在更靠近用户的位置运行应用程序来提高性能。通过在应用程序与客户端之间提供网络层,AWS Global Accelerator 可执行运行状况检查,然后自动绕过故障终端节点路由流量,而无需中断客户端。这样可以平稳关闭和启动新终端节点,在确保将互联网流量路由到最近的可用终端节点的同时,为用户提供更高的可用性和性能。
问:AWS Global Accelerator 如何帮助支持多区域故障转移?
答:AWS Global Accelerator 为您提供一组静态 IP 地址,这些地址可以映射到 AWS 区域中的多个应用程序终端节点,从而能提高冗余。如果特定 AWS 区域中的应用程序发生故障,AWS Global Accelerator 会自动检测运行状况不佳的终端节点并将流量重定向到下一个最佳 AWS 区域,从而确保高可用性和灾难恢复。
问:我的应用程序能够以多快的速度在 AWS 区域之间进行故障转移?
答:AWS Global Accelerator 可以检测到运行状况不佳的终端节点,并在不到 1 分钟的时间内将其暂停。
自带 IP
问:我可以对 Global Accelerator 使用自己的 IP 地址吗?
答:您可以对 AWS Global Accelerator 使用自己的 IP 地址 (BYOIP),这使您能够将自己的 IP 地址用作应用程序终端节点的固定入口点。这允许您将已硬编码 IP 地址依赖项的本地应用程序迁移到 AWS,而无需进行任何面向客户端的更改。例如,在要求允许列出 IP 地址范围的监管环境中,这是很有帮助的。使用您自己的 IP 地址的加速器与使用 Amazon 提供的 IP 地址的加速器的工作方式完全相同。有关更多详细信息,请阅读文档。
问:我是否既可以通过 Global Accelerator,也可以通过 Amazon EC2 从 AWS 区域公布 IPv4 池?
答:不可以,您只可以从其中一项服务公布 IPv4 池。
问:Global Accelerator 的静态 IP 地址与 EC2 Elastic IP 地址有何不同?
答:尽管 Global Accelerator 的 IP 地址和 EC2 Elastic IP 地址都是静态地址,但是两者间还是存在一些区别。第一点区别,Global Accelerator 的 IP 地址可与任意数量的 AWS 区域中的一个或多个终端节点(Application Load Balancer、Network Load Balancer 或 EC2 实例)关联。这支持您轻松地将应用程序扩展到多个可用区或 AWS 区域。另一方面,弹性 IP 绑定到单个 AWS 区域中的单个 AWS 资源,如负载均衡器或 EC2 实例。第二点区别,Global Accelerator 的 IP 地址仅支持客户端生成的连接,而弹性 IP 同时支持客户端生成的连接和服务器生成的连接。第三点区别,Global Accelerator 的 IP 地址是从边缘站点的 AWS 的广泛网络公布的。流量进入尽可能靠近用户的高性能且可用的 AWS 网络。弹性 IP一次只能从单个 AWS 区域发布。
问:我可以通过 BYOIP 引入多少个 IP 范围?
答:您最多可以将两个 IP 范围引入您的账户。
问:我可以通过 BYOIP 引入的最具体的前缀是什么?
答:通过 BYOIP,您能引入的最具体的地址范围为 /24。IP 地址的前 24 位指定了网络编号。例如,198.51.100 是 IP 地址 198.51.100.0 的网络编号。
问:我可以将哪些 RIR 前缀用于 BYOIP?
答:您可以使用 ARIN、RIPE 和 APNIC 注册的前缀。
问:我是否可将 Amazon 提供的弹性 IP 地址范围转换为 Global Accelerator IP 地址,然后在全球范围内公布?
答:不可以,您只能将自己拥有的 IP 地址范围引入 AWS Global Accelerator。这些范围将是您从互联网注册机构处购买的范围。
自定义路由
问:什么是自定义路由加速器?
答:自定义路由加速器是 Global Accelerator 中的一种新型加速器。它可让您使用自己的应用程序逻辑将一个或多个用户确切地路由到单个或多个 AWS 区域中的特定 Amazon EC2 实例目标。这对于要控制将用户流量发送到 EC2 实例上的哪个会话的用例很有用。比如多玩家游戏应用程序,您希望根据地理位置、玩家技能和游戏配置等因素将多个玩家分配到游戏服务器上的一个会话中。其他示例还包括 VoIP、EdTech 和社交媒体应用程序,这些应用程序将多个用户分配到特定的媒体服务器,以启动语音、视频和消息传递会话。您可以使用自定义路由加速器,将多个用户定向到加速器上的唯一端口,并且将他们的流量路由到正在运行您的应用程序会话的特定目标 IP 地址和端口。
问:自定义路由加速器与标准加速器有何不同?
答:标准加速器会自动将流量路由到距离您用户最近的、运行状况良好的终端节点。由于标准加速器旨在实现流量的负载均衡,因此不能确切地将多个用户路由到加速器后面的特定 EC2 目标。自定义路由加速器可让您做到这一点。另一个区别是标准路由加速器支持 Network Load Balancer、Application Load Balancer,EC2 实例和弹性 IP 作为终端节点。自定义路由加速器仅支持 VPC 子网终端节点,每个终端节点都包含一个或多个运行您的应用程序的 EC2 实例。
问:自定义路由的工作原理是什么?
答:借助自定义路由加速器,您可以确定地将多个用户路由到运行应用程序会话的特定目标 IP 地址和端口。您只需将用户定向到 Global Accelerator 上的特定端口即可。用户可以连接到分配给您的加速器的两个静态任播 IP 地址之一。当用户使用加速器 IP 地址和端口连接到您的终端节点时,您的流量将在最近的边缘站点进入 AWS 全局网络。您的自定义路由加速器已将此加速器端口映射到 VPC 子网中的特定 EC2 实例和端口,并在其中路由用户流量。从加速器端口到每个 VPC 子网内的 EC2 实例的映射是预先配置的,并且是静态的。这意味着您的应用程序可以使用 API 查询映射,进行存储,然后使用它来控制 Global Accelerator 如何路由客户端流量。如果在创建加速器后添加或删除终端节点,则现有终端节点的映射不会更改。
问:什么是 VPC 子网终端节点?
答:VPC 子网终端节点是此功能引入的新型终端节点。每个 VPC 子网终端节点可以在单个或多个区域中,包含托管应用程序的 EC2 实例的 IP 地址。使用自定义路由加速器,您可以将加速器置于在单个或多个 VPC 中运行的多达数千个 EC2 实例的前面。自定义路由加速器支持最大大小为 /17 的 VPC 子网终端节点,并且仅将流量路由到每个子网内的 EC2 实例。
问:如何监控客户端是否可以通过 Global Accelerator 到达我的 VPC 子网终端节点?
答:自定义路由加速器不会为您的 VPC 子网终端节点或其中的 EC2 实例提供外部运行状况检查。在这种情况下,每个加速器端口都会映射到特定的 EC2 实例私有 IP 地址和端口。因此,您的应用程序可以监控 EC2 实例的运行状况,然后如果一个实例运行不正常,则可以将用户流量定向到其他加速器 IP 地址和端口组合,从而控制将流量故障转移到另一个特定的正常实例。
问:如果我需要路由到超过 64,000 个目的地怎么办?
答:如果您预计需要更多的目的地,则可以简单地设置更多的自定义路由加速器,并在其他子网中设置额外的终端节点。然后更新您的自定义应用程序逻辑,以使用新加速器的 IP 地址和新端口映射到达每个实例和端口。
其他问题
问:AWS Global Accelerator 是否支持 IPv4 和 IPv6?
答:Global Accelerator 支持流向所有端点的 IPv4 流量,以及流向应用程序负载均衡器端点的 IPv6 流量。
问:AWS Global Accelerator 支持哪些协议?
答:AWS Global Accelerator 支持 TCP 和 UDP 协议。
问:AWS Global Accelerator 与基于 DNS 的流量管理解决方案有何不同?
答:首先,一些客户端设备和互联网解析程序会将 DNS 回答缓存较长时间。因此,在您进行配置更新时,或者发生应用程序故障或您的路由首选项发生变化时,您不知道需要花费多长时间才能让所有用户收到更新后的 IP 地址。使用 AWS Global Accelerator,您无需依赖客户端设备的 IP 地址缓存设置。更改传播只需要几秒钟,这缩短了应用程序停机时间。其次,使用 Global Accelerator,您可以获得静态 IP 地址,为您的应用程序提供固定的入口点。这让您可以轻松在可用区或 AWS 区域之间移动端点,而不必更新 DNS 配置或面向客户端的应用程序。