取消註冊 Amazon ECS 外部執行個體 - Amazon Elastic Container Service

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

取消註冊 Amazon ECS 外部執行個體

我們建議您在完成執行個體 AWS Systems Manager 之後,從 Amazon ECS 和 取消註冊執行個體。取消註冊後,外部執行個體即不再接受新的任務。

如果在您取消註冊容器執行個體時,還有執行中的任務,則這些任務會繼續執行,直到透過一些其他方式停用為止。不過,Amazon ECS 不再監控或負責這些任務。如果外部執行個體中的這些任務是 Amazon ECS 服務的一部分,則服務排程器可能會在不同的執行個體上啟動該任務的另一個副本。

取消註冊執行個體後,請清除執行個體上剩餘的 AWS 資源。然後,您可以將它註冊到新的叢集。

程序

AWS Management Console
  1. 開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2

  2. 從導覽列中選擇註冊外部執行個體所在的區域。

  3. 在導覽窗格中選擇 Clusters (叢集),並選取託管外部執行個體的叢集。

  4. Cluster : name (叢集:名稱) 頁面上,選擇 Infrastructure (基礎基礎設施) 索引標籤。

  5. Container instances (容器執行個體) 中,選擇要取消註冊的外部執行個體 ID。系統會將您重新導向至容器執行個體詳細資訊頁面。

  6. Container Instance : id (容器執行個體:ID) 頁面中選擇 Deregister (取消註冊)。

  7. 檢閱取消註冊訊息。選取 Deregister from AWS Systems Manager (從 AWS Systems Manager中取消註冊),也將作為 Systems Manager 受管執行個體來取消註冊外部執行個體。選擇 Deregister (取消註冊)

    注意

    在 Systems Manager 主控台中,可作為 Systems Manager 受管執行個體來取消註冊外部執行個體。如需說明,請參閱AWS Systems Manager 《 使用者指南中的在混合多雲端環境中取消註冊受管節點

  8. 取消註冊執行個體後,請清除現場部署伺服器或 VM 上的 AWS 資源。

    作業系統 步驟

    Linux

    1. 停用執行個體上的 Amazon ECS 容器代理程式和 SSM Agent 服務。

      sudo systemctl stop ecs amazon-ssm-agent
    2. 移除 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
    3. 移除剩餘的目錄。

      sudo rm -rf /var/lib/ecs /etc/ecs /var/lib/amazon/ssm /var/log/ecs /var/log/amazon/ssm
    Windows
    1. 停用執行個體上的 Amazon ECS 容器代理程式和 SSM Agent 服務。

      Stop-Service AmazonECS
      Stop-Service AmazonSSMAgent
    2. 移除 Amazon ECS 套件。

      .\ecs-anywhere-install.ps1 -Uninstall
AWS CLI
  1. 您需要執行個體 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 '"')
  2. 執行下列命令以消耗執行個體。

    aws ecs update-container-instances-state --cluster "{{ cluster }}" --region "{{ region }}" --container-instances "{{ containerInstanceArn }}" --status DRAINING
  3. 容器執行個體完成消耗後,執行下列命令以取消註冊執行個體。

    aws ecs deregister-container-instance --cluster "{{ cluster }}" --region "{{ region }}" --container-instance "{{ containerInstanceArn }}"
  4. 使用下列命令從 SSM 移除容器執行個體。

    aws ssm deregister-managed-instance --region "{{ region }}" --instance-id "{{ instanceId }}"
  5. 取消註冊執行個體後,請清除現場部署伺服器或 VM 上的 AWS 資源。

    作業系統 步驟

    Linux

    1. 停用執行個體上的 Amazon ECS 容器代理程式和 SSM Agent 服務。

      sudo systemctl stop ecs amazon-ssm-agent
    2. 移除 Amazon ECS 和 Systems Manager 套件。

      sudo (yum/apt/zypper) remove amazon-ecs-init amazon-ssm-agent
    3. 移除剩餘的目錄。

      sudo rm -rf /var/lib/ecs /etc/ecs /var/lib/amazon/ssm /var/log/ecs /var/log/amazon/ssm
    Windows
    1. 停用執行個體上的 Amazon ECS 容器代理程式和 SSM Agent 服務。

      Stop-Service AmazonECS
      Stop-Service AmazonSSMAgent
    2. 移除 Amazon ECS 套件。

      .\ecs-anywhere-install.ps1 -Uninstall