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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

什么是 Amazon Elastic Container Service?

Amazon Elastic Container Service (Amazon ECS)是一种高度可扩展的快速容器管理服务, 易于在群集上运行、停止和管理容器。您的容器在任务中定义 定义,用于运行单个任务或作为服务使用。您可以执行任务, 无服务器基础设施上的服务,由 AWS Fargate 或者,更多 掌控您的基础设施,您可以在 Amazon EC2 管理的实例。

Amazon ECS 通过简单的API启动和停止基于容器的应用程序 致电。您还可以从集中服务检索群集状态,以及 现有用户 Amazon EC2,访问许多熟悉的 Amazon EC2 功能。

您可以根据自己的 资源需求、隔离策略和可用性要求。有 Amazon ECS,您不会 必须运行自己的集群管理和配置管理系统,或担心 管理基础设施的扩展。

Amazon ECS 可用于创建一致的部署和构建经验,管理,以及 调整批处理和提取-转换-加载(ETL)工作量,并构建复杂的应用程序 微服务模型上的架构。更多关于 Amazon ECS 使用案例和 方案,请参阅 容器使用案例.

的 AWS 容器服务团队在GitHub上维护公共路线图。路线图 包含有关团队工作内容的信息,并允许 AWS 客户, 提供直接反馈。更多信息,请参阅 AWS 集装箱路线图.

特征 Amazon ECS

Amazon ECS 是一种区域服务,可简化在高度可用的 区域内多个可用区域的方式。您可以创建 Amazon ECS 簇 在新的或现有的VPC范围内。群集启动并运行后,您可以创建任务 定义定义要在群集中运行的容器图像。您的任务 定义用于运行任务或创建服务。容器图像存储在和 例如,从集装箱登记处 Amazon Elastic Container Registry.

下图显示了 Amazon ECS 环境在 AWS Fargate.


                显示 Amazon ECS 使用
                    Fargate 启动类型。

以下章节详细介绍了 Amazon ECS 架构 更多详细信息。

容器和图像

要在上部署应用程序 Amazon ECS,您的应用程序组件必须进行架构设计 进入 容器. 容器是 软件开发,包含您的软件应用程序所需的一切 运行:代码、运行时间、系统工具、系统库等。容器创建自 一个名为 图像.

图像通常由一个用于指定所有 的组件。然后,这些图片 并储存在 登记 可以下载, 在群集上运行。有关容器技术的更多信息,请参阅 Amazon ECS 的 Docker 基本知识.


                    显示在 Amazon ECS
                        环境。

任务定义

准备要运行的应用程序 Amazon ECS,您创建一个 任务 定义. 任务定义是以JNS格式编写的文本文件, 描述了一个或多个构成您 应用程序。它可被视为您应用程序的蓝图。任务 定义为您的应用程序指定各种参数。任务示例 定义参数包括要使用的容器、应打开的端口 以及哪些数据量应该用于 任务。任务定义可用的特定参数取决于 申请需求。有关创建任务定义的更多信息,请参阅 Amazon ECS 任务定义.

以下是包含单个容器的任务定义示例 将运行在 Fargate. 更多 证明在任务定义中使用多个容器的扩展示例, 看到 示例任务定义.

{ "family": "webserver", "containerDefinitions": [ { "name": "web", "image": "nginx", "memory": "100", "cpu": "99" }, ], "requiresCompatibilities": [ "FARGATE" ], "networkMode": "awsvpc", "memory": "512", "cpu": "256", }

任务和时间安排

A 任务 是任务定义的实例化 群集。在中为应用程序创建任务定义后 Amazon ECS, 您可以指定在群集上运行的任务数量。

的 Amazon ECS 任务调度程序负责将任务放入群集中。有几种不同的调度选项可用。例如,您可以 定义 服务 运行并维持指定数量的 同时执行任务。有关不同时间安排选项的更多信息 可用,请参阅 调度 Amazon ECS 任务.


                    显示任务安排和放置的图表 Amazon ECS
                        使用 Fargate 启动类型。

Clusters

安 Amazon ECS 聚类 是任务或服务的逻辑分组。您可以登记一个或多个 Amazon EC2 实例,也称为 容器实例 使用群集来运行任务,或 您可以使用 Fargate 提供。当你的任务 运行于 Fargate,您的群集资源由管理 Fargate.

当您第一次使用 Amazon ECS,将为您创建默认群集,但您可以 一个客户中的多个群集,将您的资源分开。

