

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 為 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 的任務定義。如需詳細資訊，請參閱[Capacity](task_definition_parameters.md#requires_compatibilities)。

Fargate 提供多種平台版本，包括 Amazon Linux 2 (平台版本 1.3.0)、Bottlerocket 作業系統 (平台版本 1.4.0) 以及 Microsoft Windows 2019 Server Full 與 Core 版本。除非另有說明，否則相關資訊適用於所有 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，請參閱：
+ [使用 為 Fargate 建立 Amazon ECS Linux 任務 AWS CLI](ECS_AWSCLI_Fargate.md)
+ [使用 為 Fargate 建立 Amazon ECS Windows 任務 AWS CLI](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 服務，支援 Application Load Balancer、Network Load Balancer 與 Gateway Load Balancer 負載平衡器類型。Application Load Balancer 用於路由 HTTP/HTTPS (或 Layer 7) 流量。Network Load Balancer 用於路由 TCP 或 UDP (或 Layer 4) 流量。如需詳細資訊，請參閱[使用負載平衡分佈 Amazon ECS 服務流量](service-load-balancing.md)。

當您為這些服務建立目標群組時，必須選擇 `ip` 作為目標類型，而不是選擇 `instance`。因為採用 `awsvpc` 網路模式的任務是與彈性網路界面相關聯，而非與 Amazon EC2 執行個體相關聯。如需詳細資訊，請參閱[使用負載平衡分佈 Amazon ECS 服務流量](service-load-balancing.md)。

當使用平台版本 1.4 或更高版本時，只支援使用 Network Load Balancer 將 UDP 流量路由到 AWS Fargate 上的 Amazon ECS 任務。

## 用量指標
<a name="fargate-usage-metrics"></a>

您可以使用 CloudWatch 用量指標來提供您帳戶的資源用量可見度。使用這些指標，以 CloudWatch 圖表和儀表板視覺化目前的服務使用狀況。

AWS Fargate 用量指標對應至 AWS 服務配額。您可以設定警示，在您的用量接近服務配額時發出警示。如需有關 AWS Fargate 服務配額的詳細資訊，請參閱 *Amazon Web Services 一般參考* 中的 [Amazon ECS endpoints and quotas](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)。