

# Actualización del agente de AWS Systems Manager y del agente de contenedor de Amazon ECS en una instancia externa
<a name="ecs-anywhere-updates"></a>

El servidor ubicado en las instalaciones o la VM deben poner en marcha el agente de AWS Systems Manager (SSM Agent) y el agente de contenedor de Amazon ECS al poner en marcha cargas de trabajo de Amazon ECS. AWS lanza nuevas versiones de estos agentes cuando se agregan o actualizan funciones. Si las instancias externas utilizan una versión anterior de cualquiera de los agentes, puede actualizarlas mediante estos procedimientos.

## Actualización de SSM Agent en una instancia externa
<a name="ecs-anywhere-updates-ssmagent"></a>

AWS Systems Manager recomienda automatizar el proceso de actualización de SSM Agent en las instancias. Proporcionan varios métodos para automatizar las actualizaciones. Para obtener más información, consulte [Automatización de actualizaciones para SSM Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-automatic-updates.html) en la *Guía del usuario de AWS Systems Manager*.

## Actualización del agente de Amazon ECS en una instancia externa
<a name="ecs-anywhere-updates-ecsagent"></a>

En las instancias externas, el agente de contenedor de Amazon ECS se actualiza mediante la actualización del paquete `ecs-init`. La actualización del agente de Amazon ECS no interrumpe las tareas o servicios en ejecución. Amazon ECS proporciona el paquete `ecs-init` y el archivo SIGNATURE en un bucket de Amazon S3 en cada región. A partir de la versión `1.52.1-1` de `ecs-init`, Amazon ECS proporciona paquetes `ecs-init` independientes para su utilización en función del sistema operativo y la arquitectura del sistema que utilice la instancia externa. 

Utilice la siguiente tabla para determinar qué paquete `ecs-init` debe descargar en función del sistema operativo y la arquitectura del sistema que utiliza su instancia externa.

**nota**  
Para determinar qué sistema operativo y arquitectura del sistema utiliza la instancia externa, utilice los siguientes comandos.  

```
cat /etc/os-release
uname -m
```


| Sistemas operativos (arquitectura) | Paquete ecs-init | 
| --- | --- | 
|  CentOS 7 (x86\$164) CentOS 8 (x86\$164) CentOS Stream 9 (x86\$164) SUSE Enterprise Server 15 (x86\$164) RHEL 7 (x86\$164) RHEL 8 (x86\$164)  |  `amazon-ecs-init-latest.x86_64.rpm`  | 
|  CentOS 7 (aarch64) CentOS 8 (aarch64) CentOS Stream 9 (aarch64) RHEL 7 (aarch64)  |  `amazon-ecs-init-latest.aarch64.rpm`  | 
|  Debian 9 (x86\$164) Debian 10 (x86\$164) Debian 11 (x86\$164) Debian 12 (x86\$164) Ubuntu 18 (x86\$164) Ubuntu 20 (x86\$164) Ubuntu 22 (x86\$164) Ubuntu 24 (x86\$164)  |  `amazon-ecs-init-latest.amd64.deb`  | 
|  Debian 9 (aarch64) Debian 10 (aarch64) Debian 11 (aarch64) Debian 12 (aarch64) Ubuntu 18 (aarch64) Ubuntu 20 (aarch64) Ubuntu 22 (aarch64) Ubuntu 24 (aarch64)  |  `amazon-ecs-init-latest.arm64.deb`  | 

Siga estos pasos para actualizar el agente de Amazon ECS. 

**Para actualizar el agente de Amazon ECS**

1. Confirme la versión del agente de Amazon ECS que está ejecutando.

   ```
   curl -s 127.0.0.1:51678/v1/metadata | python3 -mjson.tool
   ```

1. Descargue el paquete `ecs-init` correspondiente a su sistema operativo y arquitectura del sistema. Amazon ECS proporciona el archivo del paquete `ecs-init` en un bucket de Amazon S3 en cada región. Asegúrese de sustituir el identificador *<region>* del comando por el nombre de la región (por ejemplo, `us-west-2`) geográficamente más cercana.

   **amazon-ecs-init-latest.x86\$164.rpm**

   ```
   curl -o amazon-ecs-init.rpm https://s3.<region>.amazonaws.com/amazon-ecs-agent-<region>/amazon-ecs-init-latest.x86_64.rpm
   ```

   **amazon-ecs-init-latest.aarch64.rpm**

   ```
   curl -o amazon-ecs-init.rpm https://s3.<region>.amazonaws.com/amazon-ecs-agent-<region>/amazon-ecs-init-latest.aarch64.rpm
   ```

   **amazon-ecs-init-latest.amd64.deb**

   ```
   curl -o amazon-ecs-init.deb https://s3.<region>.amazonaws.com/amazon-ecs-agent-<region>/amazon-ecs-init-latest.amd64.deb
   ```

   **amazon-ecs-init-latest.arm64.deb**

   ```
   curl -o amazon-ecs-init.deb https://s3.<region>.amazonaws.com/amazon-ecs-agent-<region>/amazon-ecs-init-latest.arm64.deb
   ```

