教程: 使用群集自动扩展 与 AWS 管理控制台 - Amazon Elastic Container Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

教程: 使用群集自动扩展 与 AWS 管理控制台

Amazon ECS 可使用 AWS 管理控制台, AWS CLI,或 Amazon ECS API。

本教程将引导您使用 AWS 管理控制台. 如果资源需要名称,我们将使用前缀 ConsoleTutorial 以确保他们都有唯一的名称,并使其轻松 找到。

适用于 AWS CLI 教程,请参阅 教程 使用群集自动扩展与 AWS CLI.

Prerequisites

本教程假设以下前提条件已完成:

步骤1: 创建 Amazon ECS 聚类

使用以下步骤创建 Amazon ECS 群集。本教程使用空的 以便我们可以手动创建 Auto Scaling 资源。当您使用 AWS 管理控制台 至 创建非空群集, Amazon ECS 创造一个 AWS CloudFormation 叠加 Auto Scaling 资源。我们 想要避免创建 AWS CloudFormation 使用群集自动扩展时的堆栈 功能。

创建空群集

  1. https://console.amazonaws.cn/ecs/ 上打开 Amazon ECS 控制台。

  2. 在屏幕顶部的导航栏,选择 美国西部(俄勒冈) 区域。

  3. 在导航面板中,选择 .

  4. 页面,选择 创建 聚类.

  5. 对于 选择群集兼容性,选择 EC2 Linux+网络 然后选择 下一步 步骤.

  6. 对于 群集名称,输入 ConsoleTutorial-cluster 群集名称。

  7. 选择 创建空群集 然后选择 创建.

步骤2: 创建 Auto Scaling 资源

注意

使用EC2控制台的旧版本自动扩展组部分, 教程。

使用以下步骤创建 Auto Scaling 启动配置和 Auto Scaling 组。

创建 Auto Scaling 启动配置

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在屏幕顶部的导航栏,选择 美国西部(俄勒冈) 区域。

  3. 在导航窗格的下方 自动扩展,选择 启动配置.

  4. 在下一页,选择 创建启动 配置.

  5. 选择AMI 页面,搜索并选择最新的 Amazon ECS-优化 Amazon Linux 2 AMI 在 us-west-2 区域。的 AMI ID 可通过以下链接检索: 查看AMIID.

  6. 选择实例类型 页面,选择 t2.micro,然后选择 下一步: 配置 详情.

  7. 配置详细信息 页面,执行以下操作:

    1. 对于 姓名,输入 ConsoleTutorial-ASGlaunchconfig 推出 配置名称。

    2. 对于 IAM 角色,选择您的容器实例 IAM 角色。更多信息,请参阅 Amazon ECS 容器实例 IAM 角色.

    3. 扩展 高级详细信息 章节来说明 用户数据 Amazon ECS 容器实例。

      将以下脚本粘贴到 用户数据 字段。的 ConsoleTutorial-cluster 群集创建于 第一步。

      #!/bin/bash echo ECS_CLUSTER=ConsoleTutorial-cluster >> /etc/ecs/ecs.config
    4. 选择 跳过查看.

  8. 选择 创建启动配置.

接下来,创建一个 Auto Scaling 使用启动配置分组。

创建 Auto Scaling 组

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在屏幕顶部的导航栏,选择 美国西部(俄勒冈) 区域。

  3. 在导航窗格的下方 自动扩展,选择 启动配置.

  4. 在下一页,选择我们在第1步中创建的启动配置, 选择 创建自动扩展组.

  5. 配置自动扩展组详细信息 页面,执行 以下内容:

    1. 对于 组名称,输入 ConsoleTutorial-ASG 为 Auto Scaling 组名称。

    2. 对于 小组人数,输入 0。的 教程使用 Amazon ECS 因此无需自动 扩展组启动任何初始实例。

    3. 对于 网络,为您的 Auto Scaling 组。

    4. 对于 亚网,请在您的VPC中选择某个子网络。

    5. 扩展 高级详细信息 第节。对于 实例保护,选择 保护 从量表开始. 这使您能够使用 为 Auto Scaling 小组, 防止包含任务的容器实例 在扩大行动期间终止。

  6. 选择 下一步: 配置扩展策略.

  7. 配置扩展策略 页面,选择 保持该组的初始大小. 本教程使用 Amazon ECS 因此无需创建扩展策略。

  8. 选择 回顾, 创建自动扩展 组.

  9. 重复步骤3至8,创建第二个 Auto Scaling 但对于 组 名称 使用 ConsoleTutorial-ASG-burst.

  10. 使用以下步骤编辑每个自动计算的最大容量值 缩放组。

    1. 选择 查看您的自动扩展组.

    2. 选择您的 ConsoleTutorial-ASG 缩放组。来自 详情 选项卡,选择 编辑.

    3. 对于 最大值,输入 100,然后选择 保存.

  11. 针对您的 ConsoleTutorial-ASG-burst 规模化 组。

