什么是 Amazon Elastic Container Service? - Amazon Elastic Container Service

什么是 Amazon Elastic Container Service?

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

Amazon ECS 提供以下功能:

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

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

  • AWS 托管的容器编排。作为完全托管式服务,Amazon ECS 内置有 AWS 配置和操作最佳实践。这还意味着,您不需要管理控制面板、节点或附加组件。它与 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 后,您可以在一个方便位置查看容器实例中的日志。这可防止您的容器日志占用容器实例上的磁盘空间。

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

启动类型

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

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

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

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

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

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

  • 小工作负载

  • 批处理工作负载

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

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

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

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

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

访问 Amazon ECS

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

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

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

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

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

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

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

定价

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

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

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

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

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