什么是 Amazon Elastic Container Service? - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

什么是 Amazon Elastic Container Service?

Amazon Elastic Container Service(Amazon ECS)是一个高度可扩展的快速容器管理服务。您可以使用它来运行、停止和管理集群上的容器。使用 Amazon ECS,您的容器是在用于运行单个任务或服务内任务的任务定义中定义的。在此上下文中,服务是一种配置,您可以使用它在集群中同时运行和维护指定数量的任务。您可以在由 Amazon Fargate 托管的无服务器基础设施上运行任务和服务。或者,为了更好地控制您的基础设施,您可以在托管的 Amazon EC2 实例集群上运行任务和服务。

Amazon ECS 提供以下功能:

  • 带有 Amazon Fargate 的无服务器选项。使用 Amazon Fargate,您无需管理服务器、处理容量计划或隔离容器工作负载即可获得安全。Fargate 为您处理工作负载的基础设施管理方面。您可以根据资源需求、隔离策略和可用性要求,在集群中安排容器的放置。

  • 集成 Amazon Identity and Access Management(IAM)。您可以为每个容器分配精细权限。这允许在构建应用程序时实现高级别的隔离。换句话说,您可以通过 Amazon 预计会提供的安全和合规性级别来启动容器。

  • Amazon 托管的容器编排。作为完全托管式服务,Amazon ECS 内置有 Amazon 配置和操作最佳实践。这还意味着,您不需要管理控制面板、节点或附加组件。它与 Alexa Web Information Service 和第三方工具(例如 Amazon Elastic Container Registry 和 Docker)集成。这种集成使团队更容易专注于构建应用程序而不是环境。

  • 持续集成和持续部署(CI/CD)。对于基于 Docker 容器的微服务架构来说,这是一个常见的过程。您可以创建执行以下操作的 CI/CD 管道:

    • 监控对源代码存储库的更改

    • 从该源构建新的 Docker 映像

    • 将映像推送到映像存储库,如 Amazon ECR 或 Docker Hub

    • 将 Amazon ECS 服务更新为在您的应用程序中使用新映像

  • 对服务发现的支持。这是大多数分布式系统和服务导向型架构的关键组件。利用服务发现,当您的微服务组件在给定基础设施上创建和终止时,系统将自动发现它们。

  • 支持将容器实例日志信息发送到 CloudWatch Logs。将此信息发送到 Amazon CloudWatch 后,您可以在一个方便位置查看容器实例中的日志。这可防止您的容器日志占用容器实例上的磁盘空间。

Amazon 容器服务团队在 GitHub 上维护着公有路线图。该路线图包含有关团队工作的信息,并允许所有 Amazon 客户提供直接反馈。有关更多信息,请参阅 GitHub 网站上的 Amazon容器路线图

启动类型

您可以使用两种模型来运行容器:

  • Fargate 启动类型 - 这是一个无服务器随用随付选项。您可以在无需管理基础设施的情况下运行容器。

  • EC2 启动类型 - 在集群中配置和部署 EC2 实例以运行容器。

Fargate 启动类型适用于以下工作负载:

  • 需要针对低开销进行优化的大型工作负载

  • 偶尔会突增的小型工作负载

  • 小工作负载

  • 批处理工作负载

EC2 启动类型适用于以下工作负载:

  • 需要持续高 CPU 核心和内存使用率的工作负载

  • 需要针对价格进行优化的大型工作负载

  • 您的应用程序需要访问持久性存储

  • 您必须直接管理您的基础设施

访问 Amazon ECS

您可以使用以下任意接口创建、访问和管理 Amazon ECS 资源:

  • Amazon Web Services Management Console — 提供了一个可用来访问 Amazon ECS 资源的 Web 界面。

  • Amazon Command Line Interface()Amazon CLI— 为众多 Amazon 服务(包括 Amazon ECS)提供命令。它在 Windows、Mac 和 Linux 上受支持。有关更多信息,请参阅Amazon Command Line Interface

  • Amazon 开发工具包 — 提供特定于语言的 API 并关注许多连接详细信息。这些工具包括计算签名、处理请求重试和错误处理。有关更多信息,请参阅 Amazon 软件开发工具包

  • Amazon Copilot — 为开发人员提供开源工具,以便在 Amazon ECS 上构建、发布和运行生产就绪型容器化应用程序。有关更多信息,请参阅 GitHub 网站上的 Amazon Copilot

  • Amazon ECS CLI — 提供命令行界面,以便您使用 Docker Compose 文件格式在 Amazon ECS 和 Amazon Fargate 上运行应用程序。您可以快速预置资源,使用 Amazon Elastic Container Registry 推送并拉取映像,并监控 Amazon ECS 或 Fargate 上正在运行的应用程序。您还可以在 CLI 中测试本地运行的容器以及云中的容器。有关更多信息,请参阅 GitHub 网站上的 Amazon ECS CLI

  • Amazon CDK — 提供开源软件开发框架,您可以通过它使用熟悉的编程语言对云应用程序资源进行建模和预置。Amazon CDK 通过 Amazon CloudFormation 以安全、可重复的方式预置资源。有关更多信息,请参阅使用 Amazon CDK 的 Amazon ECS 入门

定价

Amazon ECS 的定价取决于您是使用 Amazon Fargate 还是 Amazon EC2 基础设施来托管您的容器化化工作负载。在 Amazon Outposts 上使用 Amazon ECS 时,则定价采用与您直接使用 Amazon EC2 时相同的模式。有关更多信息,请参阅 Amazon ECS 定价

Amazon ECS 和 Fargate 还根据您的 Amazon 使用情况提供重要保存的 Savings Plans。有关更多信息,请参阅 Savings Plans 用户指南

若要查看您的账单,请转到 Amazon Billing and Cost Management 控制台中的 账单和成本管理控制面板。您的账单中包含了提供您的账单更多详情的使用情况报告的链接。要了解有关 Amazon 账户账单的更多信息,请参阅 Amazon 账户账单

如果您有关于 Amazon 账单、账户和事件的问题,请联系 Amazon Support

Trusted Advisor 是一项可用于帮助您优化成本、安全性和您的 Amazon 环境性能的服务。有关 Trusted Advisor 的更多信息,请参阅 Amazon Trusted Advisor