我想要增加從 AWS 管理主控台啟動的 Amazon Elastic Container Service (Amazon ECS) 容器執行個體的可用磁碟空間。
簡短描述
若要增加容器執行個體的儲存空間,請先啟動替換執行個體。然後,終止原本的執行個體。
如果您使用了其他方法啟動執行個體,請根據您的使用案例,完成以下其中一篇文章中的步驟:
**注意:**您的 Amazon Elastic Block Store (Amazon EBS) 磁碟區組態可能會因您所使用的 Amazon ECS 最佳化 Amazon Machine Image (AMI) 而異。如需詳細資訊,請參閱 AMI 儲存組態。
解決方法
**重要:**下列步驟會終止 Amazon ECS 叢集中的原始容器執行個體。完成以下步驟後,這些執行個體的 EBS 磁碟區上儲存的所有資料都會遺失。
更新儲存大小並啟動替換執行個體
- 開啟 Amazon ECS 主控台,然後選取要啟動新容器執行個體的 ECS 叢集。
- 請記下目前在您的 Auto Scaling 群組中執行的執行個體。
- 開啟 AWS CloudFormation 主控台,然後選取您 ECS 叢集的堆疊。
**注意:**堆疊名稱的格式如下: EC2ContainerService-yourEcsClusterName。
- 選擇 Actions (動作),然後選擇 Update Stack (更新堆疊)。
- 在 Select Template (選取範本) 區段中,選擇 Use current template (使用目前範本),然後選擇 Next (下一步)。
- 將 EBsVolumeSize 參數設定為執行個體所需的新大小 (以 GB 為單位)。
- 設定 AsgMaxSize 參數,以增加 Auto Scaling 群組的大小,然後啟動新的替換執行個體。
**注意:**對於針對 Amazon ECS 最佳化的 Amazon Linux 1 AMI,請將 /dev/xvda 用於作業系統。此外,對於使用邏輯磁碟區管理 (LVM) 裝置的 Docker 映像檔和中繼資料,請使用 /dev/xvdcz。對於針對 Amazon ECS 最佳化的 Amazon Linux 2 AMI,將 /dev/xvda 用於作業系統以及 Docker 映像檔和中繼資料。
- 為您的 Amazon Linux 版本設定 DeviceName。
- 完成設定精靈。然後,選擇 Update (更新) 來啟動新的替換執行個體。
執行此操作後,Auto Scaling 群組的啟動組態將更新為新的儲存組態。此增加的儲存組態將套用於 Auto Scaling 群組啟動的所有新執行個體。
終止原始執行個體
**重要:**為確保您的服務持續可用,請先清空容器執行個體,以重新安排您的任務。然後,分批終止原始執行個體。您也可以在執行個體終止時,自動執行此清空工作流程。
- 開啟 Amazon ECS console (Amazon ECS 主控台)。
- 選取 Auto Scaling 群組中第一批執行的執行個體,然後然後對這批執行個體進行清空。
**注意:**您可以分批耗清空前的執行個體,以避免 Amazon ECS 服務停機。當您清空容器執行個體的服務任務時,處於「執行中」狀態的容器執行個體將會停止。然後,容器執行個體會根據服務的部署組態參數 minimumHealthyPercent 和 maximumPercent 進行取代。任何不屬於該服務的 PENDING 或 RUNNING 任務都不會受到影響。您必須等待這些任務完成或手動將其停止。
- 在容器執行個體上的所有任務停止後,終止該容器執行個體。
**注意:**幾分鐘後,底層 Auto Scaling 群組將啟動一個具有較大儲存空間的替換執行個體,來取代已終止的執行個體。
- 重複上述步驟,直到用新的容器執行個體取代所有原本的執行個體。
相關資訊
Amazon ECS 任務的儲存選項