1. (Opcional) Verifique la validez del archivo del paquete `ecs-init` mediante la firma PGP.

   1. Descargue e instale GnuPG. Para obtener más información sobre GNUpg, consulte el [sitio web de GnuPG](https://www.gnupg.org). Para sistemas Linux, instale `gpg` utilizando el administrador de paquetes de su versión de Linux.

   1. Recupere la clave pública PGP de Amazon ECS.

      ```
      gpg --keyserver hkp://keys.gnupg.net:80 --recv BCE9D9A42D51784F
      ```

   1. Descargue la firma del paquete `ecs-init`. La firma es una firma PGP separada en formato ASCII que se almacena en un archivo con la extensión `.asc`. Amazon ECS proporciona el archivo SIGNATURE en un bucket de Amazon S3 en cada región. Asegúrese de sustituir el identificador *<region>* del comando por el nombre de la región (por ejemplo, `us-west-2`) geográficamente más cercana.

      **amazon-ecs-init-latest.x86\$164.rpm**

      ```
      curl -o amazon-ecs-init.rpm.asc https://s3.<region>.amazonaws.com/amazon-ecs-agent-<region>/amazon-ecs-init-latest.x86_64.rpm.asc
      ```

      **amazon-ecs-init-latest.aarch64.rpm**

      ```
      curl -o amazon-ecs-init.rpm.asc https://s3.<region>.amazonaws.com/amazon-ecs-agent-<region>/amazon-ecs-init-latest.aarch64.rpm.asc
      ```

      **amazon-ecs-init-latest.amd64.deb**

      ```
      curl -o amazon-ecs-init.deb.asc https://s3.<region>.amazonaws.com/amazon-ecs-agent-<region>/amazon-ecs-init-latest.amd64.deb.asc
      ```

      **amazon-ecs-init-latest.arm64.deb**

      ```
      curl -o amazon-ecs-init.deb.asc https://s3.<region>.amazonaws.com/amazon-ecs-agent-<region>/amazon-ecs-init-latest.arm64.deb.asc
      ```

   1. Verifique el archivo del paquete `ecs-init` mediante la clave.

      **Para los paquetes `rpm`**

      ```
      gpg --verify amazon-ecs-init.rpm.asc ./amazon-ecs-init.rpm
      ```

      **Para los paquetes `deb`**

      ```
      gpg --verify amazon-ecs-init.deb.asc ./amazon-ecs-init.deb
      ```

      El resultado esperado es el siguiente.

      ```
      gpg: Signature made Fri 14 May 2021 09:31:36 PM UTC
      gpg:                using RSA key 50DECCC4710E61AF
      gpg: Good signature from "Amazon ECS <ecs-security@amazon.com>" [unknown]
      gpg: WARNING: This key is not certified with a trusted signature!
      gpg:          There is no indication that the signature belongs to the owner.
      Primary key fingerprint: F34C 3DDA E729 26B0 79BE  AEC6 BCE9 D9A4 2D51 784F
           Subkey fingerprint: D64B B6F9 0CF3 77E9 B5FB  346F 50DE CCC4 710E 61AF
      ```

1. Instale el paquete `ecs-init`.

   **Para el paquete `rpm` en CentOS 7, CentOS 8 y RHEL 7**

   ```
   sudo yum install -y ./amazon-ecs-init.rpm
   ```

   **Para el paquete `rpm` en SUSE Enterprise Server 15**

   ```
   sudo zypper install -y --allow-unsigned-rpm ./amazon-ecs-init.rpm
   ```

   **Para el paquete `deb`**

   ```
   sudo dpkg -i ./amazon-ecs-init.deb
   ```

1. Reinicie el servicio `ecs`.

   ```
   sudo systemctl restart ecs
   ```

1. Verifique que se haya actualizado la versión del agente de Amazon ECS.

   ```
   curl -s 127.0.0.1:51678/v1/metadata | python3 -mjson.tool
   ```