

# Atualização do agente do AWS Systems Manager e o agente de contêiner do Amazon ECS em uma instância externa
<a name="ecs-anywhere-updates"></a>

O servidor on-premises ou a VM deve executar o agente do AWS Systems Manager (SSM Agent) e o agente de contêiner do Amazon ECS ao executar workloads do Amazon ECS. A AWS lança novas versões desses agentes quando qualquer recurso é adicionado ou atualizado. Se as instâncias externas estiverem usando uma versão anterior de qualquer agente, será possível atualizá-las usando os procedimentos a seguir.

## Atualizar o SSM Agent em uma instância externa
<a name="ecs-anywhere-updates-ssmagent"></a>

O AWS Systems Manager recomenda que você automatize o processo de atualização do SSM Agent nas instâncias. São fornecidos vários métodos para automatizar as atualizações. Para obter mais informações, consulte [Automatizar atualizações no SSM Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-automatic-updates.html) no *Guia do usuário do AWS Systems Manager*.

## Atualizar o agente do Amazon ECS em uma instância externa
<a name="ecs-anywhere-updates-ecsagent"></a>

Nas instâncias externas, o agente de contêiner do Amazon ECS é atualizado por meio do upgrade do pacote `ecs-init`. A atualização do agente de contêiner do Amazon ECS não interrompe a execução de tarefas ou serviços. O Amazon ECS fornece o pacote `ecs-init` e o arquivo de assinatura em um bucket do Amazon S3 em cada região. Começando com a versão `1.52.1-1` do código `ecs-init`, o Amazon ECS fornece pacotes `ecs-init` separados que dependem do sistema operacional e da arquitetura de sistema que a instância externa usa. 

Use a tabela a seguir para determinar o pacote `ecs-init` que você deve baixar com base no sistema operacional e na arquitetura de sistema que a instância externa usa.

**nota**  
É possível determinar o sistema operacional e a arquitetura de sistema que a instância externa usa por meio dos comandos a seguir.  

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


| Sistemas operacionais (arquitetura) | Pacote 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 estas etapas para atualizar o agente do Amazon ECS. 

**Para atualizar o agente do Amazon ECS**

1. Confirme a versão do agente do Amazon ECS que você está executando.

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

1. Baixe o pacote `ecs-init` para seu sistema operacional e arquitetura de sistema. O Amazon ECS fornece o arquivo de pacote `ecs-init` em um bucket do Amazon S3 em cada região. Substitua o identificador *<region>* no comando pelo nome da região (por exemplo, `us-west-2`) mais próxima de você geograficamente.

   **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 a validade do arquivo de pacote `ecs-init` usando a assinatura PGP.

   1. Baixe e instale GnuPG. Para obter mais informações sobre a GNUpg, consulte o [site da GnuPG](https://www.gnupg.org). Para sistemas Linux, instale `gpg` usando o gerenciador de pacotes no seu tipo de Linux.

   1. Recuperar a chave pública PGP do Amazon ECS.

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

   1. Baixe a assinatura do pacote `ecs-init`. Ela consiste em uma assinatura PGP desvinculada ASCII armazenada em um arquivo com a extensão `.asc`. O Amazon ECS fornece o arquivo de assinatura em um bucket do Amazon S3 em cada região. Substitua o identificador *<region>* no comando pelo nome da região (por exemplo, `us-west-2`) mais próxima de você geograficamente.

      **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 o arquivo de pacote `ecs-init` usando a chave.

      **Para os pacotes `rpm`**

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

      **Para os pacotes `deb`**

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

      A saída esperada é mostrada a seguir.

      ```
      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 o pacote `ecs-init`.

   **Para o pacote `rpm` no CentOS 7, CentOS 8 e RHEL 7**

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

   **Para o pacote `rpm` no SUSE Enterprise Server 15**

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

   **Para o pacotes `deb`**

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

1. Reinicie o serviço `ecs`.

   ```
   sudo systemctl restart ecs
   ```

1. Verifique se a versão do agente do Amazon ECS foi atualizada.

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