跳至主要内容

Amazon Elastic Container Service 文档

Amazon Elastic Container Service(Amazon ECS)支持您在亚马逊云科技上部署容器化工作负载。借助 Amazon ECS 的强大功能,您可从管理单个 Docker 容器起步,逐步扩展至管理企业级应用程序组合。无论在云端还是本地环境,您都能跨可用区运行并扩展容器工作负载,且无需管理控制平面或节点。

概述

使用Amazon Elastic Container Service (Amazon ECS),您可以轻松地在亚马逊云科技上部署容器化工作负载。Amazon ECS强大的性能使您能够从一个Docker容器扩展,以管理您整个企业的应用程序组合。在可用区中、云中和本地运行和扩展容器工作负载,而无需管理控制平面和节点。   

Amazon ECS 的主要功能

  • 默认带有 Amazon Fargate 的无服务器架构:Amazon Fargate 已内置到 Amazon ECS 中,可帮助您管理服务器、处理容量规划并隔离容器工作负载。您只需定义应用程序的需求,在控制台或命令行界面(CLI)中选择 Fargate 作为启动类型,Fargate 便会帮助您处理运行容器所需的扩展和基础设施管理工作。
  • Amazon ECS Anywhere:通过 ECS Anywhere,您可以使用 Amazon ECS 控制台和操作员工具来管理本地部署容器工作负载,以便在基于容器的应用程序中获得一致的体验。Amazon Systems Manager(SSM)集成旨在在您的本地硬件和 Amazon 控制面板之间建立信任。
  • 通过设计实现的安全性和隔离:Amazon ECS 设计为与您已经信任的安全、身份以及管理和治理工具原生集成,可帮助您快速、成功地投入生产。您可以为每个容器分配精细权限,从而在构建应用程序时实现高级别的隔离。 
  • 自主控制面板操作:Amazon ECS 是一项完全托管的容器编排服务,其设计内置了 Amazon 配置和运维最佳实践,而且没有需要管理的控制面板、节点或附加组件。它旨在与亚马逊云科技和第三方工具原生集成,让团队能够专注于构建应用程序,而无需在环境方面投入精力。

Amazon ECS 的其他功能

开发

Docker 支持

Amazon ECS 支持 Docker,使您能够运行和管理 Docker 容器。它甚至集成到 Docker Compose CLI 中,因此您可以定义和运行多容器应用程序。您在本地打包为容器的应用程序将在 Amazon ECS 上部署和运行,无需更改配置。

Windows 容器兼容性

Amazon ECS 支持对 Windows 容器的管理。经过 Amazon ECS 优化的 Windows 亚马逊机器映像(AMI)旨在提升实例和容器的启动时间性能,并且能让您了解 CPU、内存使用情况和预留指标。

Amazon Copilot

Amazon Copilot CLI 是一款专为开发人员设计的工具,用于在 Amazon ECS 和 Amazon Fargate 上构建、发布和运行可用于生产的容器化应用程序。Copilot 内置从基础设施到持续交付的最佳实践,开发人员可通过命令行直接获得这些最佳实践。您还可以通过查看服务状态或日志来监控服务运行状况、纵向扩展或缩减生产环境中的服务规模,以及启动用于自动化测试的新环境。下载 Amazon Copilot。

存储库支持

可将 Amazon ECS 与第三方托管的 Docker 映像存储或可访问的私有 Docker 注册表(如 Docker Hub 和 Amazon ECR)配合使用。您只需要在任务定义中指定对应的存储库,Amazon ECS 便会为您的应用程序检索相应的映像。

管理

任务定义

Amazon ECS 支持您通过声明式 JSON 模板定义任务,这一过程称为“任务定义”。在任务定义中,指定您的任务需要的一个或多个容器,包括 Docker 存储库和映像、内存和 CPU 要求、共享数据卷以及容器互相链接的方式。您可以从可在该服务中注册的单个任务定义文件中启动任务。任务定义文件还支持您对应用程序规格进行版本控制。

编程控制

Amazon ECS 为您提供一组 API 操作,以便您集成和扩展服务。使用这些 API 操作,您可以创建和删除集群、注册和取消注册任务、启动和终止 Docker 容器,并提供有关集群及其实例的状态的信息。您还可以使用 Amazon CloudFormation 预置 Amazon ECS 集群、注册任务定义和安排容器。

容器部署

Amazon ECS 让您可以轻松将容器更新到新版本。您可以上传新版本的应用程序任务定义,然后,Amazon ECS 计划程序会使用更新后的映像启动新容器并停止运行旧版本的容器。Amazon ECS 会注册容器以及从关联的应用程序负载均衡器中取消注册容器。

蓝绿部署

借助 Amazon CodeDeploy 进行蓝绿部署可帮助您在应用程序更新期间最大程度地减少停机时间。您可以将新版本的 Amazon ECS 服务与旧版本一起启动,然后在重新路由流量之前测试新版本。您还可以监控部署过程,并在出现问题时回滚。

容器自动恢复

