取消註冊 Amazon ECS 外部執行個體
建議在使用完外部執行個體後,從 Amazon ECS 與 AWS Systems Manager 中取消註冊執行個體。取消註冊後,外部執行個體即不再接受新的任務。
如果在您取消註冊容器執行個體時,還有執行中的任務,則這些任務會繼續執行,直到透過一些其他方式停用為止。不過,Amazon ECS 不再監控或負責這些任務。如果外部執行個體中的這些任務是 Amazon ECS 服務的一部分,則服務排程器可能會在不同的執行個體上啟動該任務的另一個副本。
取消註冊執行個體後,請清理執行個體上剩餘的 AWS 資源。之後,您可以將該執行個體註冊至新的叢集。
程序
- AWS Management Console
-
開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2
。 -
從導覽列中選擇註冊外部執行個體所在的區域。
-
在導覽窗格中選擇 Clusters (叢集),並選取託管外部執行個體的叢集。
-
在 Cluster :
name(叢集:名稱) 頁面上,選擇 Infrastructure (基礎基礎設施) 索引標籤。 -
在 Container instances (容器執行個體) 中,選擇要取消註冊的外部執行個體 ID。系統會將您重新導向至容器執行個體詳細資訊頁面。
-
在 Container Instance :
id(容器執行個體:ID) 頁面中選擇 Deregister (取消註冊)。 -
檢閱取消註冊訊息。選取 Deregister from AWS Systems Manager (從 AWS Systems Manager 中取消註冊),也將作為 Systems Manager 受管執行個體來取消註冊外部執行個體。選擇 Deregister (取消註冊)。
注意
在 Systems Manager 主控台中,可作為 Systems Manager 受管執行個體來取消註冊外部執行個體。如需說明,請參閱 AWS Systems Manager User Guide 中的 Deregistering managed nodes in a hybrid and multicloud environment。
-
取消註冊執行個體後,請清理內部部署伺服器或 VM 上的 AWS 資源。
作業系統 步驟 Linux
-
停用執行個體上的 Amazon ECS 容器代理程式和 SSM Agent 服務。
sudo systemctl stop ecs amazon-ssm-agent -
移除 Amazon ECS 和 Systems Manager 套件。
對於 CentOS 7、CentOS 8 和 RHEL 7
sudo yum remove -y amazon-ecs-init amazon-ssm-agent對於 SUSE Enterprise Server 15
sudo zypper remove -y amazon-ecs-init amazon-ssm-agent對於 Debian 和 Ubuntu
sudo apt remove -y amazon-ecs-init amazon-ssm-agent -
移除剩餘的目錄。
sudo rm -rf /var/lib/ecs /etc/ecs /var/lib/amazon/ssm /var/log/ecs /var/log/amazon/ssm
Windows -
停用執行個體上的 Amazon ECS 容器代理程式和 SSM Agent 服務。
Stop-Service AmazonECSStop-Service AmazonSSMAgent -
移除 Amazon ECS 套件。
.\ecs-anywhere-install.ps1 -Uninstall
-
- AWS CLI
-
-
您需要執行個體 ID 和容器執行個體 ARN,才能取消註冊容器執行個體。如果您沒有這些值,請執行下列命令
執行下列命令以取得執行個體 ID。
您可以使用執行個體 ID (
instanceID) 取得容器執行個體 ARN (containerInstanceARN)。instanceId=$(aws ssm describe-instance-information --region "{{region}}" | jq ".InstanceInformationList[] |select(.IPAddress==\"{{ IPv4 Address }}\") | .InstanceId" | tr -d'"'執行下列命令。
您可以在命令中使用
containerInstanceArn做為參數來取消註冊執行個體 (deregister-container-instance)。instances=$(aws ecs list-container-instances --cluster "{{cluster}}" --region "{{region}}" | jq -c '.containerInstanceArns') containerInstanceArn=$(aws ecs describe-container-instances --cluster "{{cluster}}" --region "{{region}}" --container-instances $instances | jq ".containerInstances[] | select(.ec2InstanceId==\"{{instanceId}}\") | .containerInstanceArn" | tr -d '"') -
執行下列命令以消耗執行個體。
aws ecs update-container-instances-state --cluster "{{cluster}}" --region "{{region}}" --container-instances "{{containerInstanceArn}}" --status DRAINING -
容器執行個體完成消耗後,執行下列命令以取消註冊執行個體。
aws ecs deregister-container-instance --cluster "{{cluster}}" --region "{{region}}" --container-instance "{{containerInstanceArn}}" -
使用下列命令從 SSM 移除容器執行個體。
aws ssm deregister-managed-instance --region "{{region}}" --instance-id "{{instanceId}}" -
取消註冊執行個體後,請清理內部部署伺服器或 VM 上的 AWS 資源。
作業系統 步驟 Linux
-
停用執行個體上的 Amazon ECS 容器代理程式和 SSM Agent 服務。
sudo systemctl stop ecs amazon-ssm-agent -
移除 Amazon ECS 和 Systems Manager 套件。
sudo (yum/apt/zypper) remove amazon-ecs-init amazon-ssm-agent -
移除剩餘的目錄。
sudo rm -rf /var/lib/ecs /etc/ecs /var/lib/amazon/ssm /var/log/ecs /var/log/amazon/ssm
Windows -
停用執行個體上的 Amazon ECS 容器代理程式和 SSM Agent 服務。
Stop-Service AmazonECSStop-Service AmazonSSMAgent -
移除 Amazon ECS 套件。
.\ecs-anywhere-install.ps1 -Uninstall
-
-