步骤3: 创建产能 提供者

使用以下步骤创建 Amazon ECS 容量提供商。见 Amazon ECS 容量提供程序 了解更多信息。

创建容量提供商

  1. https://console.amazonaws.cn/ecs/ 上打开 Amazon ECS 控制台。

  2. 在屏幕顶部的导航栏,选择 美国西部(俄勒冈) 区域。

  3. 在导航面板中,选择 .

  4. 页面中,选择您的 ConsoleTutorial-cluster 群集。

  5. 能力提供者 选项卡,选择 创建.

  6. 创建能力提供者 窗口,执行 遵循。

    1. 对于 能力提供者姓名,输入 ConsoleTutorial-capacityprovider 名称。

    2. 对于 自动缩放组,选择 ConsoleTutorial-ASG Auto Scaling 您创建的组。

    3. 对于 管理扩展,选择 启用. 这使得 Amazon ECS 管理 容量提供商的放大和缩小操作。

    4. 对于 目标产能%,输入 100.

    5. 对于 受管理的终止保护,选择 启用. 这样可以防止容器实例 包含任务, Auto Scaling 终止团体 放大操作中。

    6. 选择 创建.

      重要

      如果您在此步骤过程中收到错误信息,请尝试注销并返回 进入控制台。如果错误未明确,我们建议使用 的 AWS CLI 教程。更多信息,请参阅 教程 使用群集自动扩展与 AWS CLI.

    7. 选择 在群集中查看 来了解您的新产能 供应商。

    8. 重复第4至6步,创建第二个有名称的容量供应商 ConsoleTutorial-capacityprovider-burst 和你的 ConsoleTutorial-ASG-burst Auto Scaling 组。

步骤4: 设置默认容量 集团供应商战略

在运行任务或创建服务时, Amazon ECS 控制台使用默认容量 提供程序策略。可以定义默认能力提供者策略 更新群集。

定义默认容量提供商策略

  1. https://console.amazonaws.cn/ecs/ 上打开 Amazon ECS 控制台。

  2. 在屏幕顶部的导航栏,选择 美国西部(俄勒冈) 区域。

  3. 在导航面板中,选择 .

  4. 页面中,选择您的 ConsoleTutorial-cluster 群集。

  5. 簇: 台上簇 页面,选择 更新群集.

  6. 对于 默认产能提供商策略 选择, 添加供应商.

  7. 选择您的 ConsoleTutorial-capacityprovider 产能 供应商。

  8. 选择 添加供应商,选择您的 ConsoleTutorial-capacityprovider-burst 产能 供应商。

  9. 对于 提供方1,留下 价值 在 0 留下 体重1.

  10. 选择 更新. 这会将能力提供商添加到 集群的默认容量提供商策略。

  11. 选择 查看群集.

步骤5: 登记任务 定义

在群集上运行任务之前,必须先注册任务定义。任务 定义是将组合在一起的容器列表。以下示例简单明了 任务定义,使用 amazonlinux 和简单来说是来自DockerHub的图像 睡眠。有关可用任务定义参数的更多信息,请参阅 Amazon ECS 任务定义.

要登记任务定义

  1. https://console.amazonaws.cn/ecs/ 上打开 Amazon ECS 控制台。

  2. 在屏幕顶部的导航栏,选择 美国西部(俄勒冈) 区域。

  3. 在导航面板中,选择 任务定义, 创建新任务定义.

  4. 创建新任务定义 页面,选择 EC2, 下一步.

  5. 选择 通过JNS配置 复制并粘贴 之后,选择 保存, 创建.

    { "family": "ConsoleTutorial-taskdef", "containerDefinitions": [ { "name": "sleep", "image": "amazonlinux:2", "memory": 20, "essential": true, "command": [ "sh", "-c", "sleep infinity" ] } ], "requiresCompatibilities": [ "EC2" ] }

步骤6: 运行任务

在为您的帐户注册任务定义后,您可以在 群集。在本教程中,您运行五个实例 ConsoleTutorial-taskdef 任务定义 ConsoleTutorial-cluster 群集。

