Amazon Fargate 容器映像提取行為上的 Linux 容器 ECS - Amazon Elastic Container Service

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

Amazon Fargate 容器映像提取行為上的 Linux 容器 ECS

每個 Fargate 任務都在其自己的單一使用單一租用戶執行個體上執行。當您在 Fargate 上執行 Linux 容器時,不會在執行個體上快取容器映像檔或容器映像層。因此,對於任務中定義的每個容器映像,需要從每個 Fargate 任務的容器映像註冊表中提取整個容器映像。提取圖像所花費的時間與開始 Fargate 任務所花費的時間直接相關。

請考慮以下幾點,以最佳化影像提取時間。

容器映像接近

若要減少下載容器映像所需的時間,請盡可能將資料定位在靠近運算的位置。透過網際網路或跨越擷取容器映像檔 AWS 區域 可能會影響下載時間。建議您將容器映像儲存在執行工作的相同區域中。如果您將容器映像存放在 AmazonECR,請使用VPC界面端點進一步縮短映像提取時間。如需詳細資訊,請參閱 Amazon ECR使用者指南中的 Amazon ECR 界面VPC端點 (AWS PrivateLink)

容器圖像尺寸縮小

容器映像檔的大小會直接影響下載時間。減少容器映像的大小或容器圖像層的數量,可以減少下載圖像所需的時間。輕量型基本映像 (例如最小的 Amazon Linux 2023 容器映像) 可能比以傳統作業系統基礎映像為基礎的映像檔要小得多。如需有關最小映像檔的詳細資訊,請參閱 Amazon Linux 20 AL2 23 使用者指南中的 023 最小容器映像檔。

替代壓縮演算法

容器映像層通常會在推送至容器映像登錄時壓縮。壓縮容器映像層可減少必須透過網路傳輸並儲存在容器映像登錄中的資料量。在容器執行階段將容器影像圖層下載至實體之後,該圖層就會解壓縮。使用的壓縮演算法和執行階段 vCPUs 可用的數量會影響解壓縮容器映像所需的時間。在 Fargate 上,您可以增加任務的大小或利用更高效的 zstd 壓縮算法來減少解壓縮所花費的時間。如需詳細資訊,請參閱中的 ztsd。 GitHub如需如何實作 Fargate 映像的相關資訊,請參閱使用 zstd 壓縮容器映像縮短 AWS Fargate 啟動時間

延遲加載容器圖像

對於大型容器映像(> 250mb),延遲加載容器映像而不是下載所有容器映像可能是最佳選擇。在 Fargate 上,您可以使用 Seekable OCI (SOCI) 從容器映像註冊表延遲加載容器映像。有關更多信息,請參閱社交快照 GitHub 和使用 Seekable()延遲加載容器圖像。OCI SOCI