开发

Docker 支持

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

Windows 容器兼容性

Amazon ECS 支持管理 Windows 容器。针对 Amazon ECS 进行优化的 Windows Amazon 系统映像 (AMI) 可提供增强的实例和容器启动时性能,以及对 CPU、内存使用率和预留指标的可见性。

AWS Copilot

AWS Copilot CLI 是一种工具,开发人员可以使用它在 Amazon ECS 和 AWS Fargate 上构建、发布和运行生产就绪型容器化应用程序。Copilot 采用了从基础设施即代码到持续交付的最佳实践,并且以最适合命令行的方式提供给客户。您还可以通过查看服务的状态或日志、扩展或缩小生产服务,以及启动一个用于自动化测试的新环境来监控服务的运行状况。下载 AWS Copilot。

存储库支持

将 Amazon ECS 用于任何第三方托管的 Docker 映像存储库或可访问的私有 Docker 注册表,例如 Docker Hub 和 Amazon Elastic Container Registry (Amazon ECR)。您只需在任务定义中指定存储库,然后 Amazon ECS 将为应用程序检索适当的映像。

管理

任务定义

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

编程控制

Amazon ECS 为您提供了一组简单的 API 操作,使您能够集成和扩展服务。使用 API 操作,您可以创建和删除集群、注册和注销任务、启动和终止 Docker 容器,并提供集群状态及其实例的相关详细信息。您还可以使用 AWS CloudFormation 预置 Amazon ECS 集群、注册任务定义和安排容器。

容器部署

Amazon ECS 让您可以轻松将容器更新到新的版本。您可以上传新版本的应用程序任务定义,Amazon ECS 计划程序将自动使用更新后的映像启动新的容器并停止运行着旧版本的容器。Amazon ECS 会自动从关联的 Application Load Balancer 注册和注销您的容器。

蓝/绿部署​

使用 AWS CodeDeploy 进行蓝/绿部署可帮助您在应用程序更新期间最大限度地缩短停机时间。您可以启动新版本的 Amazon ECS 服务以及旧版本,并且在重新路由流量之前测试新版本。您还可以监控部署流程并且在存在问题的情况下迅速回滚。

容器自动恢复

Amazon ECS 将自动恢复运行状况不佳的容器,以确保您拥有支持应用程序所需数量的容器。

容量提供程序

借助容量提供程序,您可以就容器化工作负载如何在不同类型的计算容量上运行定义灵活的规则,并管理容量的扩展。容量提供程序可与 Amazon EC2 和 AWS Fargate 结合使用。当运行任务和服务时,您可以将它们拆分到多个容量提供程序中,以支持新的功能,例如在 Fargate 和 Fargate Spot 中按预定义的拆分百分比运行服务。

存储

Amazon Elastic File System (Amazon EFS) 是一种简单、可扩展、完全托管的弹性文件系统,可让您构建现代化的应用程序,并从您的 Amazon ECS 和 AWS Fargate 部署中保留和共享数据和状态。考虑到了通过容器使用 Amazon EFS 的所有方面(包括连接),无需进行任何管理。您只需专注于您的应用程序,而无需专注于基础设施。详细了解持久性文件存储

计划和任务置放

Amazon ECS 包括多项计划策略,这些策略可根据您的资源需求(如 CPU 或 RAM)和可用性要求将容器放入各个集群。借助可用的计划策略,您可以安排批处理任务、长时间运行的应用程序和服务,以及守护进程。

任务计划

借助 Amazon ECS 任务计划,您可以运行执行工作而后停止的进程,如批处理任务。任务计划可从任务队列自动启动任务,或者基于您定义的时间间隔启动任务。

服务计划

借助 Amazon ECS 服务计划,您可以运行无状态服务和应用程序。此计划策略可确保指定数量的任务持续运行,并在发生失败后重新启动。客户可以确保任务是在 Elastic Load Balancing 负载均衡器上注册的,并且能够执行用户为正在运行的任务定义的运行状况检查。

守护计划

Amazon ECS 守护计划会在 ECS 集群中选定的每个实例上自动运行相同的任务。这样一来,您便可轻松运行为诸如日志记录、监控或备份之类的服务提供常见管理功能的任务。

任务置放

