什么是 Amazon Elastic Container Service?
Amazon Elastic Container Service(Amazon ECS)是完全托管的容器编排服务,可帮助您轻松地部署、管理和扩展容器化应用程序。作为完全托管式服务,Amazon ECS 内置有 Amazon 配置和操作最佳实践。这还意味着,您不需要管理控制面板、节点或附加组件。它与 Amazon 和第三方工具(例如 Amazon Elastic Container Registry 和 Docker)集成。这种集成使团队更容易专注于构建应用程序而不是环境。您可以在云端和本地跨 Amazon Web Services 区域 运行和扩展容器工作负载,而无需以复杂的方式管理控制面板或节点。
以下是 Amazon ECS 的主要功能:
-
带有 Amazon Fargate 的无服务器选项。使用 Amazon Fargate,您无需管理服务器、处理容量计划或隔离容器工作负载即可获得安全。Fargate 为您处理工作负载的基础设施管理方面。您可以根据资源需求、隔离策略和可用性要求,在集群中安排容器的放置。
-
带有 ECS Anywhere 的外部实例选项。通过 ECS Anywhere,您可以使用 Amazon ECS 控制台和 Amazon CLI 来管理您的本地容器工作负载。
-
Amazon EC2 选项。通过 EC2,您可以使用 Amazon ECS 控制台和 Amazon CLI 来管理您的 EC2 实例。
-
集成 Amazon Identity and Access Management(IAM)。您可以为每个容器分配精细权限。这允许在构建应用程序时实现高级别的隔离。换句话说,您可以通过 Amazon 预计会提供的安全和合规性级别来启动容器。
-
Amazon 托管的容器编排。
-
持续集成和持续部署(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 Support
Trusted Advisor 是一项可用于帮助您优化成本、安全性和您的 Amazon 环境性能的服务。有关 Trusted Advisor 的更多信息,请参阅 Amazon Trusted Advisor