通过 Amazon EC2 开始使用 Amazon ECS - Amazon Elastic Container Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

通过 Amazon EC2 开始使用 Amazon ECS

Amazon Elastic Container Service (Amazon ECS) 是一项高度可扩展的快速容器管理服务,可让您轻松运行、停止和管理容器。您可以通过使用 Fargate 启动类型启动服务或任务,将容器托管在由 Amazon ECS 管理的无服务器基础设施上。要实现更多控制,您可以通过使用 EC2 启动类型将任务托管在您管理的 Amazon EC2 实例集群上。有关 Amazon ECS 的宽泛概述,请参阅什么是 Amazon Elastic Container Service?

通过在 Amazon ECS 控制台中注册任务定义、创建集群并创建服务,利用 EC2 启动类型开始使用 Amazon ECS。

重要

有关利用 Fargate 启动类型开始使用 Amazon ECS 的信息,请参阅通过 Fargate 开始使用 Amazon ECS

完成以下步骤可利用 EC2 启动类型开始使用 Amazon ECS。

先决条件

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

步骤 1:注册任务定义

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

以下步骤将指导您创建一个将部署简单 Web 应用程序的任务定义。

注册任务定义

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

  2. 从导航栏中,选择要使用的区域。

  3. 在导航窗格中,依次选择 Task Definitions (任务定义)Create new Task Definition (创建新任务定义)

  4. Select launch type compatibility (选择启动类型兼容性) 页面上,选择 EC2,然后选择 Next step (下一步)

  5. Select configure task and container definitions (选择配置任务和容器定义) 页上,选择 Configure via JSON (通过 JSON 配置)

  6. 将以下示例任务定义复制并粘贴到框中,然后选择 Save (保存)

    { "containerDefinitions": [ { "entryPoint": [ "sh", "-c" ], "portMappings": [ { "hostPort": 80, "protocol": "tcp", "containerPort": 80 } ], "command": [ "/bin/sh -c \"echo '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p> </div></body></html>' > /usr/local/apache2/htdocs/index.html && httpd-foreground\"" ], "cpu": 10, "memory": 300, "image": "httpd:2.4", "name": "simple-app" } ], "family": "console-sample-app-static" }
  7. 选择创建

步骤 2:创建集群

Amazon ECS 集群是任务、服务和容器实例的逻辑分组。在使用控制台创建集群时,Amazon ECS 会为您创建一个 AWS CloudFormation 堆栈,它负责 Amazon EC2 实例创建、联网和 IAM 配置。有关集群的更多信息,请参阅 Amazon ECS 集群

以下步骤将指导您创建一个集群,该集群具有一个注册的 Amazon EC2 实例,这使我们能够在集群上运行任务。如果未提及特定字段,请保留控制台使用的默认值。

创建群集

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

  2. 在导航栏中选择您在上一步中使用的相同区域。

  3. 在导航窗格中,选择 Clusters

  4. Clusters 页面上,选择 Create Cluster

  5. Select cluster template (选择集群模板) 页面上,选择 EC2 Linux + Networking (EC2 Linux + 联网)

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

  7. Cluster configuration (集群配置) 部分中,执行以下操作:

    1. 对于 EC2 instance type (EC2 实例类型),选择要用于容器实例的 t2.microt3.micro 实例类型。虽然配备更多 CPU 和内存资源的实例类型可以处理更多任务,但这对于本入门指南来说是不必要的。有关不同实例类型的更多信息,请参阅 Amazon EC2 实例

    2. 对于 Number of instances (实例数),键入 1。Amazon EC2 实例在您的 AWS 资源中的存在期间将产生费用。有关更多信息,请参阅 Amazon EC2 定价

    3. 对于 EC2 Ami Id,使用默认值,即 Amazon Linux 2 Amazon ECS-optimized AMI。有关 Amazon ECS-optimized AMI 的更多信息,请参阅 Amazon ECS-optimized AMI

  8. Networking (联网) 部分中,对于 VPC,选择 Create a new VPC (创建新的 VPC) 以让 Amazon ECS 为要使用的集群创建新的 VPC,或选择要使用的现有 VPC。有关创建您自己的 VPC 的更多信息,请参阅教程:为您的集群创建带有公有和私有子网的 VPC

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

  10. 选择创建

步骤 3:创建服务

利用 Amazon ECS 访问,您可在 Amazon ECS 集群中同时运行和维护指定数量的任务定义实例。如果您的任何任务应该出于任何原因失败或停止,Amazon ECS 服务计划程序将启动另一个任务定义实例来替换它以便在服务中维护所需数量的任务。有关服务的更多信息,请参阅 Amazon ECS 服务

创建服务

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

  2. 在导航栏中选择您在上一步中使用的相同区域。

  3. 在导航窗格中,选择 Clusters

  4. 选择您在上一步中创建的集群。

  5. Services (服务) 选项卡上,选择 Create (创建)

  6. Configure service (配置服务) 部分中,执行以下操作:

    1. 对于 Launch type (启动类型),选择 EC2

    2. 对于 Task definition (任务定义),选择您在步骤 1 中创建的 console-sample-app-static 任务定义。

    3. 对于 Cluster (集群),选择您在步骤 2 中创建的集群。

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

    5. 对于 Number of tasks (任务数量),输入 1

  7. 使用其余字段的默认值,然后选择 Next step (下一步)

  8. Configure network (配置网络) 部分中,保留默认值并选择 Next step (下一步)

  9. Set Auto Scaling (设置 Auto Scaling) 部分中,保留默认值并选择 Next step (下一步)

  10. 查看选项并选择 Create service (创建服务)

  11. 选择 View service (查看服务) 以查看您的服务。

步骤 4:查看您的服务

此服务是一个基于 Web 的应用程序,因此您可以使用 Web 浏览器查看其容器。

查看服务详细信息

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

  2. 在导航栏中选择您在上一步中使用的相同区域。

  3. 在导航窗格中,选择 Clusters

  4. 选择您在步骤 2 中创建的集群。

  5. Services (服务) 选项卡上,选择您在步骤 3 中创建的服务。

  6. Service: service-name 页面上,选择 Tasks 选项卡。

  7. 确认任务处于 RUNNING (正在运行) 状态。如果确认,请选择任务以查看任务详细信息。如果任务未处于 RUNNING (正在运行) 状态,请刷新服务详细信息屏幕,直到任务处于该状态。

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

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

第 5 步:清除

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

可以使用 Amazon ECS 控制台清除本入门指南中创建的 Amazon ECS 资源(例如,集群和服务)。

清除资源

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

  2. 在导航窗格中,选择 Clusters

  3. 选择您在步骤 2 中创建的集群。

  4. Services (服务) 选项卡上,选择您在步骤 3 中创建的服务,然后选择 Delete (删除)。在确认提示符处,输入 delete me,然后选择 Delete (删除)

  5. 在集群详细信息页面上,选择 Delete cluster (删除集群)。在确认提示符处,输入 delete me,然后选择 Delete (删除)。删除该集群将清除使用该集群创建的关联资源,包括 VPC 和 Amazon EC2 实例。