Amazon Elastic Container Service
开发人员指南 (API 版本 2014-11-13)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

开始使用 Amazon ECS

通过在 Amazon ECS 控制台中创建任务定义,计划任务和配置集群,开始使用采用 EC2 启动类型的 Amazon Elastic Container Service (Amazon ECS)。有关更多信息,请参阅Amazon ECS 启动类型

在不支持 AWS Fargate 的区域中,Amazon ECS 首次运行向导将引导您完成通过 EC2 开始使用任务的过程。该向导提供了创建集群和启动示例 Web 应用程序的选项。如果您已有在 Amazon ECS 中启动的 Docker 映像,可以使用该映像创建任务定义并改为将其用于集群。

重要

有关 Amazon ECS首次运行向导中 Fargate 任务的信息,请参阅 开始使用 Amazon ECS

您也可选择创建 Amazon Elastic Container Registry (Amazon ECR) 映像存储库并将映像推送到库中。有关更多信息,请参阅 Amazon Elastic Container Registry 用户指南

完成以下任务,开始使用 Amazon ECS:

先决条件

在开始之前,请确保完成Amazon ECS 的设置 中的步骤,并且您的 AWS 用户具有 AdministratorAccessAmazon ECS 首次运行向导权限 IAM 策略示例中指定的权限。

首次运行向导会尝试自动创建 Amazon ECS 服务 IAM 和容器实例 IAM 角色。要确保首次运行时能够创建这些 IAM 角色,必须满足以下条件之一:

步骤 1:创建任务定义

任务定义类似于应用程序的蓝图。每次在 Amazon ECS 中启动任务时,您都指定任务定义。这样,服务知道要用于容器的 Docker 映像、任务中要使用的容器数量以及为每个容器分配的资源。

  1. 打开 https://console.amazonaws.cn/ecs/home#/firstRun 上的 Amazon ECS 控制台首次运行向导。

  2. 从导航栏中,选择 South America (Sao Paulo) (南美洲(圣保罗)) 区域。

  3. 配置任务定义参数。

    首次运行向导会预加载一个名为 console-sample-app-static 的任务定义,您可以看到在控制台中定义的 simple-app 容器。您可以选择重命名任务定义,或者查看和编辑容器使用的资源(如 CPU 单元和内存限制)。选择容器名称并编辑显示的值(CPU 单元在 Advanced options (高级选项) 菜单中)。为简单起见,首次运行向导中创建的任务定义仅限用于一个容器。您之后可在 Amazon ECS 控制台中创建多容器任务定义。

    有关每个任务定义参数的作用的更多信息,请参阅任务定义参数

    注意

    如果在容器定义中使用 Amazon ECR 映像,请确保对 Amazon ECR 映像使用完整的 registry/repository:tag 命名。例如,aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:latest

  4. 选择 Next step (下一步)

步骤 2:配置服务

在向导的此部分中,您可选择您希望配置通过任务定义创建的 Amazon ECS 服务的方式。一个服务将会启动并在您的集群中维护指定数量的任务定义副本。simple-app 应用程序是一个基于 Web 的 Hello World–样式应用程序,可无限期地运行。通过将它作为服务运行,它在任务状况不正常或意外停止时会重新启动。

首次运行向导会预加载一个服务定义,您可以看到在控制台中定义的 sample-webapp 服务。您可以选择重命名服务,或者通过执行以下操作来查看和编辑详细信息:

  1. 对于 Service name (服务名称),为您的服务选择名称。

  2. 对于 Desired number of tasks (预期任务数),输入要使用您指定的任务定义启动的任务数。

  3. (可选)您可选择对服务使用 应用程序负载均衡器 负载均衡器。如果从配置为使用负载均衡器的服务启动任务,会向负载均衡器注册任务。来自负载均衡器的流量分布到负载均衡器中的各实例上。有关更多信息,请参阅 Application Load Balancer 简介

    重要

    AWS 资源中有 应用程序负载均衡器 时,将产生相应费用。有关更多信息,请参阅 应用程序负载均衡器 定价

    1. 选择 Application Load Balancer listener port (应用程序负载均衡器侦听器端口)。此处的默认值是为示例应用程序设置的,但您可为负载均衡器配置不同的侦听器选项。有关更多信息,请参阅服务负载均衡

    2. Application Load Balancer target group name (Application Load Balancer 目标组名称) 字段中,指定目标组的名称。

  4. 查看服务设置,然后选择 Next step (下一步)

