问:什么是 Amazon Elastic Container Service?
Amazon Elastic Container Service (ECS)是一项高度可扩展的高性能容器管理服务,支持 Docker 容器,并让您能够在托管的 Amazon EC2 实例集群上轻松运行应用程序。使用Amazon ECS,您将不再需要安装、运维、扩展自己的集群管理基础设施。只需进行简单的 API调用,您便可以启动和停止支持容器的应用程序,查询集群的完整状态,使用各种熟悉的功能,包括安全组、Elastic Load Balancing、EBS 卷和 IAM 角色。您可以使用 Amazon ECS根据您的资源需求和可用性要求在您的集群中安排容器的置放。您还可以集成自己的计划程序或第三方计划程序,以满足业务或应用程序的特定要求。
问:为什么应该使用 Amazon ECS?
使用 Amazon ECS,您将不再需要安装、运维、扩展自己的集群管理基础设施,Amazon ECS让容器的使用更简单,您可以将其作为构建块用于您的应用程序。Amazon ECS 让您可以使用 Docker容器来安排长期运行的应用程序、服务和批量进程。Amazon ECS可以维持应用程序的可用性,让您根据应用程序的容量需求来对容器进行扩缩。Amazon ECS 集成有您熟悉的功能,包括 Elastic Load Balancing、EBS 卷、VPC 和 IAM。简单的 API 让您可以集成并使用自己的计划程序,或将 Amazon ECS连接到现有的软件交付流程中。
问:Amazon ECS 与 AWS Elastic Beanstalk 有什么区别?
AWS Elastic Beanstalk 是一个应用程序管理平台,可以帮助客户轻松部署和扩展 Web应用程序和服务。它将构建块(例如 EC2、RDS、Elastic Load Balancing、AutoScaling、CloudWatch)的调配、应用程序的部署、运行状况监控从用户身上分离出来,让用户可以集中精力编写代码。您只需指定要部署的容器映像、CPU和内存要求、端口映射和容器链接即可。
Elastic Beanstalk 将自动处理所有的具体事务,包括调配 Amazon ECS集群、平衡负载、自动扩展、监控以及在集群中放置容器。如果您希望利用容器的各种优势,但只想通过上传容器映像,在开发到生产等环节部署应用程序时享受到简易性,则Elastic Beanstalk 非常适合。如果您需要对自定义应用程序架构进行更多精细化的控制,则可以直接使用 Amazon ECS。
问:Amazon ECS 与 AWS Lambda 有什么区别?
Amazon Container Service 是一项高度可扩展的 Docker容器管理服务,让您可以运行和管理在 Docker 容器中运行的分布式应用程序。AWS Lambda是一项事件驱动型任务计算服务,在响应数据更改、网站点击或来自其他 AWS 服务的消息等“事件”时运行您的代码,无需您管理任何计算基础设施。
问:我想启动容器。为什么必须启动任务?
Docker 鼓励您将应用程序分成单个组件,而 Elastic Container Service针对这一模式进行了优化。任务让您可以定义想要放置在一起的一组容器或一部分容器、容器的属性及其链接方式。任务中包含 Amazon ECS确定如何放置所需的所有信息。要启动单个容器,您的任务定义中应该只包含一个容器定义。
问:应该如何配置我的容器实例,以便从 Amazon Elastic Container 注册表中提取?
Amazon ECR 与 Amazon ECS 集成,让您能够轻松地存储、运行和管理在 Amazon ECS 上运行的应用程序的容器映像。为此,您只需在您的任务定义中指定 Amazon ECR 存储库,然后将AmazonEC2ContainerServiceforEC2Role附加至您的实例即可。Amazon ECS 将为您的应用程序检索相应的映像。