

# 面向 Amazon ECS 的 AWS Fargate 架构
<a name="AWS_Fargate"></a>

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

使用 Fargate 运行任务和服务时，您可以将应用程序打包到容器中，指定 CPU 和内存要求，定义网络和 IAM 策略，然后启动应用程序。每个 Fargate 任务都具有自己的隔离边界，不与其他任务共享底层内核、CPU 资源、内存资源或弹性网络接口。通过将 `requiresCompatibilities` 任务定义参数设置为 `FARGATE`，您可以为 Fargate 配置任务定义。有关更多信息，请参阅 [容量](task_definition_parameters.md#requires_compatibilities)。

Fargate 提供适用于 Amazon Linux 2（平台版本 1.3.0）、Bottlerocket 操作系统（平台版本 1.4.0）以及 Microsoft Windows 2019 Server 完整版和核心版的平台版本。除非另有说明，否则该信息适用于所有 Fargate 平台。

有关在 Fargate 上支持 Linux 容器的区域的信息，请参阅 [AWS Fargate 上的 Linux 容器](AWS_Fargate-Regions.md#linux-regions)。

有关在 Fargate 上支持 Windows 容器的区域的信息，请参阅 [AWS Fargate 上的 Windows 容器](AWS_Fargate-Regions.md#windows-regions)。

## 演练
<a name="fargate-walkthrough"></a>

有关如何开始使用控制台的信息，请参阅：
+ [了解如何为 Fargate 创建 Amazon ECS Linux 任务](getting-started-fargate.md)
+ [了解如何为 Fargate 创建 Amazon ECS Windows 任务](Windows_fargate-getting_started.md)

有关如何开始使用 AWS CLI 的信息，请参阅：
+ [使用 AWS CLI 为 Fargate 创建 Amazon ECS Linux 任务](ECS_AWSCLI_Fargate.md)
+ [使用 AWS CLI 为 Fargate 创建 Amazon ECS Windows 任务](ECS_AWSCLI_Fargate_windows.md)

## 容量提供程序
<a name="fargate-spot"></a>

提供以下容量提供程序：
+ Fargate
+ Fargate Spot – 按照与 AWS Fargate 价格相比的折扣价格运行能够容忍中断的 Amazon ECS 任务。Fargate Spot 在备用计算容量上运行任务。当 AWS 需要恢复容量时，您的任务将被中断，并发出两分钟的警告。有关更多信息，请参阅 [Fargate 的 Amazon ECS 集群](fargate-capacity-providers.md)。

## 任务定义
<a name="fargate-task-defintion"></a>

Fargate 任务并非支持所有可用的 Amazon ECS 任务定义参数。某些参数完全不受支持，而其他参数对于 Fargate 任务的行为则不同。有关更多信息，请参阅 [任务 CPU 和内存](fargate-tasks-services.md#fargate-tasks-size)。

## 平台版本
<a name="fargate-platform-versions"></a>

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

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

如果发现影响现有平台版本的安全问题，AWS 将为该平台版本创建新的补丁修订版，并停止在有漏洞的修订版上运行的任务。在某些情况下，您可能会收到计划停止您在 Fargate 上的任务的通知。有关更多信息，请参阅 [Amazon ECS 上的 AWS Fargate 的任务停用和维护](task-maintenance.md)。

有关更多信息，请参阅 [适用于 Amazon ECS 的 Fargate 平台版本](platform-fargate.md)。

## 服务负载均衡
<a name="fargate-tasks-services-load-balancing"></a>

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

AWS Fargate 上的 Amazon ECS 服务支持应用程序负载均衡器、网络负载均衡器和网关负载均衡器等负载均衡器类型。应用程序负载均衡器用于路由 HTTP/HTTPS（或第 7 层）流量。网络负载均衡器用于路由 TCP 或 UDP（或第 4 层）流量。有关更多信息，请参阅 [使用负载均衡分配 Amazon ECS 服务流量](service-load-balancing.md)。

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

只有在使用平台版本 1.4 或更高版本时，才支持使用网络负载均衡器将 UDP 流量路由到 AWS Fargate 任务上的 Amazon ECS。

## 使用情况指标
<a name="fargate-usage-metrics"></a>

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

AWS Fargate 用量指标与 AWS 服务配额对应。您可以配置警报，以在用量接近服务配额时向您发出警报。有关 AWS Fargate 服务配额的更多信息，请参阅 *Amazon Web Services 一般参考* 中的 [Amazon ECS 端点和配额](https://docs.aws.amazon.com/general/latest/gr/ecs-service.html)。

有关 AWS Fargate 使用率指标的更多信息，请参阅 [AWS Fargate 使用率指标](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/monitoring-fargate-usage.html)。