Amazon ECS 设计为可恢复运行状况不佳的容器,保证所需的容器数量,以便为应用程序提供支持。

容量提供程序

容量提供程序允许您定义规则,确定容器化工作负载如何在不同类型的计算容量上运行,并管理容量的扩缩。容量提供程序可以与 Amazon EC2 和 Amazon Fargate 搭配使用。运行任务和服务时,您可以在多个容量提供程序中拆分这些任务和服务,从而启用新功能,例如在 Fargate 和 Fargate Spot 上以预定义的拆分百分比运行服务。

存储

Amazon Elastic File System(Amazon EFS)是一个可扩展、完全托管式的弹性文件系统,使您能够构建应用程序,并保留和共享 Amazon ECS 和 Amazon Fargate 部署中的数据和状态。您可以专注于应用程序开发,而无需操心基础设施。了解有关永久文件存储的更多信息。

调度和任务置放

Amazon ECS 包含多种调度策略,可根据您的资源需求(如 CPU 或内存)和可用性要求将容器置放到不同集群。借助这些可用的调度策略,您可以调度批处理作业、长期运行的应用程序与服务,以及进程守护程序。

任务调度

Amazon ECS 任务调度让您可以运行完成指定工作后即停止的进程(如批处理作业)。任务调度可以从作业队列启动任务,也可以根据您定义的时间间隔启动任务。

服务调度

Amazon ECS 服务调度让您可以运行无状态服务和应用程序,确保始终有指定数量的任务处于运行状态,并且会在任务发生故障时自动重启。客户可以将任务注册到弹性负载均衡器,并为运行中的任务配置自定义运行状况检查。

进程守护程序调度

Amazon ECS 进程守护程序调度会在您的 ECS 集群中的每个选定实例上运行相同的任务。该功能旨在简化为服务提供通用管理功能(例如日志记录、监控或备份)的任务的运行。

任务置放

借助 Amazon ECS,用户可以根据内置属性(例如实例类型、可用区或用户定义的自定义属性)自定义将任务置放到 Amazon EC2 实例集群上的方式。可以使用“环境 = 生产”等属性来标记资源,使用列表 API 操作查找这些资源,然后使用 RunTask 和 CreateService API 操作来调度这些资源上的任务。

借助 Amazon ECS,您还可以使用装箱打包、分散分布等置放策略来进一步定义任务的置放位置。这些策略可串联使用,无需编写任何代码即可实现所需的置放功能。
 

联网

服务发现

Amazon ECS 与 Amazon Cloud Map 集成,使您的容器化服务可以互相轻松发现和连接。Amazon Cloud Map 是一项云资源发现服务,让您可以为应用程序资源定义自定义名称。它可以提高应用程序的可用性,因为您的 Web 服务可以发现这些不断变化的资源的位置。

服务网格

服务网格旨在通过标准化应用程序中微服务的通信方式来构建和运行复杂的微服务应用程序。Amazon App Mesh 允许您配置部分应用程序,以实现端到端的可见性和高可用性。 

任务联网

Amazon ECS 支持 Docker 联网,并通过与 Amazon VPC 集成为容器提供隔离。 

负载均衡

Amazon ECS 与弹性负载均衡器集成,后者旨在支持您使用应用程序负载均衡器或网络负载均衡器在容器之间分配流量。您指定任务定义和要使用的负载均衡器,然后,Amazon ECS 会在负载均衡器中添加和移除容器。在任务定义中指定一个动态端口,这样,当容器被调度到 EC2 实例上时,就会为其分配一个未使用的端口。此外,使用基于路径的路由与多个服务共享负载均衡器。

监控和日志记录

监控

Amazon ECS 通过 Amazon CloudWatch 提供对容器和集群的监控功能。您可以监控按任务定义、服务或集群分组的运行中任务的平均 CPU 利用率和内存利用率。设置 CloudWatch 警报,以便在容器或集群需要纵向扩展或缩减时收到提醒。

日志记录

借助 Amazon ECS,您还可以记录所有 Amazon ECS API 调用,并通过 Amazon CloudTrail 获取日志文件。CloudTrail 为您提供从 Amazon 管理控制台、Amazon SDK 和 Amazon CLI 发出的 API 调用的历史记录。它支持安全分析、资源变更跟踪和合规性审计。

Amazon Config

Amazon Config 与 Amazon ECS 集成,让您可以了解亚马逊云科技账户中亚马逊云科技资源的配置。借助 Amazon Config,用户可以监控和跟踪资源的配置方式、它们之间的相互关系以及配置和关系如何随着时间的推移而变化。 

其他信息

有关服务控制、安全特性及功能的其他信息,包括有关存储、检索、修改、限制和删除数据的信息,请参见 https://docs.amazonaws.cn/。以上链接包含的信息不构成光环新网关于亚马逊云科技(北京区域)的客户协议或西云数据关于亚马逊云科技(宁夏区域)的客户协议的“文档”的一部分,也不构成您与光环新网或西云数据之间就您使用亚马逊云科技中国区域服务达成的其他协议的任何部分。