在本文中,您将了解如何在 Amazon ECS 集群上运行支持 Docker 的示例应用程序,对该示例应用程序进行测试,然后删除您的资源以免产生费用。

在本文中完成的所有操作均符合免费套餐条件。

1. 创建任务定义

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

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

  1. 从导航栏中,选择要使用的区域。
  2. 在导航窗格中,依次选择 Task Definitions (任务定义)Create new Task Definition (创建新任务定义)
  3. Select launch type compatibility (选择启动类型兼容性) 页面上,选择 EC2,然后选择 Next step (下一步)

image.png

  1. 配置任务和容器定义 页面,向下滚动并选择 通过JSON配置.

image.png

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

    1. {
    2. "containerDefinitions": [
    3. {
    4. "entryPoint": [
    5. "sh",
    6. "-c"
    7. ],
    8. "portMappings": [
    9. {
    10. "hostPort": 80,
    11. "protocol": "tcp",
    12. "containerPort": 80
    13. }
    14. ],
    15. "command": [
    16. "/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\""
    17. ],
    18. "cpu": 10,
    19. "memory": 300,
    20. "image": "httpd:2.4",
    21. "name": "simple-app"
    22. }
    23. ],
    24. "family": "console-sample-app-static"
    25. }
  2. 选择创建

2. 创建集群

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

以下步骤将指导您创建一个集群,该集群具有一个注册的 Amazon EC2 实例,这使我们能够在集群上运行任务。

  1. 在导航栏中选择您在上一步中使用的相同区域。
  2. Clusters 页面上,选择 Create Cluster
  3. Select cluster template (选择集群模板) 页面上,选择 EC2 Linux + Networking (EC2 Linux + 联网)image.png
  4. 对于 Cluster name (集群名称),选择集群的名称。
  5. Cluster configuration (集群配置) 部分中,执行以下操作:
    1. 对于 EC2 instance type (EC2 实例类型),选择要用于容器实例的 t2.micro 实例类型。
    2. 对于 Number of instances (实例数),键入 1
    3. 对于 EC2 Ami Id,使用默认值,即 Amazon Linux 2 Amazon ECS-optimized AMI

image.png

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

image.png

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

image.png

  1. 选择创建

image.png

3. 创建服务

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

  1. 在导航栏中选择您在上一步中使用的相同区域。
  2. 在导航窗格中,选择集群
  3. 选择您在上一步中创建的集群。
  4. Services (服务) 选项卡上,选择 Create (创建)

image.png

  1. 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

image.png

  1. 使用其余字段的默认值,然后选择 Next step (下一步)
  2. Configure network (配置网络) 部分中,保留默认值并选择 Next step (下一步)
  3. Set Auto Scaling (设置 Auto Scaling) 部分中,保留默认值并选择 Next step (下一步)
  4. 查看选项并选择 Create service (创建服务)
  5. 选择 View service (查看服务) 以查看您的服务。

    image.png

4. 查看服务

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

  1. Services (服务) 选项卡上,选择您在步骤 3 中创建的服务。
  2. 服务: service-name 页面,选择 任务 选项卡。
  3. 确认任务处于 RUNNING (正在运行) 状态。如果确认,请选择任务以查看任务详细信息。如果任务未处于 RUNNING (正在运行) 状态,请刷新服务详细信息屏幕,直到任务处于该状态。

image.png

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

image.png
image.png

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

image.png

5. 清除资源

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

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

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