要运行任务

  1. https://console.amazonaws.cn/ecs/ 上打开 Amazon ECS 控制台。

  2. 在屏幕顶部的导航栏,选择 美国西部(俄勒冈) 区域。

  3. 在导航面板中,选择 任务定义.

  4. 选择您的 控制台教程任务 任务 定义。

  5. 来自 行动 菜单,选择 运行 任务.

  6. 使用以下步骤完成运行任务工作流。

    1. 对于 产能提供商战略,默认 必须选择群集的容量提供商策略。

    2. 对于 聚类,选择您的 台上簇 群集。

    3. 对于 任务数量,输入 5.

    4. 对于 放置模板,选择 包装盒.

    5. 选择 运行任务.

步骤7: 核实

此时,在教程中,您应该有两个 Auto Scaling 一个能力的小组 为他们每个人提供服务。能力提供商 Amazon ECS 启用了管理缩放。A 群集已创建,有五个任务正在运行。

我们可以通过查看 CloudWatch 指标, Auto Scaling 小组设置,最后是 Amazon ECS 群集任务计数。

要查看 CloudWatch 群集指标

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 在屏幕顶部的导航栏,选择 美国西部(俄勒冈) 区域。

  3. 在导航栏中,选择 指标.

  4. 所有指标 选项卡,选择 安理会(AW)/ECS/ManagedScaling.

  5. 选择 CapacityProviderName、ClusterName.

  6. 选择与 控制台教程-能力提供者 产能 供应商。

  7. 图表指标 选项卡,更改 周期30秒统计最大值.

    图中显示的值显示了 容量提供商。它应该从 100,这是 产能百分比。您应该看到它向上扩展至 200,其中 将触发目标跟踪缩放策略的警报。警报将 然后触发 Auto Scaling 以扩大规模。

    
                        容量提供商指标视图
  8. 对于您的 台上营养师能力提供者能力爆发 指标。

使用以下步骤查看您的 Auto Scaling 小组详细信息,以确认 操作发生。

核实 Auto Scaling 扩大分组

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在屏幕顶部的导航栏,选择 美国西部(俄勒冈) 区域。

  3. 在导航窗格的下方 自动扩展,选择 自动扩展组.

  4. 每个人 Auto Scaling 小组,查看 实例期望 列 确认您的小组扩大到每个小组的两个实例。

使用以下步骤查看您的 Amazon ECS 以确认 Amazon EC2 实例 已在群集中注册,您的任务已转换为 RUNNING 状态。

核实 Auto Scaling 扩大分组

  1. https://console.amazonaws.cn/ecs/ 上打开 Amazon ECS 控制台。

  2. 在屏幕顶部的导航栏,选择 美国西部(俄勒冈) 区域。

  3. 在导航面板中,选择 .

  4. 页面中,选择您的 ConsoleTutorial-cluster 群集。

  5. ECS实例 选项卡,确认您看到四个实例 与您的 Auto Scaling 组值。

  6. 任务 选项卡,确认您在 RUNNING 状态。

步骤8: 清理

完成本教程后,清除与其相关的资源, 避免您不使用的资源产生费用。删除能力提供者 并且不支持任务定义,但是没有与这些相关的成本 资源。

清除教程资源

  1. https://console.amazonaws.cn/ecs/ 上打开 Amazon ECS 控制台。

  2. 在屏幕顶部的导航栏,选择 美国西部(俄勒冈) 区域。

  3. 在导航面板中,选择 .

  4. 页面中,选择您的 ConsoleTutorial-cluster 群集。

  5. 来自 任务 选项卡,选择 全部停止. 输入验证并选择 全部停止 再次。

  6. 删除 Auto Scaling 分组。

    1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

    2. 在屏幕顶部的导航栏,选择 美国西部(俄勒冈) 区域。

    3. 在导航窗格的下方 自动扩展, 选择 自动扩展组.

    4. 选择您的 控制台教程-ASG Auto Scaling 小组,然后 来自 行动 菜单选择 删除。

    5. 选择您的 控制台教程-ASG突发 Auto Scaling 小组, 然后从 行动 菜单选择 删除。

  7. https://console.amazonaws.cn/ecs/ 上打开 Amazon ECS 控制台。

  8. 在屏幕顶部的导航栏,选择 美国西部(俄勒冈) 区域。

  9. 在导航面板中,选择 .

  10. 页面中,选择您的 ConsoleTutorial-cluster 群集。

  11. 选择 删除群集,输入确认短语,以及 选择 删除.