步骤 3:配置集群

在向导的此部分中,配置您的集群。然后,Amazon ECS 将会为您完成网络和 IAM 配置。

  1. 对于 Cluster name (集群名称),选择集群的名称。

  2. 对于 EC2 instance type (EC2 实例类型),选择要用于您的容器实例的实例类型。具有更多 CPU 和内存资源的实例类型可处理更多任务。有关不同实例类型的更多信息,请参阅 Amazon EC2 实例

  3. 对于 Number of instances (实例数),键入要在集群中启动以放置任务的 Amazon EC2 实例数。集群中的实例越多,可在其中放置的任务就越多。Amazon EC2 实例在 AWS 资源中存在期间会产生费用。有关更多信息,请参阅 Amazon EC2 定价

  4. 选择要用于您的容器实例的密钥对名称。使用 SSH 登录实例时需要此密钥对。如果不在此指定密钥对,则无法使用 SSH 连接到容器实例。如果还没有密钥对,您可以在 Amazon EC2 控制台中创建一个。有关更多信息,请参阅 Amazon EC2 密钥对

  5. (可选)在 Security Group 部分,您可选择一个用于限制对实例的访问的 CIDR 块。默认值 (Anywhere) 允许来自整个 Internet 的访问。

  6. Container instance IAM role (容器实例 IAM 角色) 部分,选择您已创建的现有 Amazon ECS 容器实例 (ecsInstanceRole) 角色,或选择 Create new role (创建新角色) 为容器实例创建所需的 IAM 角色。有关更多信息,请参阅Amazon ECS 容器实例 IAM 角色

  7. 选择 Review & Launch (审核并启动)

步骤 4: 检查

  1. 查看您的任务定义、任务配置和集群配置,然后单击 Launch instance & run service (启动实例并运行服务) 以完成操作。您会定向到 Launch Status (启动状态) 页面,此页面显示您的启动状态。它描述此过程的每一步(在创建 Auto Scaling 组时,这可能需要几分钟才能完成和填充)。

  2. 在启动完成后,选择 View service (查看服务)

步骤 5:(可选)查看您的服务

如果您的服务是基于 Web 的应用程序 (如 simple-app 应用程序),可以使用 Web 浏览器查看其容器。

  1. Service: service-name (服务: <服务名称>) 页面上,选择 Tasks (任务)

  2. 从您的服务中的任务列表中选择任务。

  3. Containers (容器) 部分中,展开容器详细信息。在 Network bindings (网络绑定) 部分中,对于 External Link (外部链接),您将看到用于访问 Web 应用程序的 IPv4 Public IP (IPv4 公有 IP) 地址。

  4. 在 Web 浏览器中,输入 IPv4 Public IP (IPv4 公有 IP) 地址,您应该可以看到显示 Amazon ECS sample 应用程序的网页。

步骤 6:清除

完成使用 Amazon ECS 集群后,您应清除与其关联的资源,以避免产生与您未使用的资源相关的费用。

有些 Amazon ECS 资源(如任务、服务、集群和容器实例)是使用 Amazon ECS 控制台清除的。其他资源(例如 Amazon EC2 实例、Elastic Load Balancing 负载均衡器和 Auto Scaling 组)必须在 Amazon EC2 控制台中手动清除或通过删除创建它们的 AWS CloudFormation 堆栈来清除。

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

  2. 在导航窗格中,选择 Clusters (集群)

  3. Clusters 页面上,选择要删除的集群。

    注意

    如果您的集群已注册容器实例,则必须取消注册或终止这些实例。有关更多信息,请参阅 取消注册容器实例

  4. 选择 Delete Cluster (删除集群)。在确认提示符处,输入 delete me,然后选择 Delete (删除)。删除该集群将清除使用该集群创建的关联资源,包括 Auto Scaling 组、VPC 或负载均衡器。