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

什么是 Amazon Fargate?

Amazon Fargate 是可与 Amazon ECS 结合使用的技术,使您在运行容器时不必管理 Amazon EC2 实例的服务器或集群。使用 Fargate,您不必再预配置、配置或扩展虚拟机集群即可运行容器。这样一来,您就无需再选择服务器类型、确定扩展集群的时间和优化集群打包。

运行具有 Fargate 启动类型或 Fargate 容量提供程序的 Amazon ECS 任务和服务时,将应用程序打包到容器中,指定操作系统、CPU 和内存要求,定义联网和 IAM 策略,然后启动应用程序。每个 Fargate 任务都具有自己的隔离边界,不与其他任务共享底层内核、CPU 资源、内存资源或弹性网络接口。

有关 Fargate 架构的信息,请参阅 Amazon Elastic Container Service 开发人员指南中的使用 Fargate 启动类型

本主题介绍 Fargate 任务和服务的不同组件,还列出了将 Fargate 与 Amazon ECS 结合使用时的特别注意事项。

组件

集群

Amazon ECS 集群是任务或服务的逻辑分组。您可以使用集群隔离应用程序。当您的任务在 Fargate 上运行时,您的群集资源也由 Fargate 托管。

任务定义

任务定义是描述构成应用程序的一个或多个容器的文本文件。该文件以 JSON 格式。您可以使用它来描述最多 10 个容器。任务定义可以用作应用程序的蓝图。它为您的应用程序指定各种参数。例如,您可以使用它指定操作系统的参数、要使用哪些容器、要为应用程序打开哪些端口以及任务中的容器应使用哪些数据卷。可用于任务定义的特定参数取决于您的特定应用程序需求。

您的整个应用程序堆栈不需要存在于单个任务定义上。实际上,我们建议您的应用程序跨越多个任务定义。您的应用程序可通过将相关容器组合到其自己的任务定义(每个任务定义表示一个组件)中来操作。

任务

任务 是集群内的任务定义的实例化。在为 Amazon ECS 中的应用程序创建任务定义后,您可以指定将在集群上运行的任务的数量。您可以运行独立任务,也可以将任务作为服务的一部分运行。

服务

您可以使用 Amazon ECS 服务在 Amazon ECS 集群中同时运行和维护所需数量的任务。它的工作原理是,如果您的任何任务出于任何原因失败或停止,Amazon ECS 服务调度器将根据您的任务定义启动另一个实例。这样做是为了替换它,从而保持服务中所需的任务数量。

操作系统和 CPU 架构

支持以下操作系统:

  • Amazon Linux 2

  • Windows Server 2019 Full

  • Windows Server 2019 Core

如果您在 Fargate 上使用 Windows 容器,请查看 Amazon Fargate 上的 Windows 容器注意事项

有 2 个架构可用于 Amazon ECS 任务定义 ARM 和 X86_64。

当您在 Fargate 上运行 Windows 容器时,您必须具有 X86_64 CPU 架构。

当您在 Fargate 上运行 Linux 容器时,您可以使用 X86_64 CPU 架构,也可以使用 ARM64 架构用于基于 ARM 的应用程序。有关更多信息,请参阅使用 Amazon ECS 上的 64 位 ARM 工作负载

区域

有关在 Fargate 上支持 Linux 容器的区域的信息,请参阅 Linux 容器在 Amazon Fargate 上的支持区域

有关在 Fargate 上支持 Windows 容器的区域的信息,请参阅 Windows 容器在 Amazon Fargate 上的支持区域

Amazon Fargate 上的 Windows 容器注意事项

Amazon Fargate 上的 Windows 容器支持以下操作系统:

  • Windows Server 2019 Full

  • Windows Server 2019 Core

Amazon 处理操作系统许可证管理,因此您不需要任何额外的 Microsoft 许可证。

Amazon Fargate 上的 Windows 容器支持 awslog 驱动程序。有关更多信息,请参阅使用 awslogs 日志驱动程序

您的任务可以运行 Linux 容器或 Windows 容器。如果您需要运行两种容器类型,必须创建单独的任务。

Fargate 上的 Windows 容器上不支持以下功能:

  • 组托管服务账户(gMSA)

  • Amazon FSx

  • ENI 中继

  • 针对任务的 App Mesh 服务和代理集成

  • Firelens 日志路由器集成用于任务

  • 可配置短暂存储

  • EFS 卷

  • Fargate Spot 容量提供程序

  • 映像卷

    Dockerfile volume 选项被忽略。改为在任务定义中指定绑定挂载。有关更多信息,请参阅绑定挂载

入门演练

下面的演练可帮助您了解如何开始在 Fargate 上使用 Amazon ECS。

有关 Amazon Elastic Container Service 的更多信息,请参阅什么是 Amazon ECS?

定价

在 Amazon Fargate 上使用 Amazon ECS,则需要为任务使用的 vCPU 和内存资源付费。有关更多信息,请参阅 Fargate 定价

Fargate 还提供 Savings Plans,大幅节约 Amazon 使用开支。有关更多信息,请参阅 Savings Plans 用户指南

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

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

Trusted Advisor 可帮助您优化成本、安全性和您的 Amazon 环境性能,有关其概述,请参阅 Amazon Trusted Advisor