亚马逊弹性容器服务(Amazon Elastic Container Service,ECS)为部署和管理容器化应用提供了强大的平台。在本指南中,我们将通过AWS命令行界面(CLI)探讨如何无缝地执行常见的ECS任务。无论您是初学者还是经验丰富的用户,本逐步教程都将帮助您轻松地导航ECS集群、任务和服务。

先决条件

在我们深入研究CLI命令之前,请确保已安装AWS CLI,并使用必要的访问密钥和秘密密钥进行配置。如果您尚未安装,请按照 官方安装指南操作。

第1部分:创建ECS集群

首先,让我们创建一个ECS集群:

aws ecs create-cluster --cluster-name my-ecs-cluster
  • 1.

该命令创建一个名为“my-ecs-cluster”的新ECS集群。您可以根据需要自定义集群名称。

第2部分:定义任务并部署服务

接下来,我们将创建一个任务定义并部署一个服务:

# 创建任务定义
aws ecs register-task-definition --family my-task --container-definitions '[{"name":"my-container","image":"nginx"}]'

# 部署服务
aws ecs create-service --cluster my-ecs-cluster --service-name my-ecs-service --task-definition my-task --desired-count 2
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

在上面的示例中,我们定义了一个名为“my-task”的任务,其中包含使用NGINX镜像的单个容器。然后,我们创建了一个名为“my-ecs-service”的服务,其中包含2个任务。

第3部分:更新和修改

更新服务

让我们通过修改任务定义来更新服务:

# 更新服务
aws ecs update-service --cluster my-ecs-cluster --service my-ecs-service --task-definition new-task-revision
  • 1.
  • 2.

将“new-task-revision”替换为您要使用的实际任务定义修订版。

修改任务定义

要修改任务定义,您可以创建一个新的修订版:

# 修改任务定义
aws ecs register-task-definition --family my-task --container-definitions '[{"name":"my-container","image":"new-image"}]'
  • 1.
  • 2.

将“new-image”替换为更新后的容器镜像。

第4部分:最佳实践和扩展策略

ECS集群的最佳实践

使用适当的资源管理优化您的集群:

# 更新ECS集群设置
aws ecs update-cluster-settings --cluster my-ecs-cluster --settings name=containerInsights,value=enabled
  • 1.
  • 2.

扩展策略

为您的服务实施自动扩展策略:

# 配置自动扩展
aws ecs put-scaling-policy --service my-ecs-service --scalable-dimension ecs:service:DesiredCount --policy-name my-scaling-policy --scaling-adjustment 2
  • 1.
  • 2.

第5部分:删除

最后,让我们删除服务、任务和整个集群:

# 删除服务
aws ecs delete-service --cluster my-ecs-cluster --service my-ecs-service

# 注销任务定义
aws ecs deregister-task-definition --task-definition my-task:revision

# 删除集群
aws ecs delete-cluster --cluster my-ecs-cluster
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

将“my-task:revision”替换为实际任务定义修订版。

结论

恭喜!您已成功掌握了使用AWS CLI进行AWS ECS的操作。本指南涵盖了部署、更新、修改和删除ECS集群、任务和服务的基本命令。随着您在ECS上的工作,探索高级CLI功能并将其纳入容器化工作流中。