创建Global Accelerator

本节我们将创建一个Global Accelerator,来加速ALB的应用:

image-20240610221610501

创建ELB

为了节省时间,使用CloudFormation创建ALB及后端应用(后端接了个Lambda)。部署CloudFormation:

aws cloudformation create-stack --stack-name ga-workshop --template-url https://pingfan.s3.amazonaws.com/files/global-accelerator-workshop.yaml --capa
bilities CAPABILITY_IAM

Stack创建时间大概需要三分钟,等待它创建完成:

image-20240610222030143

从Output中获取ALB的URL:

$ aws cloudformation describe-stacks --stack-name ga-workshop --query "Stacks[0].Outputs[?OutputKey=='URL'].OutputValue" --output text
http://ga-wor-Appli-QHyY4IINGp2C-1384026400.us-west-2.elb.amazonaws.com

访问ALB URL:

image-20240610222259278

上面过程部署了一个Web 应用程序,它包含一个应用程序负载均衡器及后面的 Lambda 函数

创建Global Accelerator

接来下将创建一个AWS Global Accelerator ,并将创建的应用程序负载均衡器 (ALB) 作为其端点添加进去。

进入 Global Accelerator 控制台 ,创建新的GA:

image-20240610222605199

为GA提供一个名称,选择Standard类型,进入下一步:

image-20240610222854149

为了让AWS Global Accelerator 知道在哪里监听流量,我们需要为 TCP 端口 80 添加一个侦Listener:

image-20240610223025811

Global Accelerator 支持 TCP 和 UDP 协议。
在创建GA时定义Listener,以后也可随时添加更多Listener
如果配置为客户端亲和力,Global Accelerator 将使用五元组属性 (源 IP、源端口、目标 IP、目标端口和协议) 来选择端点。但是,如果客户端使用不同的端口,Global Accelerator就无法确保始终将来自该客户端的连接路由到同一endpoint。当配置为源 IP的客户端亲和力时,Global Accelerator 将使用二元组属性 (源 IP和目的 IP) 来选择哈希值并将用户路由到同一endpoint。

为GA添加endpoint groups。在上一步中,我们创建了一个Listener,告诉 AWS Global Accelerator 应该在哪里监听流量。现在我们需要告诉它将流量发送到哪里。这是通过endpoint groups实现的, 它包含一个或多个已注册的endpoint,用于发送流量。

endpoint group的数量取决于应用程序部署的区域数量,目前只部署在一个区域。
一个endpoint group及其中所有endpoint必须在同一个 AWS 区域内。
AWS Global Accelerator 会自动检查与静态 IP 地址关联的端点的运行状况,然后只将用户流量定向到运行状况良好的端点。Global Accelerator 包括默认的自动运行的健康检查,但可以配置检查的时间和其他选项。

添加一个Endpoint group

image-20240610223401631

AWS Global Accelerator 依赖于流量拨号(Traffic Dial)来控制定向到Endpoint group的流量百分比

进入下一步,然后为Endpoint group添加endpoint。AWS Global Accelerator 中的endpoint可以是网络负载均衡器、应用程序负载均衡器、EC2 实例或弹性 IP 地址,选择之前创建的ALB:

image-20240610224414131

Endpoint Weight用于确定到Endpoint的流量比例

最后点击创建。这通常需要大约 5 分钟, 创建完成:img

验证运行状况

从 AWS Global Accelerator 控制台获取加速器的 URL/DNS,通过 cURL 和浏览器访问该 DNS。

image-20240610225335871

image-20240610225412981