有关创建群集的更多信息,请参阅 Amazon ECS 集群. 有关启动容器的更多信息 实例并将其注册到群集中,请参阅 Amazon ECS 容器实例.

容器代理

容器代理 在 Amazon ECS 群集。它发送有关资源当前运行任务的信息,以及 资源利用情况 Amazon ECS,并且每当收到 请求来自 Amazon ECS. 更多信息,请参阅 Amazon ECS 容器代理.


                    显示容器代理任务的图表 Amazon ECS
                        环境。

如何开始 Amazon ECS

如果您正在使用 Amazon ECS 第一次, AWS 管理控制台 对于 Amazon ECS 提供 第一次运行向导,引导您定义Web服务器的任务定义, 配置服务,并启动第一个 Fargate 任务。的 强烈建议没有使用体验的用户使用first-run向导 Amazon ECS. 更多信息,请参阅 通过 Fargate 开始使用 Amazon ECS 教程。

或者,您可以安装 AWS Command Line Interface (AWS CLI)要使用的 Amazon ECS. 更多 信息,请参阅 使用 Amazon ECS 进行设置.

Amazon ECS 可与以下工具一起使用 AWS 服务:

AWS Identity and Access Management

IAM 是一种网络服务,可帮助您安全地控制对ASE的访问 资源。使用 IAM 控制谁可以使用您的 资源(身份验证)以及他们可以使用哪些资源 (授权)。在 Amazon ECS, IAM 可用于控制 容器实例级别,使用 IAM 角色,在任务级别使用 IAM 任务角色。更多信息,请参阅 身份和访问管理 Amazon Elastic Container Service.

Amazon EC2 Auto Scaling

Auto Scaling 是一种网络服务,允许您自动向外扩展或 根据用户定义的策略、健康状况检查以及 时间表。您可以使用 Auto Scaling 有 Fargate 任务 服务进行扩展,以响应许多指标 或 EC2 扩大容器实例规模的任务 在你的集群中. 更多信息,请参阅 服务 Auto Scaling.

Elastic Load Balancing

Elastic Load Balancing 自动在 任务 Amazon ECS 服务。它使您能够达到更高的 应用故障容差,无缝提供所需的 分配应用程序流量所需的负载均衡能力。您可以使用 Elastic Load Balancing 创建一个平衡整个 服务。更多信息,请参阅 服务负载均衡.

Amazon Elastic Container Registry

Amazon ECR 是管理的 AWS 安全、可扩展、 且可靠。 Amazon ECR 支持专用的基于资源的Docker存储库 权限使用 IAM 以便特定用户或任务可以访问 库和图片。开发人员可以使用DockerCLI来推动、拉动、 并管理图片。更多信息,请参阅 Amazon Elastic Container Registry 用户指南.

AWS CloudFormation

AWS CloudFormation 为开发人员和系统管理员提供了一种轻松创建 并管理相关 AWS 资源、供应和 以有序和可预测的方式更新它们。您可以定义 群集、任务定义和服务作为实体 AWS CloudFormation 脚本。对于 更多信息,请参阅 ASMCloudFormation模板 参考.

访问 Amazon ECS

您可以与 Amazon ECS 采取以下方式:

AWS 管理控制台

的 AWS 管理控制台 是一个基于浏览器的界面,用于管理 Amazon ECS 资源。的 控制台提供服务的直观概览。你可以通过 在探索新事物的同时,轻松完成教程和演示 Amazon ECS 功能,无 需要其他工具。如需指导您完成 控制台,请参阅 Amazon ECS 入门.

AWS CloudFormation 或Terraform

AWS CloudFormation 或Terraform Amazon ECS 是定义您的 基础设施即代码。它们使您能够轻松跟踪 您的模板或 AWS CloudFormation 堆栈随时运行,然后回滚至 之前的版本。您可以执行基础设施和应用程序部署 以相同的自动化方式, AWS CloudFormation 和Terraform的常用格式, 部署工作量 Amazon ECS 持续交付渠道。

更多关于 AWS CloudFormation,见 使用 AWS CloudFormation 创建 Amazon ECS 资源.

AWS Copilot CLI

