Amazon Fargate 上的 Amazon ECS - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon Fargate 上的 Amazon ECS

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

您在运行使用 Fargate 启动类型的任务和服务时,您需要将应用程序打包到容器中、指定 CPU 和内存要求、定义联网和 IAM policy 并启动应用程序。每个 Fargate 任务都具有自己的隔离边界,不与其他任务共享底层内核、CPU 资源、内存资源或弹性网络接口。通过将 requiresCompatibilities 任务定义参数设置为 FARGATE,您可以为 Fargate 配置任务定义。有关更多信息,请参阅 启动类型

Fargate 为 Amazon Linux 2 以及 Microsoft Windows 2019 Server Full 和 Core 版本提供平台版本。除非另有说明,否则本页面上的信息适用于所有 Fargate 平台。

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

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

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

Fargate 演练

有关如何开始使用控制台的信息,请参阅:

有关如何开始使用 Amazon CLI 的信息,请参阅:

容量提供程序

提供以下容量提供程序:

  • Fargate

  • Fargate Spot – 按照与 Amazon Fargate 价格相比的折扣价格运行能够容忍中断的 Amazon ECS 任务。Fargate Spot 在备用计算容量上运行任务。当 Amazon 需要恢复容量时,您的任务将被中断,并发出两分钟的警告。有关更多信息,请参阅 Fargate 启动类型的 Amazon ECS 集群

    您只能将 Fargate Spot 用于使用 X86 架构的 Linux 任务。

任务定义

使用 Fargate 启动类型的任务并非支持所有可用的 Amazon ECS 任务定义参数。某些参数完全不受支持,而其他参数对于 Fargate 任务的行为则不同。有关更多信息,请参阅 任务 CPU 和内存

平台版本

Amazon Fargate 平台版本用于指代 Fargate 任务基础设施的特定运行时环境。它是内核和容器运行时版本的组合。在运行任务或创建维护多个相同任务的服务时,您可以选择平台版本。

随着运行时环境的发展,例如,如果有内核或操作系统更新、新功能、错误修复或安全更新,将会发布新的平台版本修订版。Fargate 平台版本通过进行新的平台版本修订来更新。每个任务在其生命周期内都在一个平台版本修订版上运行。如果您想使用最新的平台版本修订版,则必须启动新任务。在 Fargate 上运行的新任务始终在平台版本的最新修订版上运行,从而确保了任务始终在安全的、经过修补的基础设施上启动。

如果发现影响现有平台版本的安全问题,Amazon 将为该平台版本创建新的补丁修订版,并停止在有漏洞的修订版上运行的任务。在某些情况下,您可能会收到计划停止您在 Fargate 上的任务的通知。有关更多信息,请参阅 Amazon Fargate 任务维护常见问题解答

有关更多信息,请参阅Fargate Linux 平台版本Fargate Windows 平台版本

服务负载均衡

您可以选择将 Amazon Fargate 上的 Amazon ECS 服务配置为使用 Elastic Load Balancing 平均分配服务中的任务流量。

Amazon Fargate 上的 Amazon ECS 服务支持 Application Load Balancer 和 Network Load Balancer 负载均衡器类型。Application Load Balancers 用于路由 HTTP/HTTPS (或第 7 层) 流量。Network Load Balancers 用于路由 TCP 或 UDP(或第 4 层)流量。有关更多信息,请参阅 使用负载均衡分配 Amazon ECS 服务流量

当您为这些服务创建任何目标组时,必须选择 ip 而不是 instance 作为目标类型。这是因为使用 awsvpc 网络模式的任务与弹性网络接口而不是 Amazon EC2 实例关联。有关更多信息,请参阅 使用负载均衡分配 Amazon ECS 服务流量

只有在使用平台版本 1.4 或更高版本时,才支持使用 Network Load Balancer 将 UDP 流量路由到 Amazon Fargate 任务上的 Amazon ECS。

使用情况指标

您可以使用 CloudWatch 用量指标来提供账户资源使用情况的可见性。这些指标可在 CloudWatch 图表和控制面板上直观呈现当前的服务使用情况。

Amazon Fargate 用量指标与 Amazon 服务配额对应。您可以配置警报,以在用量接近服务限额时向您发出警报。有关 Amazon Fargate 服务配额的更多信息,请参阅 Amazon Fargate 服务限额

有关 Amazon Fargate 使用情况指标的更多信息,请参阅 Amazon Fargate 的 Amazon Elastic Container Service 用户指南中的 Amazon Fargate 使用情况指标