Amazon ECS 允许用户自定义如何根据内置属性(例如实例类型、可用区或者用户定义的自定义属性)将任务放置到 Amazon EC2 实例的集群上。使用“environment=production”等属性来为资源添加标记,使用列出 API 操作来查找这些资源,并使用 RunTask 和 CreateService API 操作来安排针对这些资源的任务。

通过 Amazon ECS,使用 bin pack 和 spread 等置放策略来进一步定义放置任务的位置。可将策略链接在一起以实现复杂的置放功能,而无需编写任何代码。

联网

服务发现

Amazon ECS 与 AWS Cloud Map 集成,使您的容器化服务可以彼此轻松发现并相互连接。 AWS Cloud Map 是一项云资源发现服务,您可以使用它为应用程序资源定义自定义名称。它可以提高应用程序的可用性,因为您的 Web 服务始终会发现这些动态变化的资源的最新位置。

服务网格

利用服务网格,您可以通过标准化微服务应用程序中的每种微服务的通信方式来轻松地构建和运行复杂的微服务应用程序。 AWS App Mesh 是一项可让您轻松配置您的应用程序的一部分以实现端到端可见性和高可用性的服务。要使用 App Mesh,请将 Envoy 代理映像添加到 ECS 任务定义。App Mesh 管理 Envoy 配置以提供服务网格功能。App Mesh 将指标、日志和跟踪导出至在提供的 Envoy 引导配置中指定的终端节点。App Mesh 提供 API,以配置已启用网格功能的微服务之间的流量路由、断路、重试及其他控制。

任务联网

Amazon ECS 支持 Docker 联网,并通过与 Amazon VPC 集成为容器提供隔离。这使您能够控制容器与其他服务和外部流量的连接方式。借助 Amazon ECS,您可以在容器的四种联网模式之间进行选择以满足不同的使用案例:

任务联网/awsvpc
此模式为每个正在运行的 ECS 任务分配一个专用弹性网络接口,可允许容器在 VPC 中具有完整的联网功能,如同 EC2 实例一样。

桥接
此模式会创建一个可连接本地虚拟网络中的主机上运行的所有容器的 Linux 桥,可通过主机的默认网络连接访问此 Linux 桥。

主机
此模式直接将容器添加到主机的网络堆栈,在无隔离的主机网络中公开容器。


此模式下,容器无法进行外部联网

负载均衡

Amazon ECS 与 Elastic Load Balancing 集成,允许您使用 Application Load Balancer 或 Network Load Balancer 在多个容器之间分配流量。您只需指定要使用的任务定义和负载均衡器,Amazon ECS 会自动的从负载均衡器中添加和删除容器。在任务定义中指定动态端口,这可为安排在 EC2 实例上的容器提供未使用的端口。此外,使用基于路径的路由与多个服务共享一个负载均衡器。

监控和日志记录

监控

Amazon ECS 通过 Amazon CloudWatch 为您的容器和集群提供监控功能。您可以监控正在运行的任务的 CPU 和内存使用率的平均值及总和,这些任务按任务定义、服务或集群进行分组。设置 CloudWatch 警报,在您的容器或集群需要扩大或缩小规模时提醒您。

日志记录

AWS ECS 使您可以通过 AWS CloudTrail 记录所有的 Amazon ECS API 调用并将日志文件发送给您。记录的信息包括 API 调用者的身份、API 调用的时间、API 调用者的源 IP 地址、请求参数以及 Amazon ECS 返回的响应元素。CloudTrail 为您提供从 AWS 管理控制台、AWS 开发工具包以及 AWS CLI 进行的 API 调用的历史记录。它支持安全分析、资源更改跟踪以及合规性审核。

AWS Config

AWS Config 与 Amazon ECS 集成,以使您能够了解您 AWS 账户中的 AWS 资源配置。使用 AWS Config,用户可以监控和跟踪资源的配置方式、它们彼此之间的关系以及这些配置和关系如何随时间变化。AWS Config 能够让您简化合规性和安全性、运行问题排查和资源管理。

混合部署

AWS Outposts

您可以使用 AWS Outposts 上的 Amazon ECS 运行对本地系统的延迟要求特别低的容器化应用程序。Outposts 是一项完全托管服务,可将 AWS 基础设施、AWS 服务、API 和工具扩展到几乎所有连接的站点。使用 Outposts 上的 Amazon ECS,您可以像管理云中的容器一样轻松地管理本地容器。

了解 Amazon ECS 定价

访问定价页面
准备好开始使用了吗?
注册
还有更多问题?
联系我们