的 AWS Copilot CLI是一个使用户能够部署和 操作包装在容器和环境中的应用程序, Amazon ECS. 它是 一个使客户能够直接部署应用程序的综合性工具 而不需要了解 AWS 和 Amazon ECS 原语,例如 应用程序负载均衡器、公共网络、任务、服务和群集。 AWS Copilot 创造 AWS 代表您从有意见的服务中获得资源 模式,例如负载平衡网络服务或备份服务 为容器化 应用程序。您可以通过 AWS CodePipeline 跨多个 环境、客户或区域均在CLI本身中可管理。 AWS Copilot 使您能够执行操作员任务,例如查看日志 和服务的健康状况。

AWS Copilot 是一个单一工具,使用户能够首先关注应用程序。更多信息,请参阅 使用 AWS Copilot 命令行界面.

AWS CDK

的 AWS 云开发工具包 (AWS CDK) 是一个用于建模的开源软件开发框架 并使用熟悉的编程配置您的云应用程序资源 语言。 AWS CDK 以安全、可重复的方式提供资源 至 AWS CloudFormation. 使用CDK,用户可以利用 减少代码行,并使用与其应用程序相同的语言。 Amazon ECS 提供了CDK模块,名为 ecs-patterns 从而 共同的架构。可用的模式是 ApplicationLoadBalancedFargateService() 从而创建 群集、任务定义和其他资源,以运行负载平衡 Amazon ECS 服务 AWS Fargate. 更多信息,请参阅 创建 Amazon ECS 于 AWS Fargate 使用 AWS CDKAWS 云开发工具包 (AWS CDK) 开发人员指南.

AWS CLI

的 AWS Command Line Interface (AWS CLI)是管理您的 AWS 服务。使用单一工具下载和配置,您可以控制多个 AWS 并通过脚本实现自动化。的 Amazon ECS 命令 AWS CLI 反映了 Amazon ECS API。使用 AWS CLI 是 有利于喜欢使用一线工具和编写脚本但同时 确切知道对他们采取什么行动 Amazon ECS 资源或用户 希望进一步了解 Amazon ECS API。

AWS 提供两组命令线工具: AWS Command Line Interface (AWS CLI)和 适用于 Windows PowerShell 的 AWS 工具. 更多信息,请参阅 AWS Command Line Interface 用户指南 以及 适用于 Windows PowerShell 的 AWS 工具 用户 指南.

Amazon ECS CLI

的 Amazon ECS CLI使用户能够在 Amazon ECS 和 AWS Fargate 使用DockerCompose文件格式。您可以快速 提供资源,使用 Amazon ECR,并监控运行 应用程序打开 Amazon ECS 或 AWS Fargate. 您还可以测试运行中的容器 以及CLI中的云中的容器。更多 信息,请参阅 使用 Amazon ECS 命令行界面.

的DockerCLI插件 Amazon ECS

AWS 和Docker合作简化了 体验,使您能够在上部署和管理容器 Amazon ECS 直接通过Docker工具。现在您可以构建和测试您的容器 本地使用Docker桌面和DockerCompose,然后将其部署至 Amazon ECS 于 Fargate 通过同一CLI。

的DockerCLI插件 Amazon ECS 目前处于Beta阶段。更多 信息,请参阅 Docker 适用于alirocumabECS的CLI插件 GitHub上。

AWS SDKs

我们还提供可使您访问 Amazon ECS 各种 编程语言。SDK自动处理任务, 如下:

  • 以加密方式签署您的服务请求

  • 正在重试请求

  • 处理错误回答

有关可用SDK的更多信息,请参阅 适用于alirocumabWeb的工具 服务.

Pricing

Amazon ECS 定价取决于您是否使用 AWS Fargate 或 Amazon EC2 以承载您的容器化工作量。当使用 Amazon ECS 于 AWS Outposts, 定价遵循与使用 Amazon EC2. 更多信息,请参阅 Amazon ECS 定价.

Amazon ECS 和 Fargate 同时提供 Savings Plans 从而大大节省您的 AWS 使用. 更多信息,请参阅 Savings Plans 用户指南.

要查看您的账单,请转到 财务记账和成本管理面板AWS Billing and Cost Management 话务台. 您的账单 包含提供账单详情的使用报告链接。了解更多信息 关于 AWS 账户开票,请参阅 AWS 客户 开票.

如果您对 AWS 账单、账户和活动, 联系 AWS 支持.

有关可信赖顾问的概述,该服务可以帮助您优化成本, 安全,以及您的 AWS 环境,请参阅 AWS 值得信赖的顾问.