Anulación del registro de una instancia externa de Amazon ECS - Amazon Elastic Container Service

Anulación del registro de una instancia externa de Amazon ECS

Le recomendamos que, una vez que termine de utilizar una instancia, anule el registro de la instancia tanto en Amazon ECS como en AWS Systems Manager. Una vez anulado el registro, la instancia externa ya no puede aceptar nuevas tareas.

Si tiene tareas en ejecución en la instancia de contenedor cuando se anula el registro, estas tareas siguen en ejecución hasta que se detengan por otros medios. Sin embargo, Amazon ECS deja de monitorearlas y de considerarlas. Si estas tareas de la instancia externa forman parte de un servicio de Amazon ECS, el programador de servicio inicia otra copia de esa tarea, en una instancia de contenedor distinta, de ser posible.

Después de anular el registro de la instancia, limpie los recursos de AWS de la instancia. A continuación, puede registrarla en un clúster nuevo.

Procedimiento

AWS Management Console
  1. Abra la consola en https://console.aws.amazon.com/ecs/v2.

  2. En la barra de navegación, elija la región en la que se encuentra registrada la instancia externa.

  3. En el panel de navegación, elija Clusters (Clústeres) y seleccione el clúster que aloja la instancia externa.

  4. En la página de Cluster : name (Clúster; nombre), elija la pestaña Infrastructure (Infraestructura).

  5. En Container instances (Instancias de contenedor), seleccione el ID de instancia externa cuyo registro desea cancelar. Se lo redirigirá a la página de detalles de la instancia de contenedor.

  6. En la página Container Instance : id, seleccione Deregister.

  7. Revise el mensaje de anulación del registro. Seleccione Deregister from AWS Systems Manager (Anular registro de Systems Manager) para anular el registro de la instancia externa como instancia administrada de Systems Manager. Elija Anular registro.

    nota

    Puede anular el registro de la instancia externa como instancia administrada de Systems Manager desde la consola de Systems Manager. Para obtener instrucciones, consulte Anulación del registro de instancias administradas en la Guía del usuario de AWS Systems Manager.

  8. Después de anular el registro de la instancia, limpie los recursos de AWS del servidor en las instalaciones o de la máquina virtual.

    Sistema operativo Pasos

    Linux

    1. Detenga el agente contenedor de Amazon ECS y los servicios de SSM Agent en la instancia.

      sudo systemctl stop ecs amazon-ssm-agent
    2. Elimine los paquetes de Amazon ECS y Systems Manager.

      Para CentOS 7, CentOS 8 y RHEL 7

      sudo yum remove -y amazon-ecs-init amazon-ssm-agent

      Para SUSE Enterprise Server 15

      sudo zypper remove -y amazon-ecs-init amazon-ssm-agent

      Para Debian y Ubuntu

      sudo apt remove -y amazon-ecs-init amazon-ssm-agent
    3. Elimine los directorios sobrantes.

      sudo rm -rf /var/lib/ecs /etc/ecs /var/lib/amazon/ssm /var/log/ecs /var/log/amazon/ssm
    Windows
    1. Detenga el agente contenedor de Amazon ECS y los servicios de SSM Agent en la instancia.

      Stop-Service AmazonECS
      Stop-Service AmazonSSMAgent
    2. Eliminar el paquete de Amazon ECS.

      .\ecs-anywhere-install.ps1 -Uninstall
AWS CLI
  1. Necesita el ID de la instancia y el ARN de la instancia de contenedor para anular el registro de la instancia de contenedor. Si no tiene estos valores, ejecute los siguientes comandos

    Ejecute el siguiente comando para obtener el ID de la instancia.

    Utilice el ID de la instancia (instanceID) para obtener el ARN (containerInstanceARN) de la instancia de contenedor.

    instanceId=$(aws ssm describe-instance-information --region "{{ region }}" | jq ".InstanceInformationList[] |select(.IPAddress==\"{{ IPv4 Address }}\") | .InstanceId" | tr -d'"'

    Ejecute los siguientes comandos.

    Utilice el containerInstanceArn como parámetro en el comando para anular el registro de la instancia (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. Ejecute el siguiente comando para vaciar la instancia.

    aws ecs update-container-instances-state --cluster "{{ cluster }}" --region "{{ region }}" --container-instances "{{ containerInstanceArn }}" --status DRAINING
  3. Cuando la instancia de contenedor termine de vaciarse, ejecute el siguiente comando para anular el registro de la instancia.

    aws ecs deregister-container-instance --cluster "{{ cluster }}" --region "{{ region }}" --container-instance "{{ containerInstanceArn }}"
  4. Ejecute el siguiente comando para eliminar las instancias de contenedor desde SSM.

    aws ssm deregister-managed-instance --region "{{ region }}" --instance-id "{{ instanceId }}"
  5. Después de anular el registro de la instancia, limpie los recursos de AWS del servidor en las instalaciones o de la máquina virtual.

    Sistema operativo Pasos

    Linux

    1. Detenga el agente contenedor de Amazon ECS y los servicios de SSM Agent en la instancia.

      sudo systemctl stop ecs amazon-ssm-agent
    2. Elimine los paquetes de Amazon ECS y Systems Manager.

      sudo (yum/apt/zypper) remove amazon-ecs-init amazon-ssm-agent
    3. Elimine los directorios sobrantes.

      sudo rm -rf /var/lib/ecs /etc/ecs /var/lib/amazon/ssm /var/log/ecs /var/log/amazon/ssm
    Windows
    1. Detenga el agente contenedor de Amazon ECS y los servicios de SSM Agent en la instancia.

      Stop-Service AmazonECS
      Stop-Service AmazonSSMAgent
    2. Eliminar el paquete de Amazon ECS.

      .\ecs-anywhere-install.ps1 -Uninstall