View a markdown version of this page

启动堆栈(ALB + ECS Fargate 托管的 Web 控制台) - AWS 上的分布式负载测试

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

启动堆栈(ALB + ECS Fargate 托管的 Web 控制台)

先决条件

在部署 ALB + ECS Fargate 模板之前,您必须完成以下操作:

  1. ACM 证书 — 在您将部署堆栈的同一区域的 AWS Certificate Manager (ACM) 中申请或导入证书。 SSL/TLS 证书必须包含您计划用于 Web 控制台的域名。

  2. 域名所有权-您必须拥有或控制将在ConsoleDomainName参数中指定的域名。部署后,您将需要能够为此域创建 DNS 记录。

启动 堆栈

  1. 登录 AWS 管理控制台并选择启动 CloudFormation 模板的按钮。

    launch button

    或者,您可以下载模板作为自己实现的起点。

  2. 默认情况下,此模板在美国东部(弗吉尼亚州北部)区域启动。要在不同的 AWS 区域启动,请使用控制台导航栏中的区域选择器。

    注意

    该解决方案使用 Amazon Cognito,目前仅在特定的 AWS 区域可用。因此,您必须在提供 Amazon Cognito 的 AWS 地区启动此解决方案。有关各地区的最新可用服务,请参阅 AWS 区域服务列表

  3. 创建堆栈页面上,验证 Amazon S3 URL 文本框中是否显示了正确的模板 URL,然后选择下一步

  4. 指定堆栈详细信息页面上,为您的解决方案堆栈分配一个名称。

  5. 参数下,检查模板的参数,并根据需要进行修改。除了默认模板中的标准参数外,此模板还使用以下参数。

    参数 默认值 说明

    控制台域名

    <需要输入>

    Web 控制台的自定义域名(例如,dlt.example.com)。此域必须与您在先决条件中创建的 ACM 证书相匹配。

    ACM 证书 ARN

    <需要输入>

    域名的 ACM 证书的 ARN(例如)。arn:aws:acm:us-east-1:123456789012:certificate/abcd1234-ef56-gh78-ij90-klmnopqrstuv必须与堆栈位于同一区域。

    管理员姓名

    <需要输入>

    初始解决方案管理员的用户名。

    管理员电子邮件

    <需要输入>

    管理员用户的电子邮件地址。启动后,将向该地址发送一封包含控制台登录说明的电子邮件。

    现有 VPC ID

    <Optional input>

    如果您有要使用的 VPC 并且已经创建,请输入部署堆栈的同一区域中的现有 VPC 的 ID。例如,vpc-1a2b3c4d5e6f。

    第一个现有子网

    <Optional input>

    现有 VPC 中第一个子网的 ID。此子网需要一条通往 Internet 的路由,才能提取容器镜像以进行运行测试。例如,subnet-7h8i9j0k。

    第二个现有子网

    <Optional input>

    现有 VPC 中第二个子网的 ID。此子网需要一条通往 Internet 的路由,才能提取容器镜像以进行运行测试。例如,subnet-1x2y3z。

    为创建 VPC 的解决方案提供有效的 CIDR 块

    192.168.0。 0/16

    如果您使用的是现有 VPC,则可以将此参数留空。

    为子网 A 提供有效的 CIDR 块,以便解决方案创建 VPC

    192.168.0。 0/20

    AWS Fargate VPC 子网 A 的 CIDR 块。

    为子网 B 提供有效的 CIDR 块,以便解决方案创建 VPC

    192.168.16。 0/20

    AWS Fargate VPC 子网 B 的 CIDR 块。

    提供 CIDR 区块以允许 Fargate 任务的出站流量

    0.0.0。 0/0

    限制 Amazon ECS 容器出站访问的 CIDR 块。

    Auto-update 容器镜像

    No

    在下一个次要版本发布之前,自动使用最新、最安全的映像。选择No将拉取最初发布的映像,不进行任何安全更新。

    Web 控制台镜像 URI

    <Optional input>

    来自 Amazon ECR 私有注册表的自定义 Web 控制台容器镜像的 URI(例如,123456789012.dkr.ecr.us-east-1.amazonaws.com/my-web-console:latest)。如果为空,则使用默认的公共镜像。有关更多信息,请参阅 Web 控制台镜像

    部署 WAF

    Yes

    使用 AWS 托管规则在 ALB 前面部署 AWS WAF Web ACL,以过滤常见的基于 Web 的攻击。设置No为可禁用 WAF 部署。

    部署可选 MCP 服务器

    No

    部署可选的远程 MCP 服务器,使用 AgentCore 网关将 AI 应用程序连接到 AWS 上的分布式负载测试。

  6. 选择 Next(下一步)。

  7. 配置堆栈选项页面上,请选择下一步

  8. 审核页面上,审核并确认设置。选中确认模板将创建 AWS Identity and Access Management(AWS IAM)资源的复选框。

  9. 选择 Create stack(创建堆栈)以部署堆栈。

您可以在 AWS CloudFormation 控制台的 “状态” 列中查看堆栈的状态。大约 15 分钟后,您应该会收到 “创建完成” 状态。

Post-deployment 配置

堆栈创建完成后,您必须配置 DNS 以将您的自定义域指向 ALB。

  1. 导航到 CloudFormation 堆栈的 “输出” 选项卡并复制该ALBDnsName值。

  2. 在您的 DNS 提供商中,创建以下记录之一:

    • CNAME 记录 — 将您的域名映射到 ALB 的 DNS 名称。适用于子域名(例如,dlt.example.com)。

    • 别名记录(Route 53)— 如果您使用 Amazon Route 53,则可以创建指向 ALB 的别名记录。对于区域顶点域(例如example.com),这是必需的,并且可以避免 CNAME 查询费用。

      在 Route 53 控制台中,创建启用别名的 A 记录,选择应用程序别名和 Classic Load Balancer,选择区域,然后选择 ALB。

  3. 等待 DNS 传播完成。您可以通过以下方式进行验证:

    $ dig dlt.example.com
  4. 访问 Web 控制台,网址为https://<your-domain>(例如,https://dlt.example.com)。

Web 控制台 URL 也作为 conso leU rl 在 “ CloudFormation 输出” 选项卡中提供。

注意

DNS 传播可能需要几分钟到 48 小时不等,具体取决于您的 DNS 提供商和 TTL 设置。

WAF 集成(可选)

默认托管规则组(核心规则集、Amazon IP 信誉列表和匿名 IP 列表)为大多数部署提供基准保护。您可以通过将 “部署 WAF” CloudFormation 参数设置为来禁用 WAF 部署No除非您有特定的安全要求,否则无需进行额外的 WAF 配置。

如果您需要自定义 WAF 规则,可以按如下方式修改配置:

  1. 在与您的部署相同的区域中打开 AWS WAF 控制台

  2. 选择解决方案创建的 Web ACL。Web ACL 名称可以在 CloudFormation 堆栈资源中找到。

  3. 选择 “规则” 以查看、添加、删除或修改 Web ACL 中的规则。

  4. 您可以根据自己的安全需求添加其他 AWS 托管规则组、自定义规则或基于费率的规则。

有关更多信息,请参阅 AWS WAF 开发人员指南中的 AWS WAF