

# Conceitos básicos da AWS CLI
<a name="cli-chap-getting-started"></a>

Este capítulo fornece as etapas para começar a usar a versão 2 do AWS Command Line Interface (AWS CLI) e traz os links de instruções relevantes. 

1. **[Preencha todos os pré-requisitos](getting-started-prereqs.md)**: para acessar os serviços da AWS com a AWS CLI, você precisa de, no mínimo, uma Conta da AWS e das credenciais IAM. Para aumentar a segurança de sua conta da AWS, recomendamos não usar as credenciais de sua conta raiz. Você deve criar um usuário com privilégio mínimo para conceder credenciais de acesso às tarefas que serão executadas na AWS. 

1. Instale ou obtenha acesso à AWS CLI usando um dos seguintes métodos:
   + **(Recomendado)** [Instalar ou atualizar a versão mais recente da AWS CLI](getting-started-install.md).
   + [Instalar versões anteriores à AWS CLI versão 2](getting-started-version.md). A instalação de uma versão específica é usada principalmente se sua equipe alinha suas ferramentas a essa versão.
   + [Compilar e instalar a AWS CLI usando o código-fonte](getting-started-source-install.md). Criar a AWS CLI com base na origem do GitHub é um método mais aprofundado, usado principalmente por clientes que trabalham em plataformas às quais não oferecemos suporte direto com nossos instaladores pré-integrados.
   + [Executar as imagens oficiais do Amazon ECR Public ou do Docker para a AWS CLI](getting-started-docker.md).
   + Acessar a AWS CLI versão 2 no AWS Console em seu navegador usando AWS CloudShell. Para obter mais informações, consulte o [Guia do usuário do AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/).

1. [Depois de obter acesso à AWS CLI, configure a AWS CLI com suas credenciais do IAM para usá-la pela primeira vez](getting-started-quickstart.md).

**Solucionar problemas de instalação ou configuração**  
Se você encontrar problemas após instalar, desinstalar ou configurar a AWS CLI, consulte [Solução de problemas da AWS CLI](cli-chap-troubleshooting.md) para obter as etapas de solução de problemas.

**Topics**
+ [Pré-requisitos para usar a AWS CLI versão 2](getting-started-prereqs.md)
+ [Instalar ou atualizar a versão mais recente da AWS CLI](getting-started-install.md)
+ [Instalar versões anteriores à AWS CLI versão 2](getting-started-version.md)
+ [Compilar e instalar a AWS CLI usando o código-fonte](getting-started-source-install.md)
+ [Executar as imagens oficiais do Amazon ECR Public ou do Docker para a AWS CLI](getting-started-docker.md)
+ [Configuração da AWS CLI](getting-started-quickstart.md)

# Pré-requisitos para usar a AWS CLI versão 2
<a name="getting-started-prereqs"></a>

Para acessar os serviços da AWS com a AWS CLI, você precisa de uma Conta da AWS com credenciais do IAM ou do Centro de Identidade do IAM. Ao executar comandos da AWS CLI, a AWS CLI precisa ter acesso às credenciais da AWS. Para aumentar a segurança de sua conta da AWS, recomendamos usar somente credenciais de curta duração ao usar usuários-raiz ou do IAM. Você deve criar um usuário com privilégio mínimo para conceder credenciais de acesso às tarefas que serão executadas na AWS. Para ter informações sobre as práticas recomendadas, consulte [Práticas recomendadas de segurança](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) no “Guia do usuário do IAM”. 

**Topics**
+ [Crie uma conta administrativa do IAM ou do IAM Identity Center](#getting-started-prereqs-iam)
+ [Próximas etapas](#getting-started-prereqs-next)

## Crie uma conta administrativa do IAM ou do IAM Identity Center
<a name="getting-started-prereqs-iam"></a>

Antes de configurar a AWS CLI, você precisa criar uma conta do IAM ou do Centro de Identidade do IAM.


**Opções de criação de contas**  

| Selecione uma forma de gerenciar as credenciais de sua conta | Para | Como criar uma conta | Como configurar o acesso programático à conta | 
| --- | --- | --- | --- | 
| Credenciais do Console de Gerenciamento da AWS | Use credenciais de curto prazo correspondentes ao usuário-raiz criado durante a configuração inicial da conta, a um usuário do IAM ou a uma identidade federada do seu provedor de identidades. | Abra [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup) e siga as instruções on-line. | Não é necessária nenhuma etapa adicional. Para fazer login na AWS CLI com sua conta da AWS, consulte [Login para desenvolvimento local da AWS usando credenciais do console](cli-configure-sign-in.md). | 
| Centro de Identidade do IAM | Use credenciais de curto prazo para acessar serviços da AWS. | Siga as instruções em “Conceitos básicos” no “Guia do usuário do Centro de Identidade do IAM”. | Configure o acesso programático com base nas informações sobre como definir a autenticação do Centro de Identidade do AWS IAM no “Guia do usuário da versão 2”. | 
| AWS Gerenciamento de identidade e acesso(Não recomendado) | Use credenciais de longo prazo para acessar serviços da AWS. | Siga as instruções sobre como criar um acesso de emergência no “Guia do usuário do IAM”. | Configure o acesso programático com base nas informações sobre como gerenciar chaves de acesso para usuários no “Guia do usuário do IAM”. | 

## Próximas etapas
<a name="getting-started-prereqs-next"></a>

Depois de criar uma Conta da AWS e credenciais do IAM para usar a AWS CLI, você poderá executar uma das seguintes ações: 
+ [Instalar a versão mais recente](getting-started-install.md) da AWS CLI versão 2 em seu computador.
+ [Instalar uma versão anterior](getting-started-version.md) à AWS CLI versão 2 em seu computador.
+ Acessar a AWS CLI versão 2 de seu computador [usando uma imagem do Docker.](getting-started-docker.md)
+ Acessar a AWS CLI versão 2 no AWS Console em seu navegador usando AWS CloudShell. Para obter mais informações, consulte o [Guia do usuário do AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/).

# Instalar ou atualizar a versão mais recente da AWS CLI
<a name="getting-started-install"></a>

Este tópico descreve como instalar ou atualizar a versão mais recente da AWS Command Line Interface(AWS CLI) em sistemas operacionais compatíveis. Para obter informações sobre as versões mais recentes da AWS CLI, consulte o [Log de alterações da AWS CLI versão 2](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) no GitHub.

Para instalar uma versão anterior da AWS CLI, consulte [Instalar versões anteriores à AWS CLI versão 2](getting-started-version.md). Para obter instruções de desinstalação, consulte [Desinstalar a AWS CLI versão 2](uninstall.md).

**Importante**  
As versões 1 e 2 da AWS CLI usam o mesmo nome de comando da `aws`. Se você instalou a AWS CLI versão 1 anteriormente, consulte [Guia de migração para a AWS CLI versão 2](cliv2-migration.md).

**Topics**
+ [Instruções de instalação e atualização da AWS CLI](#getting-started-install-instructions)
+ [Solução de problemas de erros de instalação e desinstalação da AWS CLI](#install-tshoot)
+ [Próximas etapas](#install-next-steps)

## Instruções de instalação e atualização da AWS CLI
<a name="getting-started-install-instructions"></a>

Para obter as instruções de instalação, expanda a seção do sistema operacional.

### Linux
<a name="install-linux"></a>

#### Requisitos de instalação e atualização
<a name="install-linux-prereqs"></a>
+ Você deve ser capaz de extrair ou “descompactar” o pacote baixado. Se o sistema operacional não tiver o comando `unzip` integrado, use um equivalente.
+ A AWS CLI usa `glibc`, `groff` e `less`. Estes são incluídos por padrão na maioria das principais distribuições do Linux.
+ A AWS CLI pode ser utilizada em versões de 64 bits das distribuições recentes do CentOS, Fedora, Ubuntu, Amazon Linux 1, Amazon Linux 2, Amazon Linux 2023 e Linux ARM.
+ Como a AWS não mantém repositórios de terceiros diferentes de `snap`, não podemos garantir que eles contenham a versão mais recente da AWS CLI.

#### Instalar ou atualizar a AWS CLI
<a name="install-linux-instructions"></a>

**Atenção**  
Se esta é a primeira vez que você realiza uma atualização no Amazon Linux, para instalar a versão mais recente da AWS CLI, você deve desinstalar a versão pré-instalada do `yum` usando o seguinte comando:  

```
$ sudo yum remove awscli
```
Depois de remover a instalação do `yum` da AWS CLI, siga as instruções de instalação do Linux abaixo.

Instale a AWS CLI usando um dos seguintes métodos:
+ **O instalador da linha de comando** é uma boa opção para controle de versão, pois você pode especificar a versão a ser instalada. Essa opção não é atualizada automaticamente e é necessário baixar um novo instalador sempre que atualizar para substituir a versão anterior.
+ **O pacote `snap` com suporte oficial** é uma boa opção para que a versão mais recente dos pacotes da AWS CLI como snap seja sempre atualizada automaticamente. Não há suporte integrado para selecionar versões secundárias da AWS CLI e, portanto, não é um método de instalação ideal se sua equipe precisar fixar versões.

------
#### [ Command line installer - Linux x86 (64-bit) ]

Para atualizar a instalação atual da AWS CLI, baixe um novo instalador sempre que atualizar para substituir as versões anteriores. Siga estes passos na linha de comando para instalar a AWS CLI no Linux.

A seguir estão as etapas de instalação rápida em um único grupo de copiar e colar que fornece uma instalação básica. Para obter instruções guiadas, veja as etapas a seguir.

**nota**  
**(Opcional)** O bloco de comando a seguir baixa e instala a AWS CLI sem verificar a integridade do download. Para verificar a integridade do download, use as instruções passo a passo abaixo.

**Para instalar** a AWS CLI, execute os comandos a seguir.

```
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
```

**Para atualizar a instalação atual** da AWS CLI, adicione as informações do symlink e instalador existentes para criar o comando `install` com os parâmetros `--bin-dir`, `--install-dir` e `--update`. O bloco de comando a seguir usa um exemplo de symlink de */usr/local/bin* e um exemplo de localização do instalador de */usr/local/aws-cli* para instalar a AWS CLI localmente para o usuário local.

```
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
```

**Etapas de instalação guiada**

1. Baixe o arquivo de instalação de uma das seguintes maneiras:
   + **Usar o comando `curl`**: a opção `-o` especifica o nome do arquivo no qual o pacote obtido por download foi gravado. As opções no comando de exemplo a seguir gravam o arquivo obtido por download no diretório atual com o nome local `awscliv2.zip`. 

     ```
     $ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
     ```
   + **Baixe usando o URL**: para baixar o instalador com o navegador, use o seguinte URL: [https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip](https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip). 

1. **(Opcional) Verificar a integridade do arquivo zip baixado**

   Se você tiver optado por baixar manualmente o pacote do instalador `.zip` da AWS CLI nas etapas acima, poderá executar as etapas a seguir para verificar as assinaturas por meio da ferramenta `GnuPG`.

   Os arquivos AWS CLI do pacote do instalador da `.zip` são assinados criptograficamente com assinaturas PGP. Se houver qualquer dano ou alteração dos arquivos, ocorrerá uma falha nessa verificação e você não deverá prosseguir com a instalação.

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

   1. Para criar o arquivo de chave pública, crie um arquivo de texto e cole o texto a seguir.

      ```
      -----BEGIN PGP PUBLIC KEY BLOCK-----
      
      mQINBF2Cr7UBEADJZHcgusOJl7ENSyumXh85z0TRV0xJorM2B/JL0kHOyigQluUG
      ZMLhENaG0bYatdrKP+3H91lvK050pXwnO/R7fB/FSTouki4ciIx5OuLlnJZIxSzx
      PqGl0mkxImLNbGWoi6Lto0LYxqHN2iQtzlwTVmq9733zd3XfcXrZ3+LblHAgEt5G
      TfNxEKJ8soPLyWmwDH6HWCnjZ/aIQRBTIQ05uVeEoYxSh6wOai7ss/KveoSNBbYz
      gbdzoqI2Y8cgH2nbfgp3DSasaLZEdCSsIsK1u05CinE7k2qZ7KgKAUIcT/cR/grk
      C6VwsnDU0OUCideXcQ8WeHutqvgZH1JgKDbznoIzeQHJD238GEu+eKhRHcz8/jeG
      94zkcgJOz3KbZGYMiTh277Fvj9zzvZsbMBCedV1BTg3TqgvdX4bdkhf5cH+7NtWO
      lrFj6UwAsGukBTAOxC0l/dnSmZhJ7Z1KmEWilro/gOrjtOxqRQutlIqG22TaqoPG
      fYVN+en3Zwbt97kcgZDwqbuykNt64oZWc4XKCa3mprEGC3IbJTBFqglXmZ7l9ywG
      EEUJYOlb2XrSuPWml39beWdKM8kzr1OjnlOm6+lpTRCBfo0wa9F8YZRhHPAkwKkX
      XDeOGpWRj4ohOx0d2GWkyV5xyN14p2tQOCdOODmz80yUTgRpPVQUtOEhXQARAQAB
      tCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4CGwMF
      CwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQT7Xbd/1cEYuAURraimMQrMRnJHXAUC
      aGveYQUJDMpiLAAKCRCmMQrMRnJHXKBYD/9Ab0qQdGiO5hObchG8xh8Rpb4Mjyf6
      0JrVo6m8GNjNj6BHkSc8fuTQJ/FaEhaQxj3pjZ3GXPrXjIIVChmICLlFuRXYzrXc
      Pw0lniybypsZEVai5kO0tCNBCCFuMN9RsmmRG8mf7lC4FSTbUDmxG/QlYK+0IV/l
      uJkzxWa+rySkdpm0JdqumjegNRgObdXHAQDWlubWQHWyZyIQ2B4U7AxqSpcdJp6I
      S4Zds4wVLd1WE5pquYQ8vS2cNlDm4QNg8wTj58e3lKN47hXHMIb6CHxRnb947oJa
      pg189LLPR5koh+EorNkA1wu5mAJtJvy5YMsppy2y/kIjp3lyY6AmPT1posgGk70Z
      CmToEZ5rbd7ARExtlh76A0cabMDFlEHDIK8RNUOSRr7L64+KxOUegKBfQHb9dADY
      qqiKqpCbKgvtWlds909Ms74JBgr2KwZCSY1HaOxnIr4CY43QRqAq5YHOay/mU+6w
      hhmdF18vpyK0vfkvvGresWtSXbag7Hkt3XjaEw76BzxQH21EBDqU8WJVjHgU6ru+
      DJTs+SxgJbaT3hb/vyjlw0lK+hFfhWKRwgOXH8vqducF95NRSUxtS4fpqxWVaw3Q
      V2OWSjbne99A5EPEySzryFTKbMGwaTlAwMCwYevt4YT6eb7NmFhTx0Fis4TalUs+
      j+c7Kg92pDx2uQ==
      =OBAt
      -----END PGP PUBLIC KEY BLOCK-----
      ```

      Para referência, veja a seguir os detalhes da chave pública.

      ```
      Key ID:           A6310ACC4672475C
      Type:             RSA
      Size:             4096/4096
      Created:          2019-09-18
      Expires:          2026-07-07
      User ID:          AWS CLI Team <aws-cli@amazon.com>
      Key fingerprint:  FB5D B77F D5C1 18B8 0511  ADA8 A631 0ACC 4672 475C
      ```

   1. Importe a chave pública da AWS CLI com o comando a seguir, substituindo *public-key-file-name* pelo nome do arquivo da chave pública que você criou.

      ```
      $ gpg --import public-key-file-name
      gpg: /home/username/.gnupg/trustdb.gpg: trustdb created
      gpg: key A6310ACC4672475C: public key "AWS CLI Team <aws-cli@amazon.com>" imported
      gpg: Total number processed: 1
      gpg:               imported: 1
      ```

   1. Baixe o arquivo de assinatura da AWS CLI para o pacote baixado. Ele tem o mesmo caminho e nome do arquivo `.zip` ao qual ele corresponde, mas tem a extensão `.sig`. Nos exemplos a seguir, ele foi salvo no diretório atual como um arquivo chamado `awscliv2.sig`.

      **Para a versão mais recente da AWS CLI**, use o seguinte bloco de comandos:

      ```
      $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip.sig
      ```

   1. Verifique a assinatura, passando os nomes dos arquivos `.sig` e `.zip` baixados como parâmetros para o comando `gpg`.

      ```
      $ gpg --verify awscliv2.sig awscliv2.zip
      ```

      A saída deve ser semelhante à seguinte.

      ```
      gpg: Signature made Mon Nov  4 19:00:01 2019 PST
      gpg:                using RSA key FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C
      gpg: Good signature from "AWS CLI Team <aws-cli@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: FB5D B77F D5C1 18B8 0511  ADA8 A631 0ACC 4672 475C
      ```
**Importante**  
O aviso na saída é esperado e não indica um problema. Isso ocorre porque não há uma cadeia de confiança entre a chave PGP pessoal (se você tiver uma) e a chave PGP da AWS CLI. Para obter mais informações, consulte [Web of trust](https://en.wikipedia.org/wiki/Web_of_trust).

1. Descompacte o instalador. Se a distribuição do Linux não tiver um comando `unzip` integrado, use um equivalente para descompactá-lo. O comando de exemplo a seguir descompacta o pacote e cria um diretório chamado `aws` no diretório atual.

   ```
   $ unzip awscliv2.zip
   ```
**nota**  
Ao atualizar de uma versão anterior, o comando `unzip` solicita a substituição dos arquivos existentes. Para ignorar essas solicitações, como com a automação de scripts, use o sinalizador de atualização `-u` para `unzip`. Esse sinalizador atualiza automaticamente os arquivos existentes e cria outros conforme necessário.  

   ```
   $ unzip -u awscliv2.zip
   ```

1. Execute o programa de instalação. O comando de instalação usa um arquivo chamado `install` no diretório `aws` recém-descompactado. Por padrão, os arquivos são todos instalados em `/usr/local/aws-cli`, e um link simbólico é criado em `/usr/local/bin`. O comando inclui `sudo` para conceder permissões de gravação para esses diretórios. 

   ```
   $ sudo ./aws/install
   ```

   Você poderá instalar sem `sudo` se especificar diretórios para os quais já tenha permissões de gravação. Use as seguintes instruções para o comando `install` para especificar o local de instalação:
   + Os caminhos fornecidos para os parâmetros `-i` e `-b` não devem conter nomes de diretório nem nomes de volume com caracteres de espaço ou outros caracteres de espaço em branco. Se houver um espaço, a instalação falhará.
   + `--install-dir` ou `-i`: essa opção especifica o diretório para o todos os arquivos serão copiados.

     O valor padrão é `/usr/local/aws-cli`.
   + `--bin-dir` ou `-b`: essa opção especifica que o programa `aws` principal no diretório de instalação está simbolicamente vinculado ao arquivo `aws` no caminho especificado. É necessário ter permissões de gravação no diretório especificado. Criar um symlink para um diretório que já está em seu caminho elimina a necessidade de adicionar o diretório de instalação à variável `$PATH` do usuário. 

     O valor padrão é `/usr/local/bin`.

   ```
   $ ./aws/install -i /usr/local/aws-cli -b /usr/local/bin
   ```
**nota**  
Para atualizar a instalação atual da AWS CLI, adicione as informações do symlink e instalador existentes para criar o comando `install` com o parâmetro `--update`.  

   ```
   $ sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
   ```
Para localizar o diretório de instalação e o symlink existentes, execute as seguintes etapas:  
Use o comando `which` para encontrar o symlink. Isso fornece o caminho que deve ser usado com o parâmetro `--bin-dir`.  

      ```
      $ which aws
      /usr/local/bin/aws
      ```
Use o comando `ls` para encontrar o diretório para o qual o symlink aponta. Isso fornece o caminho que deve ser usado com o parâmetro `--install-dir`.  

      ```
      $ ls -l /usr/local/bin/aws
      lrwxrwxrwx 1 ec2-user ec2-user 49 Oct 22 09:49 /usr/local/bin/aws -> /usr/local/aws-cli/v2/current/bin/aws
      ```

1. Confirme a instalação com o comando a seguir. 

   ```
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64
   ```

   Se não for possível encontrar o comando `aws`, talvez seja necessário reiniciar o terminal ou seguir a solução de problemas em [Solução de problemas da AWS CLI](cli-chap-troubleshooting.md).

------
#### [ Command line - Linux ARM ]

Para atualizar a instalação atual da AWS CLI, baixe um novo instalador sempre que atualizar para substituir as versões anteriores. Siga estes passos na linha de comando para instalar a AWS CLI no Linux.

A seguir estão as etapas de instalação rápida em um único grupo de copiar e colar que fornece uma instalação básica. Para obter instruções guiadas, veja as etapas a seguir.

**nota**  
**(Opcional)** O bloco de comando a seguir baixa e instala a AWS CLI sem verificar a integridade do download. Para verificar a integridade do download, use as instruções passo a passo abaixo.

**Para instalar** a AWS CLI, execute os comandos a seguir.

```
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
```

**Para atualizar a instalação atual** da AWS CLI, adicione as informações do symlink e instalador existentes para criar o comando `install` com os parâmetros `--bin-dir`, `--install-dir` e `--update`. O bloco de comando a seguir usa um exemplo de symlink de */usr/local/bin* e um exemplo de localização do instalador de */usr/local/aws-cli*.

```
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
```

**Etapas de instalação guiada**

1. Baixe o arquivo de instalação de uma das seguintes maneiras:
   + **Usar o comando `curl`**: a opção `-o` especifica o nome do arquivo no qual o pacote obtido por download foi gravado. As opções no comando de exemplo a seguir gravam o arquivo obtido por download no diretório atual com o nome local `awscliv2.zip`. 

     ```
     $ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"
     ```
   + **Baixe usando o URL**: para baixar o instalador com o navegador, use o seguinte URL: [https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip](https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip). 

1. **(Opcional) Verificar a integridade do arquivo zip baixado**

   Se você tiver optado por baixar manualmente o pacote do instalador `.zip` da AWS CLI nas etapas acima, poderá executar as etapas a seguir para verificar as assinaturas por meio da ferramenta `GnuPG`.

   Os arquivos AWS CLI do pacote do instalador da `.zip` são assinados criptograficamente com assinaturas PGP. Se houver qualquer dano ou alteração dos arquivos, ocorrerá uma falha nessa verificação e você não deverá prosseguir com a instalação.

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

   1. Para criar o arquivo de chave pública, crie um arquivo de texto e cole o texto a seguir.

      ```
      -----BEGIN PGP PUBLIC KEY BLOCK-----
      
      mQINBF2Cr7UBEADJZHcgusOJl7ENSyumXh85z0TRV0xJorM2B/JL0kHOyigQluUG
      ZMLhENaG0bYatdrKP+3H91lvK050pXwnO/R7fB/FSTouki4ciIx5OuLlnJZIxSzx
      PqGl0mkxImLNbGWoi6Lto0LYxqHN2iQtzlwTVmq9733zd3XfcXrZ3+LblHAgEt5G
      TfNxEKJ8soPLyWmwDH6HWCnjZ/aIQRBTIQ05uVeEoYxSh6wOai7ss/KveoSNBbYz
      gbdzoqI2Y8cgH2nbfgp3DSasaLZEdCSsIsK1u05CinE7k2qZ7KgKAUIcT/cR/grk
      C6VwsnDU0OUCideXcQ8WeHutqvgZH1JgKDbznoIzeQHJD238GEu+eKhRHcz8/jeG
      94zkcgJOz3KbZGYMiTh277Fvj9zzvZsbMBCedV1BTg3TqgvdX4bdkhf5cH+7NtWO
      lrFj6UwAsGukBTAOxC0l/dnSmZhJ7Z1KmEWilro/gOrjtOxqRQutlIqG22TaqoPG
      fYVN+en3Zwbt97kcgZDwqbuykNt64oZWc4XKCa3mprEGC3IbJTBFqglXmZ7l9ywG
      EEUJYOlb2XrSuPWml39beWdKM8kzr1OjnlOm6+lpTRCBfo0wa9F8YZRhHPAkwKkX
      XDeOGpWRj4ohOx0d2GWkyV5xyN14p2tQOCdOODmz80yUTgRpPVQUtOEhXQARAQAB
      tCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4CGwMF
      CwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQT7Xbd/1cEYuAURraimMQrMRnJHXAUC
      aGveYQUJDMpiLAAKCRCmMQrMRnJHXKBYD/9Ab0qQdGiO5hObchG8xh8Rpb4Mjyf6
      0JrVo6m8GNjNj6BHkSc8fuTQJ/FaEhaQxj3pjZ3GXPrXjIIVChmICLlFuRXYzrXc
      Pw0lniybypsZEVai5kO0tCNBCCFuMN9RsmmRG8mf7lC4FSTbUDmxG/QlYK+0IV/l
      uJkzxWa+rySkdpm0JdqumjegNRgObdXHAQDWlubWQHWyZyIQ2B4U7AxqSpcdJp6I
      S4Zds4wVLd1WE5pquYQ8vS2cNlDm4QNg8wTj58e3lKN47hXHMIb6CHxRnb947oJa
      pg189LLPR5koh+EorNkA1wu5mAJtJvy5YMsppy2y/kIjp3lyY6AmPT1posgGk70Z
      CmToEZ5rbd7ARExtlh76A0cabMDFlEHDIK8RNUOSRr7L64+KxOUegKBfQHb9dADY
      qqiKqpCbKgvtWlds909Ms74JBgr2KwZCSY1HaOxnIr4CY43QRqAq5YHOay/mU+6w
      hhmdF18vpyK0vfkvvGresWtSXbag7Hkt3XjaEw76BzxQH21EBDqU8WJVjHgU6ru+
      DJTs+SxgJbaT3hb/vyjlw0lK+hFfhWKRwgOXH8vqducF95NRSUxtS4fpqxWVaw3Q
      V2OWSjbne99A5EPEySzryFTKbMGwaTlAwMCwYevt4YT6eb7NmFhTx0Fis4TalUs+
      j+c7Kg92pDx2uQ==
      =OBAt
      -----END PGP PUBLIC KEY BLOCK-----
      ```

      Para referência, veja a seguir os detalhes da chave pública.

      ```
      Key ID:           A6310ACC4672475C
      Type:             RSA
      Size:             4096/4096
      Created:          2019-09-18
      Expires:          2026-07-07
      User ID:          AWS CLI Team <aws-cli@amazon.com>
      Key fingerprint:  FB5D B77F D5C1 18B8 0511  ADA8 A631 0ACC 4672 475C
      ```

   1. Importe a chave pública da AWS CLI com o comando a seguir, substituindo *public-key-file-name* pelo nome do arquivo da chave pública que você criou.

      ```
      $ gpg --import public-key-file-name
      gpg: /home/username/.gnupg/trustdb.gpg: trustdb created
      gpg: key A6310ACC4672475C: public key "AWS CLI Team <aws-cli@amazon.com>" imported
      gpg: Total number processed: 1
      gpg:               imported: 1
      ```

   1. Baixe o arquivo de assinatura da AWS CLI para o pacote baixado. Ele tem o mesmo caminho e nome do arquivo `.zip` ao qual ele corresponde, mas tem a extensão `.sig`. Nos exemplos a seguir, ele foi salvo no diretório atual como um arquivo chamado `awscliv2.sig`.

      **Para a versão mais recente da AWS CLI**, use o seguinte bloco de comandos:

      ```
      $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip.sig
      ```

   1. Verifique a assinatura, passando os nomes dos arquivos `.sig` e `.zip` baixados como parâmetros para o comando `gpg`.

      ```
      $ gpg --verify awscliv2.sig awscliv2.zip
      ```

      A saída deve ser semelhante à seguinte.

      ```
      gpg: Signature made Mon Nov  4 19:00:01 2019 PST
      gpg:                using RSA key FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C
      gpg: Good signature from "AWS CLI Team <aws-cli@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: FB5D B77F D5C1 18B8 0511  ADA8 A631 0ACC 4672 475C
      ```
**Importante**  
O aviso na saída é esperado e não indica um problema. Isso ocorre porque não há uma cadeia de confiança entre a chave PGP pessoal (se você tiver uma) e a chave PGP da AWS CLI. Para obter mais informações, consulte [Web of trust](https://en.wikipedia.org/wiki/Web_of_trust).

1. Descompacte o instalador. Se a distribuição do Linux não tiver um comando `unzip` integrado, use um equivalente para descompactá-lo. O comando de exemplo a seguir descompacta o pacote e cria um diretório chamado `aws` no diretório atual.

   ```
   $ unzip awscliv2.zip
   ```
**nota**  
Ao atualizar de uma versão anterior, o comando `unzip` solicita a substituição dos arquivos existentes. Para ignorar essas solicitações, como com a automação de scripts, use o sinalizador de atualização `-u` para `unzip`. Esse sinalizador atualiza automaticamente os arquivos existentes e cria outros conforme necessário.  

   ```
   $ unzip -u awscliv2.zip
   ```

1. Execute o programa de instalação. O comando de instalação usa um arquivo chamado `install` no diretório `aws` recém-descompactado. Por padrão, os arquivos são todos instalados em `/usr/local/aws-cli`, e um link simbólico é criado em `/usr/local/bin`. O comando inclui `sudo` para conceder permissões de gravação para esses diretórios. 

   ```
   $ sudo ./aws/install
   ```

   Você poderá instalar sem `sudo` se especificar diretórios para os quais já tenha permissões de gravação. Use as seguintes instruções para o comando `install` para especificar o local de instalação:
   + Os caminhos fornecidos para os parâmetros `-i` e `-b` não devem conter nomes de diretório nem nomes de volume com caracteres de espaço ou outros caracteres de espaço em branco. Se houver um espaço, a instalação falhará.
   + `--install-dir` ou `-i`: essa opção especifica o diretório para o todos os arquivos serão copiados.

     O valor padrão é `/usr/local/aws-cli`.
   + `--bin-dir` ou `-b`: essa opção especifica que o programa `aws` principal no diretório de instalação está simbolicamente vinculado ao arquivo `aws` no caminho especificado. É necessário ter permissões de gravação no diretório especificado. Criar um symlink para um diretório que já está em seu caminho elimina a necessidade de adicionar o diretório de instalação à variável `$PATH` do usuário. 

     O valor padrão é `/usr/local/bin`.

   ```
   $ ./aws/install -i /usr/local/aws-cli -b /usr/local/bin
   ```
**nota**  
Para atualizar a instalação atual da AWS CLI, adicione as informações do symlink e instalador existentes para criar o comando `install` com o parâmetro `--update`.  

   ```
   $ sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
   ```
Para localizar o diretório de instalação e o symlink existentes, execute as seguintes etapas:  
Use o comando `which` para encontrar o symlink. Isso fornece o caminho que deve ser usado com o parâmetro `--bin-dir`.  

      ```
      $ which aws
      /usr/local/bin/aws
      ```
Use o comando `ls` para encontrar o diretório para o qual o symlink aponta. Isso fornece o caminho que deve ser usado com o parâmetro `--install-dir`.  

      ```
      $ ls -l /usr/local/bin/aws
      lrwxrwxrwx 1 ec2-user ec2-user 49 Oct 22 09:49 /usr/local/bin/aws -> /usr/local/aws-cli/v2/current/bin/aws
      ```

1. Confirme a instalação com o comando a seguir. 

   ```
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64
   ```

   Se não for possível encontrar o comando `aws`, talvez seja necessário reiniciar o terminal ou seguir a solução de problemas em [Solução de problemas da AWS CLI](cli-chap-troubleshooting.md).

------
#### [ Snap package ]

Nós fornecemos uma versão oficial com suporte da AWS da AWS CLI no `snap`. Se você quiser ter sempre a versão mais recente da AWS CLI instalado em seu sistema, um pacote snap fornece isso para você enquanto ele é atualizado automaticamente. Não há suporte integrado para selecionar versões secundárias da AWS CLI e, portanto, não é um método de instalação ideal se sua equipe precisar fixar versões. Se você quiser instalar uma versão secundária específica da AWS CLI, sugerimos que você use o instalador da linha de comando.

1. Se sua plataforma Linux ainda não estiver o `snap` instalado, instale o `snap` na sua plataforma. 

   1. Para obter informações sobre a instalação do `snap`, consulte [Instalar o daemon](https://snapcraft.io/docs/installing-snapd) na *documentação do snap*.

   1. Talvez seja necessário reiniciar o sistema para que suas variáveis `PATH` sejam atualizadas corretamente. Se você estiver tendo problemas de instalação, siga as etapas em [Corrigir problemas comuns](https://snapcraft.io/docs/fix-common-issues) na *documentação do snap*.

   1. Para verificar se o `snap` está instalado corretamente, execute o seguinte comando.

      ```
      $ snap version
      ```

1. Execute comando `snap install` a seguir para a AWS CLI.

   ```
   $ snap install aws-cli --classic
   ```

   Dependendo de suas permissões, talvez seja necessário adicionar `sudo` ao comando.

   ```
   $ sudo snap install aws-cli --classic
   ```
**nota**  
Para ver o repositório de snap da AWS CLI, incluindo instruções adicionais do `snap`, consulte a página da [https://snapcraft.io/aws-cli](https://snapcraft.io/aws-cli) no *site do Canonical Snapcraft*.

1. Verifique se o AWS CLI está instalado corretamente.

   ```
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64
   ```

   Se houver um erro, consulte [Solução de problemas da AWS CLI](cli-chap-troubleshooting.md).

------

### macOS
<a name="install-macos"></a>

#### Requisitos de instalação e atualização
<a name="install-macos-prereqs"></a>
+ A AWS CLI pode ser utilizada no macOS versões 11 e posterior. Para obter mais informações, consulte as [atualizações da política de suporte do macOS para a AWS CLI v2](https://aws.amazon.com/blogs/developer/macos-support-policy-updates-for-the-aws-cli-v2/) no *blog de ferramentas para desenvolvedores da AWS*.
+ Como a AWS não mantém repositórios de terceiros, não podemos garantir que eles contenham a versão mais recente da AWS CLI.

**Matriz de suporte da versão do macOS**


| AWS CLIVersão do  | Versão compatível do macOS | 
| --- | --- | 
| 2.21.0: atual | 11\$1 | 
| 2.17.0-2.20.0 | 10.15\$1 | 
| 2.0.0-2.16.12 | 10.14 e anterior | 

#### Instalar ou atualizar a AWS CLI
<a name="install-macos0-instructions"></a>

Se você estiver atualizando para a versão mais recente, use o mesmo método de instalação usado na versão atual. É possível instalar a AWS CLI de uma das maneiras a seguir.

------
#### [ GUI installer ]

As etapas a seguir mostram como instalar a versão mais recente da AWS CLI usando a interface de usuário padrão do macOS e o navegador.

1. No navegador, baixe o arquivo `pkg` do macOS: [https://awscli.amazonaws.com/AWSCLIV2.pkg](https://awscli.amazonaws.com/AWSCLIV2.pkg) 

1. Execute o arquivo baixado e siga as instruções na tela. Você pode optar por instalar a AWS CLI das seguintes maneiras:
   + **Para todos os usuários no computador (requer `sudo`)**
     + Você pode instalar em qualquer pasta ou escolher a padrão recomendada `/usr/local/aws-cli`.
     + O instalador cria automaticamente um symlink em `/usr/local/bin/aws` que vincula o programa principal na pasta de instalação que você escolheu.
   + **Apenas para o usuário atual (não requer `sudo`)**
     + Você pode instalar em qualquer pasta para a qual tenha permissão de gravação.
     + Devido a permissões de usuário padrão, após a conclusão do instalador, é necessário criar manualmente um arquivo de symlink no `$PATH` que aponta para os programas `aws` e `aws_completer` usando os comandos a seguir no prompt de comando. O local padrão para um symlink é `/usr/local/bin/`:

       ```
       $ ln -s /folder/installed/aws-cli/aws /usr/local/bin/aws
       $ ln -s /folder/installed/aws-cli/aws_completer /usr/local/bin/aws_completer
       ```

        Se você não tiver permissões de gravação na pasta, talvez seja necessário usar `sudo` em seu comando. O exemplo a seguir usa `sudo` com o local padrão para um symlink em `/usr/local/bin/`:

       ```
       $ sudo ln -s /folder/installed/aws-cli/aws /usr/local/bin/aws
       $ sudo ln -s /folder/installed/aws-cli/aws_completer /usr/local/bin/aws_completer
       ```
**nota**  
É possível visualizar logs de depuração para a instalação pressionando **Cmd\$1L** em qualquer lugar do instalador. Essa ação abre um painel de log que permite filtrar e salvar o log. O arquivo de log também é salvo automaticamente em `/var/log/install.log`.

1. Para verificar se o shell pode encontrar e executar o comando `aws` no `$PATH`, use os comandos a seguir. 

   ```
   $ which aws
   /usr/local/bin/aws 
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Darwin/23.3.0
   ```

   Se não for possível encontrar o comando `aws`, talvez seja necessário reiniciar o terminal ou seguir a solução de problemas em [Solução de problemas da AWS CLI](cli-chap-troubleshooting.md).

------
#### [ Command line installer - All users ]

Se você tiver permissões `sudo`, poderá instalar a AWS CLI para todos os usuários no computador. Nós fornecemos as etapas em um grupo fácil de copiar e colar. Consulte as descrições de cada linha nas etapas a seguir. 

```
$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
$ sudo installer -pkg AWSCLIV2.pkg -target /
```

**Instruções de instalação guiada**

1. Baixe o arquivo usando o comando `curl`. A opção `-o` especifica o nome do arquivo no qual o pacote obtido por download foi gravado. No exemplo anterior, o arquivo é gravado como `AWSCLIV2.pkg` na pasta atual.

   ```
   $ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
   ```

1. Execute o programa `installer` padrão do macOS, especificando o arquivo `.pkg` baixado como a origem. Use o parâmetro `-pkg` para especificar o nome do pacote a ser instalado e o parâmetro `-target /` para especificar em qual unidade instalar o pacote. Os arquivos são instalados no `/usr/local/aws-cli`, e um symlink é criado automaticamente em `/usr/local/bin`. Você deve incluir `sudo` no comando para conceder permissões de gravação para essas pastas. 

   ```
   $ sudo installer -pkg ./AWSCLIV2.pkg -target /
   ```

   Após a conclusão da instalação, os logs de depuração são gravados em `/var/log/install.log`.

1. Para verificar se o shell pode encontrar e executar o comando `aws` no `$PATH`, use os comandos a seguir. 

   ```
   $ which aws
   /usr/local/bin/aws 
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Darwin/23.3.0
   ```

   Se não for possível encontrar o comando `aws`, talvez seja necessário reiniciar o terminal ou seguir a solução de problemas em [Solução de problemas da AWS CLI](cli-chap-troubleshooting.md).

------
#### [ Command line - Current user ]

1. Para especificar em qual pasta a AWS CLI está instalada, é necessário criar um arquivo XML com qualquer nome. Esse é um arquivo no formato XML que se parece com o exemplo a seguir. Deixe todo o valor como mostrado e substitua o caminho */Users/myusername* na linha 9 pelo caminho até a pasta em que deseja instalar a AWS CLI. *A pasta já deve existir, caso contrário, o comando falhará.* O exemplo de XML a seguir, chamado *choices.xml*, especifica o instalador para instalar a AWS CLI na pasta`/Users/myusername`, onde ele cria uma pasta chamada `aws-cli`.

   ```
   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
   <plist version="1.0">
     <array>
       <dict>
         <key>choiceAttribute</key>
         <string>customLocation</string>
         <key>attributeSetting</key>
         <string>/Users/myusername</string>
         <key>choiceIdentifier</key>
         <string>default</string>
       </dict>
     </array>
   </plist>
   ```

1. Baixe o instalador `pkg` usando o comando `curl`. A opção `-o` especifica o nome do arquivo no qual o pacote obtido por download foi gravado. No exemplo anterior, o arquivo é gravado como `AWSCLIV2.pkg` na pasta atual.

   ```
   $ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
   ```

1. Execute o programa `installer` padrão do macOS com as seguintes opções:
   + Especifique o nome do pacote a ser instalado usando o parâmetro `-pkg`.
   + Especifique uma instalação *somente para o usuário atual* definindo o parâmetro `-target` como `CurrentUserHomeDirectory`.
   + Especifique o caminho (relativo à pasta atual) e o nome do arquivo XML criado no parâmetro `-applyChoiceChangesXML`.

   O exemplo a seguir instala a AWS CLI na pasta `/Users/myusername/aws-cli`.

   ```
   $ installer -pkg AWSCLIV2.pkg \
               -target CurrentUserHomeDirectory \
               -applyChoiceChangesXML choices.xml
   ```

1. Como as permissões de usuário padrão geralmente não permitem gravar em pastas no `$PATH`, o instalador nesse modo não tenta adicionar os symlinks aos programas `aws` e `aws_completer`. Para que a AWS CLI seja executada corretamente, é necessário criar manualmente os symlinks após a conclusão do instalador. Se `$PATH` incluir uma pasta na qual você pode gravar e você especificar a pasta como o caminho de destino, é possível executar o comando a seguir sem `sudo`. Se você não tiver uma pasta gravável no `$PATH`, será necessário usar `sudo` para permissões para gravar na pasta de destino especificada. O local padrão para um symlink é `/usr/local/bin/`. Substitua o `folder/installed` pelo caminho da instalação da AWS CLI.

   ```
   $ sudo ln -s /folder/installed/aws-cli/aws /usr/local/bin/aws
   $ sudo ln -s /folder/installed/aws-cli/aws_completer /usr/local/bin/aws_completer
   ```

   Após a conclusão da instalação, os logs de depuração são gravados em `/var/log/install.log`.

1. Para verificar se o shell pode encontrar e executar o comando `aws` no `$PATH`, use os comandos a seguir. 

   ```
   $ which aws
   /usr/local/bin/aws 
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Darwin/23.3.0
   ```

   Se não for possível encontrar o comando `aws`, talvez seja necessário reiniciar o terminal ou seguir a solução de problemas em [Solução de problemas da AWS CLI](cli-chap-troubleshooting.md).

------

### Windows
<a name="install-windows"></a>

#### Requisitos de instalação e atualização
<a name="install-windows-prereqs"></a>
+ A AWS CLI pode ser utilizada em versões compatíveis com o Microsoft Windows de 64 bits.
+ Direitos de administrador para instalar software

#### Instalar ou atualizar a AWS CLI
<a name="install-windows-instructions"></a>

Para atualizar a instalação atual da AWS CLI no Windows, baixe um novo instalador sempre que atualizar para substituir as versões anteriores. A AWS CLI é atualizada regularmente. Para ver quando a versão mais recente foi lançada, consulte o [Log de alterações da AWS CLI versão 2](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) no *GitHub*. 

1. Fazer download e executar o instalador MSI da AWS CLI para Windows (64 bits)

   [https://awscli.amazonaws.com/AWSCLIV2.msi](https://awscli.amazonaws.com/AWSCLIV2.msi) 

   Você também pode executar o comando `msiexec` para executar o instalador MSI.

   ```
   C:\> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
   ```

   Com relação a vários parâmetros que podem ser usados com `msiexec`, consulte [msiexec](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/msiexec) no site de *documentação da Microsoft*. Por exemplo, você pode usar a sinalização `/qn` para uma instalação silenciosa.

   ```
   C:\> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi /qn
   ```

1. Para confirmar a instalação, abra o menu **Início**, procure `cmd` para abrir uma janela do prompt de comando e, no prompt de comando, use o comando `aws --version`. 

   ```
   C:\> aws --version
   aws-cli/2.27.41 Python/3.11.6 Windows/10 exe/AMD64 prompt/off
   ```

   Se o Windows não puder localizar o programa, talvez seja necessário fechar e abrir a janela do prompt de comando novamente para atualizar o caminho ou seguir a solução de problemas em [Solução de problemas da AWS CLI](cli-chap-troubleshooting.md).

## Solução de problemas de erros de instalação e desinstalação da AWS CLI
<a name="install-tshoot"></a>

Se você encontrar problemas após instalar ou desinstalar a AWS CLI, consulte [Solução de problemas da AWS CLI](cli-chap-troubleshooting.md) para obter os passos para a solução de problemas. Para obter os passos mais relevantes para a solução de problemas, consulte [Erros de comando não encontrado](cli-chap-troubleshooting.md#tshoot-install-not-found), [O comando “`aws --version`” retorna uma versão diferente da que você instalou](cli-chap-troubleshooting.md#tshoot-install-wrong-version) e [O comando “`aws --version`” retorna uma versão após a desinstalação da AWS CLI](cli-chap-troubleshooting.md#tshoot-uninstall-1).

## Próximas etapas
<a name="install-next-steps"></a>

Após a instalação bem-sucedida da AWS CLI, você poderá excluir com segurança os arquivos do instalador baixados. Depois de concluir as etapas em [Pré-requisitos para usar a AWS CLI versão 2](getting-started-prereqs.md) e instalar a AWS CLI, você deve utilizar [Configuração da AWS CLI](getting-started-quickstart.md).

# Instalar versões anteriores à AWS CLI versão 2
<a name="getting-started-version"></a>

Este tópico descreve como instalar ou atualizar versões anteriores à AWS Command Line Interface versão 2 (AWS CLI) em sistemas operacionais compatíveis. Para obter informações sobre os lançamentos da AWS CLI versão 2, consulte o [Log de alterações da AWS CLI versão 2](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) no GitHub.

Instruções de instalação da AWS CLI versão 2:

## Linux
<a name="versioned-linux"></a>

### Requisitos de instalação
<a name="versioned-linux-reqs"></a>
+ Você sabe qual lançamento da AWS CLI versão 2 gostaria de instalar. Para obter uma lista das versões, consulte o [Log de alterações da AWS CLI versão 2](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) no *GitHub*.
+ Você deve ser capaz de extrair ou “descompactar” o pacote baixado. Se o sistema operacional não tiver o comando `unzip` integrado, use um equivalente.
+ A AWS CLI versão 2 usa `glibc`, `groff` e `less`. Estes são incluídos por padrão na maioria das principais distribuições do Linux.
+ A AWS CLI versão 2 é compatível com as versões de 64 bits das distribuições recentes do CentOS, Fedora, Ubuntu, Amazon Linux 1, Amazon Linux 2 e Linux ARM.
+ Como a AWS não mantém repositórios de terceiros, não podemos garantir que eles contenham a versão mais recente da AWS CLI.

### Instruções de instalação
<a name="versioned-linux-instructions"></a>

Siga estes passos na linha de comando para instalar a AWS CLI no Linux. 

Nós fornecemos as etapas em um grupo fácil de copiar e colar que leva em conta se você usa o Linux de 64 bits ou o Linux ARM. Consulte as descrições de cada linha nas etapas a seguir.

------
#### [ Linux x86 (64-bit) ]

**nota**  
**(Opcional)** O bloco de comando a seguir baixa e instala a AWS CLI sem verificar a integridade do download. Para verificar a integridade do download, use as instruções passo a passo abaixo.

 Para obter uma lista das versões, consulte o [Log de alterações da AWS CLI versão 2](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) no *GitHub*.

**Para instalar** a AWS CLI, execute os comandos a seguir.

Para especificar uma versão, acrescente um hífen e o número da versão ao nome do arquivo. Neste exemplo, o nome do arquivo para a versão *2.0.30* seria `awscli-exe-linux-x86_64-2.0.30.zip`, o que resultaria no seguinte comando:

```
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
```

**Para atualizar a instalação atual** da AWS CLI, adicione as informações do symlink e instalador existentes para criar o comando `install` com os parâmetros `--bin-dir`, `--install-dir` e `--update`. O bloco de comando a seguir usa um exemplo de symlink de */usr/local/bin* e um exemplo de localização do instalador de */usr/local/aws-cli*.

```
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
```

------
#### [ Linux ARM ]

**nota**  
**(Opcional)** O bloco de comando a seguir baixa e instala a AWS CLI sem verificar a integridade do download. Para verificar a integridade do download, use as instruções passo a passo abaixo.

 Para obter uma lista das versões, consulte o [Log de alterações da AWS CLI versão 2](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) no *GitHub*.

**Para instalar** a AWS CLI, execute os comandos a seguir.

Para especificar uma versão, acrescente um hífen e o número da versão ao nome do arquivo. Neste exemplo, o nome do arquivo para a versão *2.0.30* seria `awscli-exe-linux-aarch64-2.0.30.zip`, o que resultaria no seguinte comando:

```
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
```

**Para atualizar a instalação atual** da AWS CLI, adicione as informações do symlink e instalador existentes para criar o comando `install` com os parâmetros `--bin-dir`, `--install-dir` e `--update`. O bloco de comando a seguir usa um exemplo de symlink de */usr/local/bin* e um exemplo de localização do instalador de */usr/local/aws-cli*.

```
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
```

------

1. Baixe o arquivo de instalação de uma das seguintes maneiras:

------
#### [ Linux x86 (64-bit) ]
   + **Usar o comando `curl`**: a opção `-o` especifica o nome do arquivo no qual o pacote obtido por download foi gravado. As opções no comando de exemplo a seguir gravam o arquivo obtido por download no diretório atual com o nome local `awscliv2.zip`. 

     Para especificar uma versão, acrescente um hífen e o número da versão ao nome do arquivo. Neste exemplo, o nome do arquivo para a versão *2.0.30* seria `awscli-exe-linux-x86_64-2.0.30.zip`, o que resultaria no seguinte comando:

     ```
     $ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "awscliv2.zip"
     ```

      Para obter uma lista das versões, consulte o [Log de alterações da AWS CLI versão 2](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) no *GitHub*.
   + **Baixe usando o URL** – 

     Em seu navegador, baixe a versão específica da AWS CLI acrescentando um hífen e o número da versão ao nome do arquivo. 

     ```
     https://awscli.amazonaws.com/awscli-exe-linux-x86_64-version.number.zip
     ```

     Nesse exemplo, o nome do arquivo da versão *2.0.30* seria awscli-exe-linux-x86\$164-2.0.30.zip, resultando no seguinte link: [https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip](https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip)

------
#### [ Linux ARM ]
   + **Usar o comando `curl`**: a opção `-o` especifica o nome do arquivo no qual o pacote obtido por download foi gravado. As opções no comando de exemplo a seguir gravam o arquivo obtido por download no diretório atual com o nome local `awscliv2.zip`. 

     Para especificar uma versão, acrescente um hífen e o número da versão ao nome do arquivo. Neste exemplo, o nome do arquivo para a versão *2.0.30* seria `awscli-exe-linux-aarch64-2.0.30.zip`, o que resultaria no seguinte comando:

     ```
     $ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip" -o "awscliv2.zip"
     unzip awscliv2.zip
     sudo ./aws/install
     ```
   + **Baixe usando o URL** – 

     Em seu navegador, baixe a versão específica da AWS CLI acrescentando um hífen e o número da versão ao nome do arquivo. 

     ```
     https://awscli.amazonaws.com/awscli-exe-linux-aarch64-version.number.zip
     ```

     Neste exemplo, o nome do arquivo para a versão *2.0.30* seria `awscli-exe-linux-aarch64-2.0.30.zip`, o que resultaria no seguinte link: [https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip](https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip)

------

1. **(Opcional) Verificar a integridade do arquivo zip baixado**

   Se você tiver optado por baixar manualmente o pacote do instalador `.zip` da AWS CLI nas etapas acima, poderá executar as etapas a seguir para verificar as assinaturas por meio da ferramenta `GnuPG`.

   Os arquivos AWS CLI do pacote do instalador da `.zip` são assinados criptograficamente com assinaturas PGP. Se houver qualquer dano ou alteração dos arquivos, ocorrerá uma falha nessa verificação e você não deverá prosseguir com a instalação.

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

   1. Para criar o arquivo de chave pública, crie um arquivo de texto e cole o texto a seguir.

      ```
      -----BEGIN PGP PUBLIC KEY BLOCK-----
      
      mQINBF2Cr7UBEADJZHcgusOJl7ENSyumXh85z0TRV0xJorM2B/JL0kHOyigQluUG
      ZMLhENaG0bYatdrKP+3H91lvK050pXwnO/R7fB/FSTouki4ciIx5OuLlnJZIxSzx
      PqGl0mkxImLNbGWoi6Lto0LYxqHN2iQtzlwTVmq9733zd3XfcXrZ3+LblHAgEt5G
      TfNxEKJ8soPLyWmwDH6HWCnjZ/aIQRBTIQ05uVeEoYxSh6wOai7ss/KveoSNBbYz
      gbdzoqI2Y8cgH2nbfgp3DSasaLZEdCSsIsK1u05CinE7k2qZ7KgKAUIcT/cR/grk
      C6VwsnDU0OUCideXcQ8WeHutqvgZH1JgKDbznoIzeQHJD238GEu+eKhRHcz8/jeG
      94zkcgJOz3KbZGYMiTh277Fvj9zzvZsbMBCedV1BTg3TqgvdX4bdkhf5cH+7NtWO
      lrFj6UwAsGukBTAOxC0l/dnSmZhJ7Z1KmEWilro/gOrjtOxqRQutlIqG22TaqoPG
      fYVN+en3Zwbt97kcgZDwqbuykNt64oZWc4XKCa3mprEGC3IbJTBFqglXmZ7l9ywG
      EEUJYOlb2XrSuPWml39beWdKM8kzr1OjnlOm6+lpTRCBfo0wa9F8YZRhHPAkwKkX
      XDeOGpWRj4ohOx0d2GWkyV5xyN14p2tQOCdOODmz80yUTgRpPVQUtOEhXQARAQAB
      tCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4CGwMF
      CwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQT7Xbd/1cEYuAURraimMQrMRnJHXAUC
      aGveYQUJDMpiLAAKCRCmMQrMRnJHXKBYD/9Ab0qQdGiO5hObchG8xh8Rpb4Mjyf6
      0JrVo6m8GNjNj6BHkSc8fuTQJ/FaEhaQxj3pjZ3GXPrXjIIVChmICLlFuRXYzrXc
      Pw0lniybypsZEVai5kO0tCNBCCFuMN9RsmmRG8mf7lC4FSTbUDmxG/QlYK+0IV/l
      uJkzxWa+rySkdpm0JdqumjegNRgObdXHAQDWlubWQHWyZyIQ2B4U7AxqSpcdJp6I
      S4Zds4wVLd1WE5pquYQ8vS2cNlDm4QNg8wTj58e3lKN47hXHMIb6CHxRnb947oJa
      pg189LLPR5koh+EorNkA1wu5mAJtJvy5YMsppy2y/kIjp3lyY6AmPT1posgGk70Z
      CmToEZ5rbd7ARExtlh76A0cabMDFlEHDIK8RNUOSRr7L64+KxOUegKBfQHb9dADY
      qqiKqpCbKgvtWlds909Ms74JBgr2KwZCSY1HaOxnIr4CY43QRqAq5YHOay/mU+6w
      hhmdF18vpyK0vfkvvGresWtSXbag7Hkt3XjaEw76BzxQH21EBDqU8WJVjHgU6ru+
      DJTs+SxgJbaT3hb/vyjlw0lK+hFfhWKRwgOXH8vqducF95NRSUxtS4fpqxWVaw3Q
      V2OWSjbne99A5EPEySzryFTKbMGwaTlAwMCwYevt4YT6eb7NmFhTx0Fis4TalUs+
      j+c7Kg92pDx2uQ==
      =OBAt
      -----END PGP PUBLIC KEY BLOCK-----
      ```

      Para referência, veja a seguir os detalhes da chave pública.

      ```
      Key ID:           A6310ACC4672
      Type:             RSA
      Size:             4096/4096
      Created:          2019-09-18
      Expires:          2026-07-07
      User ID:          AWS CLI Team <aws-cli@amazon.com>
      Key fingerprint:  FB5D B77F D5C1 18B8 0511  ADA8 A631 0ACC 4672 475C
      ```

   1. Importe a chave pública da AWS CLI com o comando a seguir, substituindo *public-key-file-name* pelo nome do arquivo da chave pública que você criou.

      ```
      $ gpg --import public-key-file-name
      gpg: /home/username/.gnupg/trustdb.gpg: trustdb created
      gpg: key A6310ACC4672475C: public key "AWS CLI Team <aws-cli@amazon.com>" imported
      gpg: Total number processed: 1
      gpg:               imported: 1
      ```

   1. Baixe o arquivo de assinatura da AWS CLI para o pacote baixado. Ele tem o mesmo caminho e nome do arquivo `.zip` ao qual ele corresponde, mas tem a extensão `.sig`. Nos exemplos a seguir, ele foi salvo no diretório atual como um arquivo chamado `awscliv2.sig`.

------
#### [ Linux x86 (64-bit) ]

      **Para a versão mais recente da AWS CLI**, use o seguinte bloco de comandos:

      ```
      $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip.sig
      ```

      **Para uma versão específica da AWS CLI**, acrescente um hífen e o número da versão ao nome do arquivo. Neste exemplo, o nome do arquivo para a versão *2.0.30* seria `awscli-exe-linux-x86_64-2.0.30.zip.sig`, o que resultaria no seguinte comando:

      ```
      $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip.sig
      ```

       Para obter uma lista das versões, consulte o [Log de alterações da AWS CLI versão 2](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) no *GitHub*.

------
#### [ Linux ARM ]

      **Para a versão mais recente da AWS CLI**, use o seguinte bloco de comandos:

      ```
      $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip.sig
      ```

      **Para uma versão específica da AWS CLI**, acrescente um hífen e o número da versão ao nome do arquivo. Neste exemplo, o nome do arquivo para a versão *2.0.30* seria `awscli-exe-linux-aarch64-2.0.30.zip.sig`, o que resultaria no seguinte comando:

      ```
      $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip.sig
      ```

       Para obter uma lista das versões, consulte o [Log de alterações da AWS CLI versão 2](https://github.com/aws/aws-cli/blob/v2/CHANGELOG.rst?plain=1) no *GitHub*.

------

   1. Verifique a assinatura, passando os nomes dos arquivos `.sig` e `.zip` baixados como parâmetros para o comando `gpg`.

      ```
      $ gpg --verify awscliv2.sig awscliv2.zip
      ```

      A saída deve ser semelhante à seguinte.

      ```
      gpg: Signature made Mon Nov  4 19:00:01 2019 PST
      gpg:                using RSA key FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C
      gpg: Good signature from "AWS CLI Team <aws-cli@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: FB5D B77F D5C1 18B8 0511  ADA8 A631 0ACC 4672 475C
      ```
**Importante**  
O aviso na saída é esperado e não indica um problema. Isso ocorre porque não há uma cadeia de confiança entre a chave PGP pessoal (se você tiver uma) e a chave PGP da AWS CLI. Para obter mais informações, consulte [Web of trust](https://en.wikipedia.org/wiki/Web_of_trust).

1. Descompacte o instalador. Se a distribuição do Linux não tiver um comando `unzip` integrado, use um equivalente para descompactá-lo. O comando de exemplo a seguir descompacta o pacote e cria um diretório chamado `aws` no diretório atual.

   ```
   $ unzip awscliv2.zip
   ```

1. Execute o programa de instalação. O comando de instalação usa um arquivo chamado `install` no diretório `aws` recém-descompactado. Por padrão, os arquivos são todos instalados em `/usr/local/aws-cli`, e um link simbólico é criado em `/usr/local/bin`. O comando inclui `sudo` para conceder permissões de gravação para esses diretórios. 

   ```
   $ sudo ./aws/install
   ```

   Você poderá instalar sem `sudo` se especificar diretórios para os quais já tenha permissões de gravação. Use as seguintes instruções para o comando `install` para especificar o local de instalação:
   + Os caminhos fornecidos para os parâmetros `-i` e `-b` não devem conter nomes de diretório nem nomes de volume com caracteres de espaço ou outros caracteres de espaço em branco. Se houver um espaço, a instalação falhará.
   + `--install-dir` ou `-i`: essa opção especifica o diretório para o todos os arquivos serão copiados.

     O valor padrão é `/usr/local/aws-cli`.
   + `--bin-dir` ou `-b`: essa opção especifica que o programa `aws` principal no diretório de instalação está simbolicamente vinculado ao arquivo `aws` no caminho especificado. É necessário ter permissões de gravação no diretório especificado. Criar um symlink para um diretório que já está em seu caminho elimina a necessidade de adicionar o diretório de instalação à variável `$PATH` do usuário. 

     O valor padrão é `/usr/local/bin`.

   ```
   $ ./aws/install -i /usr/local/aws-cli -b /usr/local/bin
   ```
**nota**  
Para atualizar a instalação atual da AWS CLI versão 2 para uma versão mais recente, adicione as informações do symlink e instalador existentes para construir o comando `install` com o parâmetro `--update`.  

   ```
   $ sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
   ```
Para localizar o diretório de instalação e o symlink existentes, execute as seguintes etapas:  
Use o comando `which` para encontrar o symlink. Isso fornece o caminho que deve ser usado com o parâmetro `--bin-dir`.  

      ```
      $ which aws
      /usr/local/bin/aws
      ```
Use o comando `ls` para encontrar o diretório para o qual o symlink aponta. Isso fornece o caminho que deve ser usado com o parâmetro `--install-dir`.  

      ```
      $ ls -l /usr/local/bin/aws
      lrwxrwxrwx 1 ec2-user ec2-user 49 Oct 22 09:49 /usr/local/bin/aws -> /usr/local/aws-cli/v2/current/bin/aws
      ```

1. Confirme a instalação com o comando a seguir. 

   ```
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64
   ```

   Se não for possível encontrar o comando `aws`, talvez seja necessário reiniciar o terminal ou seguir a solução de problemas em [Solução de problemas da AWS CLI](cli-chap-troubleshooting.md).

## macOS
<a name="versioned-macos"></a>

### Requisitos de instalação
<a name="versioned-macos-reqs"></a>
+ Você sabe qual lançamento da AWS CLI versão 2 gostaria de instalar. Para obter uma lista das versões, consulte o [Log de alterações da AWS CLI versão 2](https://github.com/aws/aws-cli/blob/v2/CHANGELOG.rst?plain=1) no *GitHub*.
+ Oferecemos suporte à AWS CLI versão 2 nas versões do macOS de 64 bits com suporte da Apple.
+ Como a AWS não mantém repositórios de terceiros, não podemos garantir que eles contenham a versão mais recente da AWS CLI.

### Instruções de instalação
<a name="versioned-macos-install"></a>

Você pode instalar a AWS CLI versão 2 no macOS usando as opções a seguir.

------
#### [ GUI installer ]

As etapas a seguir mostram como instalar ou atualizar para o lançamento mais recente da AWS CLI versão 2 usando a interface de usuário padrão do macOS e o navegador. Se você estiver atualizando para a versão mais recente, use o mesmo método de instalação usado para a versão atual.

1. Em seu navegador, baixe a versão específica da AWS CLI acrescentando um hífen e o número da versão ao nome do arquivo. 

   ```
   https://awscli.amazonaws.com/AWSCLIV2-version.number.pkg
   ```

   Neste exemplo, o nome do arquivo para a versão *2.0.30* seria `AWSCLIV2-2.0.30.pkg`, o que resultaria no seguinte link: [https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg](https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg). 

1. Execute o arquivo baixado e siga as instruções na tela. Você pode optar por instalar a AWS CLI versão 2 das seguintes maneiras:
   + **Para todos os usuários no computador (requer `sudo`)**
     + Você pode instalar em qualquer pasta ou escolher a padrão recomendada `/usr/local/aws-cli`.
     + O instalador cria automaticamente um symlink em `/usr/local/bin/aws` que vincula o programa principal na pasta de instalação que você escolheu.
   + **Apenas para o usuário atual (não requer `sudo`)**
     + Você pode instalar em qualquer pasta para a qual tenha permissão de gravação.
     + Devido a permissões de usuário padrão, após a conclusão do instalador, é necessário criar manualmente um arquivo de symlink no `$PATH` que aponta para os programas `aws` e `aws_completer` usando os comandos a seguir no prompt de comando. Se `$PATH` incluir uma pasta na qual você pode gravar, será possível executar o comando a seguir sem `sudo` se você especificar essa pasta como o caminho de destino. Se você não tiver uma pasta gravável no `$PATH`, será necessário usar `sudo` nos comandos a fim de obter permissões para gravar na pasta de destino especificada. O local padrão para um symlink é `/usr/local/bin/`.

       ```
       $ sudo ln -s /folder/installed/aws-cli/aws /usr/local/bin/aws
       $ sudo ln -s /folder/installed/aws-cli/aws_completer /usr/local/bin/aws_completer
       ```
**nota**  
É possível visualizar logs de depuração para a instalação pressionando **Cmd\$1L** em qualquer lugar do instalador. Essa ação abre um painel de log que permite filtrar e salvar o log. O arquivo de log também é salvo automaticamente em `/var/log/install.log`.

1. Para verificar se o shell pode encontrar e executar o comando `aws` no `$PATH`, use os comandos a seguir. 

   ```
   $ which aws
   /usr/local/bin/aws 
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Darwin/23.3.0
   ```

   Se não for possível encontrar o comando `aws`, talvez seja necessário reiniciar o terminal ou seguir a solução de problemas em [Solução de problemas da AWS CLI](cli-chap-troubleshooting.md).

------
#### [ Command line installer - All users ]

Se você tiver permissões `sudo`, poderá instalar a AWS CLI versão 2 para todos os usuários no computador. Nós fornecemos as etapas em um grupo fácil de copiar e colar. Consulte as descrições de cada linha nas etapas a seguir. 

Para uma versão específica da AWS CLI, acrescente um hífen e o número da versão ao nome do arquivo. Neste exemplo, o nome do arquivo para a versão *2.0.30* seria `AWSCLIV2-2.0.30.pkg`, o que resultaria no seguinte comando:

```
$ curl "https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg" -o "AWSCLIV2.pkg"
$ sudo installer -pkg AWSCLIV2.pkg -target /
```

1. Baixe o arquivo usando o comando `curl`. A opção `-o` especifica o nome do arquivo no qual o pacote obtido por download foi gravado. No exemplo anterior, o arquivo é gravado como `AWSCLIV2.pkg` na pasta atual.

   Para uma versão específica da AWS CLI, acrescente um hífen e o número da versão ao nome do arquivo. Neste exemplo, o nome do arquivo para a versão *2.0.30* seria `AWSCLIV2-2.0.30.pkg`, o que resultaria no seguinte comando:

   ```
   $ curl "https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg" -o "AWSCLIV2.pkg"
   ```

    Para obter uma lista das versões, consulte o [Log de alterações da AWS CLI versão 2](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) no *GitHub*.

1. Execute o programa `installer` padrão do macOS, especificando o arquivo `.pkg` baixado como a origem. Use o parâmetro `-pkg` para especificar o nome do pacote a ser instalado e o parâmetro `-target /` para especificar em qual unidade instalar o pacote. Os arquivos são instalados no `/usr/local/aws-cli`, e um symlink é criado automaticamente em `/usr/local/bin`. Você deve incluir `sudo` no comando para conceder permissões de gravação para essas pastas. 

   ```
   $ sudo installer -pkg ./AWSCLIV2.pkg -target /
   ```

   Após a conclusão da instalação, os logs de depuração são gravados em `/var/log/install.log`.

1. Para verificar se o shell pode encontrar e executar o comando `aws` no `$PATH`, use os comandos a seguir. 

   ```
   $ which aws
   /usr/local/bin/aws 
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Darwin/23.3.0
   ```

   Se não for possível encontrar o comando `aws`, talvez seja necessário reiniciar o terminal ou seguir a solução de problemas em [Solução de problemas da AWS CLI](cli-chap-troubleshooting.md).

------
#### [ Command line - Current user ]

1. Para especificar em qual pasta a AWS CLI está instalada, é necessário criar um arquivo XML. Esse é um arquivo no formato XML que se parece com o exemplo a seguir. Deixe todos os valores como mostrado e substitua o caminho */Users/myusername* na linha 9 pelo caminho até a pasta em que deseja instalar a AWS CLI versão 2. *A pasta já deve existir, caso contrário, o comando falhará.* Esse exemplo XML especifica que o instalador instalará a AWS CLI na pasta `/Users/myusername`, em que ele criará uma pasta chamada `aws-cli`.

   ```
   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
   <plist version="1.0">
     <array>
       <dict>
         <key>choiceAttribute</key>
         <string>customLocation</string>
         <key>attributeSetting</key>
         <string>/Users/myusername</string>
         <key>choiceIdentifier</key>
         <string>default</string>
       </dict>
     </array>
   </plist>
   ```

1. Baixe o instalador `pkg` usando o comando `curl`. A opção `-o` especifica o nome do arquivo no qual o pacote obtido por download foi gravado. No exemplo anterior, o arquivo é gravado como `AWSCLIV2.pkg` na pasta atual.

   Para a versão específica da AWS CLI, acrescente um hífen e o número da versão ao nome do arquivo. Neste exemplo, o nome do arquivo para a versão *2.0.30* seria `AWSCLIV2-2.0.30.pkg`, o que resultaria no seguinte comando:

   ```
   $ curl "https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg" -o "AWSCLIV2.pkg"
   ```

    Para obter uma lista das versões, consulte o [Log de alterações da AWS CLI versão 2](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) no *GitHub*.

1. Execute o programa `installer` padrão do macOS com as seguintes opções:
   + Especifique o nome do pacote a ser instalado usando o parâmetro `-pkg`.
   + Especifique uma instalação *somente para o usuário atual* definindo o parâmetro `-target` como `CurrentUserHomeDirectory`.
   + Especifique o caminho (relativo à pasta atual) e o nome do arquivo XML criado no parâmetro `-applyChoiceChangesXML`.

   O exemplo a seguir instala a AWS CLI na pasta `/Users/myusername/aws-cli`.

   ```
   $ installer -pkg AWSCLIV2.pkg \
               -target CurrentUserHomeDirectory \
               -applyChoiceChangesXML choices.xml
   ```

1. Como as permissões de usuário padrão geralmente não permitem gravar em pastas no `$PATH`, o instalador nesse modo não tenta adicionar os symlinks aos programas `aws` e `aws_completer`. Para que a AWS CLI seja executada corretamente, é necessário criar manualmente os symlinks após a conclusão do instalador. Se `$PATH` incluir uma pasta na qual você pode gravar e você especificar a pasta como o caminho de destino, é possível executar o comando a seguir sem `sudo`. Se você não tiver uma pasta gravável no `$PATH`, será necessário usar `sudo` para permissões para gravar na pasta de destino especificada. O local padrão para um symlink é `/usr/local/bin/`.

   ```
   $ sudo ln -s /folder/installed/aws-cli/aws /usr/local/bin/aws
   $ sudo ln -s /folder/installed/aws-cli/aws_completer /usr/local/bin/aws_completer
   ```

   Após a conclusão da instalação, os logs de depuração são gravados em `/var/log/install.log`.

1. Para verificar se o shell pode encontrar e executar o comando `aws` no `$PATH`, use os comandos a seguir. 

   ```
   $ which aws
   /usr/local/bin/aws 
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Darwin/23.3.0
   ```

   Se não for possível encontrar o comando `aws`, talvez seja necessário reiniciar o terminal ou seguir a solução de problemas em [Solução de problemas da AWS CLI](cli-chap-troubleshooting.md).

------

## Windows
<a name="versioned-windows"></a>

### Requisitos de instalação
<a name="versioned-windows-reqs"></a>
+ Você sabe qual lançamento da AWS CLI versão 2 gostaria de instalar. Para obter uma lista das versões, consulte o [Log de alterações da AWS CLI versão 2](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) no *GitHub*.
+ A AWS CLI pode ser utilizada em versões compatíveis com o Microsoft Windows de 64 bits.
+ Direitos de administrador para instalar software

### Instruções de instalação
<a name="versioned-windows-install"></a>

Para atualizar a instalação atual da AWS CLI versão 2 no Windows, baixe um novo instalador sempre que atualizar para substituir as versões anteriores. A AWS CLI é atualizada regularmente. Para ver quando a versão mais recente foi lançada, consulte o [Log de alterações da AWS CLI versão 2](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) no *GitHub*. 

1. Baixe e execute o instalador MSI da AWS CLI para Windows (64 bits) de uma das seguintes maneiras:
   + **Baixando e executando o instalador MSI:** para criar seu link de download para uma versão específica da AWS CLI, acrescente um hífen e o número da versão ao nome do arquivo.

     ```
     https://awscli.amazonaws.com/AWSCLIV2-version.number.msi
     ```

     Neste exemplo, o nome do arquivo da versão *2.0.30* seria `AWSCLIV2-2.0.30.msi`, o que resultaria no seguinte link: [https://awscli.amazonaws.com/AWSCLIV2-2.0.30.msi](https://awscli.amazonaws.com/AWSCLIV2-2.0.30.msi). 
   + **Usando o comando msiexec:** você também pode usar o instalador MSI adicionando o link ao comando `msiexec`. Para uma versão específica da AWS CLI, acrescente um hífen e o número da versão ao nome do arquivo.

     ```
     C:\> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2-version.number.msi
     ```

     Neste exemplo, o nome do arquivo para a versão *2.0.30* seria `AWSCLIV2-2.0.30.msi`, o que resultaria no seguinte link: [https://awscli.amazonaws.com/AWSCLIV2-2.0.30.msi](https://awscli.amazonaws.com/AWSCLIV2-2.0.30.msi) 

     ```
     C:\> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2-2.0.30.msi
     ```

     Com relação a vários parâmetros que podem ser usados com `msiexec`, consulte [msiexec](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/msiexec) no site de *documentação da Microsoft*.

   Para obter uma lista das versões, consulte o [Log de alterações da AWS CLI versão 2](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) no *GitHub*.

1. Para confirmar a instalação, abra o menu **Início**, procure `cmd` para abrir uma janela do prompt de comando e, no prompt de comando, use o comando `aws --version`. 

   ```
   C:\> aws --version
   aws-cli/2.27.41 Python/3.11.6 Windows/10 exe/AMD64 prompt/off
   ```

   Se o Windows não puder localizar o programa, talvez seja necessário fechar e abrir a janela do prompt de comando novamente para atualizar o caminho ou seguir a solução de problemas em [Solução de problemas da AWS CLI](cli-chap-troubleshooting.md).

## Solução de problemas de erros de instalação e desinstalação da AWS CLI
<a name="getting-started-version-tshoot"></a>

Se você encontrar problemas após instalar ou desinstalar a AWS CLI, consulte [Solução de problemas da AWS CLI](cli-chap-troubleshooting.md) para obter os passos para a solução de problemas. Para obter os passos mais relevantes para a solução de problemas, consulte [Erros de comando não encontrado](cli-chap-troubleshooting.md#tshoot-install-not-found), [O comando “`aws --version`” retorna uma versão diferente da que você instalou](cli-chap-troubleshooting.md#tshoot-install-wrong-version) e [O comando “`aws --version`” retorna uma versão após a desinstalação da AWS CLI](cli-chap-troubleshooting.md#tshoot-uninstall-1).

## Próximas etapas
<a name="getting-started-version-next"></a>

Depois de concluir as etapas em [Pré-requisitos para usar a AWS CLI versão 2](getting-started-prereqs.md) e instalar a AWS CLI, você deve utilizar [Configuração da AWS CLI](getting-started-quickstart.md).

# Compilar e instalar a AWS CLI usando o código-fonte
<a name="getting-started-source-install"></a>

Este tópico descreve como usar o código-fonte para instalar ou atualizar para a versão mais recente da AWS Command Line Interface (AWS CLI) em sistemas operacionais compatíveis. 

Para obter informações sobre as versões mais recentes da AWS CLI, consulte o [Log de alterações da AWS CLI versão 2](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) no GitHub.

**Importante**  
As versões 1 e 2 da AWS CLI usam o mesmo nome de comando da `aws`. Se você instalou a AWS CLI versão 1 anteriormente, consulte [Guia de migração para a AWS CLI versão 2](cliv2-migration.md).

**Topics**
+ [Por que compilar usando o código-fonte?](#source-getting-started-install-why)
+ [Etapas rápidas](#source-getting-started-install-quicksteps)
+ [Etapa 1: Configurar todos os requisitos](#source-getting-started-install-reqs)
+ [Etapa 2: Configurar a instalação da AWS CLI pelo código-fonte](#source-getting-started-install-config)
+ [Etapa 3: Compilar a AWS CLI](#source-getting-started-install-build)
+ [Etapa 4: Instalar a AWS CLI](#source-getting-started-install-instructions)
+ [Etapa 5: Verificar a instalação da AWS CLI](#source-getting-started-install-verify)
+ [Exemplos de fluxo de trabalho](#source-getting-started-install-workflows)
+ [Solução de problemas de erros de instalação e desinstalação da AWS CLI](#source-install-tshoot)
+ [Próximas etapas](#source-install-next-steps)

## Por que compilar usando o código-fonte?
<a name="source-getting-started-install-why"></a>

A AWS CLI está [disponível na forma de instaladores predefinidos](getting-started-install.md) para a maioria das plataformas e ambientes, bem como na forma de imagem do Docker. 

Geralmente, esses instaladores oferecem cobertura para a maioria dos casos de uso. As instruções de instalação usando o código-fonte servem para ajudar nos casos de uso que nossos instaladores não cobrem. Alguns dos casos de uso incluem o seguinte:
+ Os instaladores predefinidos não oferecem suporte ao seu ambiente. Por exemplo, o ARM de 32 bits não é compatível com instaladores predefinidos.
+ Os instaladores predefinidos têm dependências que seu ambiente não tem. Por exemplo, o Alpine Linux usa [https://musl.libc.org/](https://musl.libc.org/), mas os instaladores atuais exigem `glibc`, o que impede que os instaladores predefinidos funcionem imediatamente. 
+ Os instaladores predefinidos exigem recursos aos quais seu ambiente restringe o acesso. Por exemplo, sistemas com segurança reforçada podem não conceder permissões à memória compartilhada. Isso é necessário para o instalador congelado `aws`. 
+ Os instaladores predefinidos geralmente são bloqueadores para mantenedores em gerenciadores de pacotes, já que há preferência pelo controle total sobre o processo de compilação de código e pacotes. A compilação usando o código-fonte permite que os mantenedores da distribuição tenham um processo mais simplificado para manter a AWS CLI atualizada. A habilitação de mantenedores fornece aos clientes versões mais atualizadas da AWS CLI ao instalar usando um gerenciador de pacotes de terceiros, como `brew`, `yum` e `apt`.
+ Os clientes que aplicam patches na funcionalidade da AWS CLI precisam compilar e instalar a AWS CLI usando o código-fonte. Isso é especialmente importante para membros da comunidade que desejam testar as alterações feitas no código-fonte antes de contribuir para a alteração no repositório GitHub da AWS CLI.

## Etapas rápidas
<a name="source-getting-started-install-quicksteps"></a>

**nota**  
Assume-se que todos os exemplos de código são executados da raiz do diretório do código-fonte.

Para compilar e instalar a AWS CLI usando o código-fonte, siga as etapas nesta seção. A AWS CLI utiliza o [GNU Autotools](https://www.gnu.org/software/automake/faq/autotools-faq.html) para instalar pelo código-fonte. No caso mais simples, a AWS CLI pode ser instalada usando o código-fonte ao executar os comandos de exemplo padrão na raiz do repositório GitHub da AWS CLI.



1. [Configure todos os requisitos para o seu ambiente.](#source-getting-started-install-reqs) Isso inclui ser capaz de executar arquivos gerados pelo [GNU Autotools](https://www.gnu.org/software/automake/faq/autotools-faq.html) e instalar o Python 3.8 ou posterior.

1. No seu terminal, navegue até o nível superior da pasta do código-fonte da AWS CLI e execute o comando `./configure`. Esse comando verifica o sistema em busca de todas as dependências necessárias e gera um `Makefile` para compilar e instalar a AWS CLI com base nas configurações detectadas e especificadas. 

------
#### [ Linux and macOS ]

   O exemplo de comando `./configure` a seguir define a configuração de compilação para a AWS CLI usando as configurações padrão.

   ```
   $ ./configure
   ```

------
#### [ Windows PowerShell ]

   Antes de executar qualquer comando que chame MSYS2, você deve preservar seu diretório de trabalho atual:

   ```
   PS C:\> $env:CHERE_INVOKING = 'yes'
   ```

   Depois, use o exemplo de comando `./configure` a seguir para definir a configuração de compilação para a AWS CLI usando seu caminho local para o executável do Python, instalando em C:\$1Program Files\$1AWSCLI e baixando todas as dependências.

   ```
   PS C:\> C:\msys64\usr\bin\bash  -lc " PYTHON='C:\path\to\python.exe' ./configure --prefix='C:\Program Files\AWSCLI' --with-download-deps "
   ```

------

   Para obter detalhes, opções de configuração disponíveis e informações de configuração padrão, consulte a seção [Etapa 2: Configurar a instalação da AWS CLI pelo código-fonte](#source-getting-started-install-config).

1. Execute o comando `make`. Esse comando compila a AWS CLI de acordo com suas definições de configuração. 

   O exemplo de comando `make` a seguir é compilado com opções padrão usando suas configurações de `./configure` existentes.

------
#### [ Linux and macOS ]

   ```
   $ make
   ```

------
#### [ Windows PowerShell ]

   ```
   PS C:\> C:\msys64\usr\bin\bash -lc "make" 
   ```

------

   Para obter detalhes e opções de compilação disponíveis, consulte a seção [Etapa 3: Compilar a AWS CLI](#source-getting-started-install-build).

1. Execute o comando `make install`. Esse comando instala a AWS CLI compilada no local configurado em seu sistema. 

   O exemplo de comando `make install` a seguir instala a AWS CLI compilada e cria symlinks em seus locais configurados usando as configurações de comando padrão.

------
#### [ Linux and macOS ]

   ```
   $ make install
   ```

------
#### [ Windows PowerShell ]

   ```
   PS C:\> C:\msys64\usr\bin\bash -lc "make install" 
   ```

   Após a instalação, adicione o caminho à AWS CLI usando o seguinte:

   ```
   PS C:\> $Env:PATH +=";C:\Program Files\AWSCLI\bin\"
   ```

------

   Para obter detalhes e opções de instalação disponíveis, consulte a seção [Etapa 4: Instalar a AWS CLI](#source-getting-started-install-instructions).

1. Confirme se a instalação da AWS CLI foi bem-sucedida usando o seguinte comando:

   ```
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Windows/10 exe/AMD64 prompt/off
   ```

   Para obter as etapas de solução de problemas para erros de instalação, consulte a seção [Solução de problemas de erros de instalação e desinstalação da AWS CLI](#source-install-tshoot).

## Etapa 1: Configurar todos os requisitos
<a name="source-getting-started-install-reqs"></a>

Para compilar a AWS CLI usando o código-fonte, antes você precisa concluir o seguinte:

**nota**  
Assume-se que todos os exemplos de código são executados da raiz do diretório do código-fonte.

1. Faça download do código-fonte da AWS CLI bifurcando o repositório GitHub da AWS CLI ou baixando o tarball do código-fonte. As instruções são uma das seguintes opções:
   + Bifurcar e clonar o [repositório da AWS CLI](https://github.com/aws/aws-cli) do *GitHub*. Para obter mais informações, consulte [Fork a repo](https://docs.github.com/en/get-started/quickstart/fork-a-repo) (Bifurcar um repositório) no *GitHub Docs*.
   + Faça o download do pacote de origem mais recente em [https://awscli.amazonaws.com/awscli.tar.gz](https://awscli.amazonaws.com/awscli.tar.gz) e extraia o conteúdo usando os seguintes comandos:

     ```
     $ curl "https://awscli.amazonaws.com/awscli.tar.gz" -o "awscli.tar.gz"
     $ tar -xzf awscli.tar.gz
     ```
**nota**  
Para baixar uma versão específica, use o seguinte formato de link: [https://awscli.amazonaws.com/awscli-*númerodaversão*.tar.gz](https://awscli.amazonaws.com/awscli.tar.gz)   
Por exemplo, para a versão 2.10.0, o link é o seguinte: [https://awscli.amazonaws.com/awscli-*2.10.0*.tar.gz](https://awscli.amazonaws.com/awscli.tar.gz)  
As versões da fonte estão disponíveis a partir da versão **2.10.0** da AWS CLI.

     **(Opcional) Verificar a integridade do arquivo zip baixado ao realizar as seguintes etapas:**

     1. É possível usar as etapas a seguir para verificar as assinaturas usando a ferramenta `GnuPG`.

        Os arquivos AWS CLI do pacote do instalador da `.zip` são assinados criptograficamente com assinaturas PGP. Se houver qualquer dano ou alteração dos arquivos, ocorrerá uma falha nessa verificação e você não deverá prosseguir com a instalação.

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

     1. Para criar o arquivo de chave pública, crie um arquivo de texto e cole o texto a seguir.

        ```
        -----BEGIN PGP PUBLIC KEY BLOCK-----
        
        mQINBF2Cr7UBEADJZHcgusOJl7ENSyumXh85z0TRV0xJorM2B/JL0kHOyigQluUG
        ZMLhENaG0bYatdrKP+3H91lvK050pXwnO/R7fB/FSTouki4ciIx5OuLlnJZIxSzx
        PqGl0mkxImLNbGWoi6Lto0LYxqHN2iQtzlwTVmq9733zd3XfcXrZ3+LblHAgEt5G
        TfNxEKJ8soPLyWmwDH6HWCnjZ/aIQRBTIQ05uVeEoYxSh6wOai7ss/KveoSNBbYz
        gbdzoqI2Y8cgH2nbfgp3DSasaLZEdCSsIsK1u05CinE7k2qZ7KgKAUIcT/cR/grk
        C6VwsnDU0OUCideXcQ8WeHutqvgZH1JgKDbznoIzeQHJD238GEu+eKhRHcz8/jeG
        94zkcgJOz3KbZGYMiTh277Fvj9zzvZsbMBCedV1BTg3TqgvdX4bdkhf5cH+7NtWO
        lrFj6UwAsGukBTAOxC0l/dnSmZhJ7Z1KmEWilro/gOrjtOxqRQutlIqG22TaqoPG
        fYVN+en3Zwbt97kcgZDwqbuykNt64oZWc4XKCa3mprEGC3IbJTBFqglXmZ7l9ywG
        EEUJYOlb2XrSuPWml39beWdKM8kzr1OjnlOm6+lpTRCBfo0wa9F8YZRhHPAkwKkX
        XDeOGpWRj4ohOx0d2GWkyV5xyN14p2tQOCdOODmz80yUTgRpPVQUtOEhXQARAQAB
        tCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4CGwMF
        CwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQT7Xbd/1cEYuAURraimMQrMRnJHXAUC
        aGveYQUJDMpiLAAKCRCmMQrMRnJHXKBYD/9Ab0qQdGiO5hObchG8xh8Rpb4Mjyf6
        0JrVo6m8GNjNj6BHkSc8fuTQJ/FaEhaQxj3pjZ3GXPrXjIIVChmICLlFuRXYzrXc
        Pw0lniybypsZEVai5kO0tCNBCCFuMN9RsmmRG8mf7lC4FSTbUDmxG/QlYK+0IV/l
        uJkzxWa+rySkdpm0JdqumjegNRgObdXHAQDWlubWQHWyZyIQ2B4U7AxqSpcdJp6I
        S4Zds4wVLd1WE5pquYQ8vS2cNlDm4QNg8wTj58e3lKN47hXHMIb6CHxRnb947oJa
        pg189LLPR5koh+EorNkA1wu5mAJtJvy5YMsppy2y/kIjp3lyY6AmPT1posgGk70Z
        CmToEZ5rbd7ARExtlh76A0cabMDFlEHDIK8RNUOSRr7L64+KxOUegKBfQHb9dADY
        qqiKqpCbKgvtWlds909Ms74JBgr2KwZCSY1HaOxnIr4CY43QRqAq5YHOay/mU+6w
        hhmdF18vpyK0vfkvvGresWtSXbag7Hkt3XjaEw76BzxQH21EBDqU8WJVjHgU6ru+
        DJTs+SxgJbaT3hb/vyjlw0lK+hFfhWKRwgOXH8vqducF95NRSUxtS4fpqxWVaw3Q
        V2OWSjbne99A5EPEySzryFTKbMGwaTlAwMCwYevt4YT6eb7NmFhTx0Fis4TalUs+
        j+c7Kg92pDx2uQ==
        =OBAt
        -----END PGP PUBLIC KEY BLOCK-----
        ```

        Para referência, veja a seguir os detalhes da chave pública.

        ```
        Key ID:           A6310ACC4672
        Type:             RSA
        Size:             4096/4096
        Created:          2019-09-18
        Expires:          2026-07-07
        User ID:          AWS CLI Team <aws-cli@amazon.com>
        Key fingerprint:  FB5D B77F D5C1 18B8 0511  ADA8 A631 0ACC 4672 475C
        ```

     1. Importe a chave pública da AWS CLI com o comando a seguir, substituindo *public-key-file-name* pelo nome do arquivo da chave pública que você criou.

        ```
        $ gpg --import public-key-file-name
        gpg: /home/username/.gnupg/trustdb.gpg: trustdb created
        gpg: key A6310ACC4672475C: public key "AWS CLI Team <aws-cli@amazon.com>" imported
        gpg: Total number processed: 1
        gpg:               imported: 1
        ```

     1. Baixe o arquivo de assinatura da AWS CLI para o pacote baixado em [https://awscli.amazonaws.com/awscli.tar.gz.sig](https://awscli.amazonaws.com/awscli.tar.gz.sig). Ele tem o mesmo caminho e nome do arquivo tarball ao qual ele corresponde, mas tem a extensão `.sig`. Salve-o no mesmo caminho do arquivo tarball. Ou use o bloco de comandos a seguir:

        ```
        $ curl awscliv2.sig https://awscli.amazonaws.com/ -o awscli.tar.gz.sig
        ```

     1. Verifique a assinatura, passando os nomes dos arquivos `.sig` e `.zip` baixados como parâmetros para o comando `gpg`.

        ```
        $ gpg --verify awscliv2.sig awscli.tar.gz
        ```

        A saída deve ser semelhante à seguinte.

        ```
        gpg: Signature made Mon Nov  4 19:00:01 2019 PST
        gpg:                using RSA key FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C
        gpg: Good signature from "AWS CLI Team <aws-cli@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: FB5D B77F D5C1 18B8 0511  ADA8 A631 0ACC 4672 475C
        ```
**Importante**  
O aviso na saída é esperado e não indica um problema. Isso ocorre porque não há uma cadeia de confiança entre a chave PGP pessoal (se você tiver uma) e a chave PGP da AWS CLI. Para obter mais informações, consulte [Web of trust](https://wikipedia.org/wiki/Web_of_trust).

1. Você tem um ambiente que pode executar arquivos gerados pelo [GNU Autotools](https://www.gnu.org/software/automake/faq/autotools-faq.html), como `configure` e `Makefile`. Esses arquivos são amplamente transportáveis entre as plataformas POSIX.

------
#### [ Linux and macOS ]

   Se o Autotools ainda não estiver instalado em seu ambiente ou se você precisar atualizá-lo, siga as instruções de instalação em [How do I install the Autotools (as user)?](https://www.gnu.org/software/automake/faq/autotools-faq.html#How-do-I-install-the-Autotools-_0028as-user_0029_003f) [Como instalar o Autotools (como usuário)?] ou [Basic Installation](https://www.gnu.org/savannah-checkouts/gnu/automake/manual/automake.html#Basic-Installation) (Instalação básica) na *documentação da GNU*.

------
#### [ Windows PowerShell ]

**Atenção**  
Se você estiver em um ambiente Windows, sugerimos que use os instaladores predefinidos. Para obter instruções de instalação sobre os instaladores predefinidos, consulte [Instalar ou atualizar a versão mais recente da AWS CLI](getting-started-install.md)

   Como o Windows não vem com um shell compatível com POSIX, você precisa instalar um software adicional para instalar a AWS CLI usando o código-fonte. O [MSYS2](https://www.msys2.org/) fornece um conjunto de ferramentas e bibliotecas para ajudar a compilar e instalar software do Windows, especialmente para os scripts baseados em POSIX que o Autotools usa.

   1. Instale o MSYS2. Para obter informações sobre como instalar e usar o MSYS2, consulte as [instruções de instalação e uso](https://www.msys2.org/) na *documentação do MSYS2*. 

   1. Abra o terminal MSYS2 e instale o Autotools usando o comando a seguir.

      ```
      $ pacman -S autotools
      ```

**nota**  
Ao usar os exemplos de código de configuração, compilação e instalação neste guia para Windows, assume-se o caminho de instalação padrão do MSYS2 de `C:\msys64\usr\bin\bash`. Ao chamar o MSYS2 dentro do PowerShell, você usará o seguinte formato, com o comando bash entre aspas:  

   ```
   PS C:\> C:\msys64\usr\bin\bash  -lc "command example" 
   ```
O exemplo de comando a seguir chama o comando `./configure`.  

   ```
   PS C:\> C:\msys64\usr\bin\bash  -lc "./configure" 
   ```

------

1. Um intérprete Python 3.8 ou posterior é instalado. A versão mínima necessária do Python segue os mesmos cronogramas da[ política oficial de suporte do Python para AWS SDKs e ferramentas](https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/). O intérprete recebe suporte somente até seis meses após a data de término do suporte.

1. **(Opcional)** Instale todas as dependências da biblioteca Python de compilação e execução da AWS CLI. O comando `./configure` informa se está faltando alguma dependência e como instalá-la.

   Você pode instalar e usar automaticamente essas dependências durante o processo de configuração. Consulte [Download de dependências](#source-getting-started-install-config-dependencies) para obter mais informações.

## Etapa 2: Configurar a instalação da AWS CLI pelo código-fonte
<a name="source-getting-started-install-config"></a>

A configuração para compilar e instalar a AWS CLI é especificada usando o script `configure`. Para obter a documentação de todas as opções de configuração, execute o script `configure` com a opção `--help`:

------
#### [ Linux and macOS ]

```
$ ./configure --help
```

------
#### [ Windows PowerShell ]

```
PS C:\> C:\msys64\usr\bin\bash -lc "./configure --help" 
```

------

**Topics**
+ [Local de instalação](#source-getting-started-install-config-location)
+ [Intérprete Python](#source-getting-started-install-config-interpreter)
+ [Download de dependências](#source-getting-started-install-config-dependencies)
+ [Tipo de instalação](#source-getting-started-install-config-type)

### Local de instalação
<a name="source-getting-started-install-config-location"></a>

A instalação da AWS CLI pelo código-fonte usa dois diretórios configuráveis para instalar a AWS CLI:
+ `libdir`: diretório pai onde a AWS CLI será instalada. O caminho para a instalação da AWS CLI é `<libdir-value>/aws-cli`. O valor padrão de `libdir` para Linux e macOS é `/usr/local/lib`, o que faz com que o diretório de instalação padrão seja `/usr/local/lib/aws-cli`. 
+ `bindir`: diretório em que os executáveis da AWS CLI são instalados. O local padrão é `/usr/local/bin`. 

As seguintes opções de `configure` controlam os diretórios usados:
+ `--prefix`: define o prefixo do diretório a ser usado na instalação. O valor padrão para Linux e macOS é `/usr/local`. 
+ `--libdir`: define o `libdir` a ser usado para instalar a AWS CLI. O valor padrão é `<prefix-value>/lib`. Se `--libdir` e `--prefix` não forem especificados, o padrão para Linux e macOS será `/usr/local/lib/`. 
+ `--bindir`: define o `bindir` a ser usado para instalar os executáveis `aws` e `aws_completer` da AWS CLI. O valor padrão é `<prefix-value>/bin`. Se `bindir` e `--prefix` não forem especificados, o padrão para Linux e macOS será `/usr/local/bin/`. 

------
#### [ Linux and macOS ]

O exemplo de comando a seguir usa a opção `--prefix` para fazer uma instalação de usuário local da AWS CLI. Esse comando instala a AWS CLI em `$HOME/.local/lib/aws-cli` e os executáveis em `$HOME/.local/bin`:

```
$ ./configure --prefix=$HOME/.local
```

O exemplo de comando a seguir usa a opção `--libdir` para instalar a AWS CLI como uma aplicação complementar no diretório `/opt`. Esse comando instala a AWS CLI em `/opt/aws-cli` e os executáveis em seus locais padrão de `/usr/local/bin`.

```
$ ./configure --libdir=/opt
```

------
#### [ Windows PowerShell ]

O exemplo de comando a seguir usa a opção `--prefix` para fazer uma instalação de usuário local da AWS CLI. Esse comando instala a AWS CLI em `$HOME/.local/lib/aws-cli` e os executáveis em `$HOME/.local/bin`:

```
$ C:\msys64\usr\bin\bash -lc "./configure --prefix='C:\Program Files\AWSCLI'" 
```

O exemplo de comando a seguir usa a opção `--libdir` para instalar a AWS CLI como uma aplicação complementar no diretório `/opt`. Esse comando instala a AWS CLI em `C:\Program Files\AWSCLI\opt\aws-cli`.

------

### Intérprete Python
<a name="source-getting-started-install-config-interpreter"></a>

**nota**  
É altamente recomendável especificar o intérprete Python durante a instalação para Windows.

O script `./configure` seleciona automaticamente um intérprete instalado do Python 3.8 ou posterior para usar na compilação e execução da AWS CLI utilizando a macro [https://www.gnu.org/software/automake/manual/html_node/Python.html](https://www.gnu.org/software/automake/manual/html_node/Python.html) em Autoconf.

O intérprete Python a ser usado pode ser definido explicitamente usando a variável de ambiente `PYTHON` ao executar o script `configure`:

------
#### [ Linux and macOS ]

```
$ PYTHON=/path/to/python ./configure
```

------
#### [ Windows PowerShell ]

```
PS C:\> C:\msys64\usr\bin\bash -lc "PYTHON='C:\path\to\python' ./configure"
```

------

### Download de dependências
<a name="source-getting-started-install-config-dependencies"></a>

Por padrão, todas as dependências de compilação e de tempo de execução da AWS CLI já devem estar instaladas no sistema. Isso inclui todas as dependências da biblioteca Python. Todas as dependências são verificadas quando o script `configure` é executado; se o sistema não tiver uma das dependências do Python, o script `configure` retornará um erro. 

O seguinte exemplo de código retorna um erro quando o sistema não tem uma das dependências:

------
#### [ Linux and macOS ]

```
$ ./configure 
checking for a Python interpreter with version >= 3.8... python
checking for python... /Users/username/.envs/env3.11/bin/python
checking for python version... 3.11
checking for python platform... darwin
checking for GNU default python prefix... ${prefix}
checking for GNU default python exec_prefix... ${exec_prefix}
checking for python script directory (pythondir)... ${PYTHON_PREFIX}/lib/python3.11/site-packages
checking for python extension module directory (pyexecdir)... ${PYTHON_EXEC_PREFIX}/lib/python3.11/site-packages
checking for --with-install-type... system-sandbox
checking for --with-download-deps... Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 125, in <module>
    main()
  File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 121, in main
    parsed_args.func(parsed_args)
  File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 49, in validate
    validate_env(parsed_args.artifact)
  File "/Users/username/aws-code/aws-cli/./backends/build_system/validate_env.py", line 68, in validate_env
    raise UnmetDependenciesException(unmet_deps, in_venv)
validate_env.UnmetDependenciesException: Environment requires following Python dependencies:

awscrt (required: ('>=0.12.4', '<0.17.0')) (version installed: None)

We recommend using --with-download-deps flag to automatically create a virtualenv and download the dependencies.

If you want to manage the dependencies yourself instead, run the following pip command:
/Users/username/.envs/env3.11/bin/python -m pip install --prefer-binary 'awscrt>=0.12.4,<0.17.0'

configure: error: "Python dependencies not met."
```

------
#### [ Windows PowerShell ]

```
PS C:\> C:\msys64\usr\bin\bash -lc "./configure" 
checking for a Python interpreter with version >= 3.8... python
checking for python... /Users/username/.envs/env3.11/bin/python
checking for python version... 3.11
checking for python platform... darwin
checking for GNU default python prefix... ${prefix}
checking for GNU default python exec_prefix... ${exec_prefix}
checking for python script directory (pythondir)... ${PYTHON_PREFIX}/lib/python3.11/site-packages
checking for python extension module directory (pyexecdir)... ${PYTHON_EXEC_PREFIX}/lib/python3.11/site-packages
checking for --with-install-type... system-sandbox
checking for --with-download-deps... Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 125, in <module>
    main()
  File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 121, in main
    parsed_args.func(parsed_args)
  File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 49, in validate
    validate_env(parsed_args.artifact)
  File "/Users/username/aws-code/aws-cli/./backends/build_system/validate_env.py", line 68, in validate_env
    raise UnmetDependenciesException(unmet_deps, in_venv)
validate_env.UnmetDependenciesException: Environment requires following Python dependencies:

awscrt (required: ('>=0.12.4', '<0.17.0')) (version installed: None)

We recommend using --with-download-deps flag to automatically create a virtualenv and download the dependencies.

If you want to manage the dependencies yourself instead, run the following pip command:
/Users/username/.envs/env3.11/bin/python -m pip install --prefer-binary 'awscrt>=0.12.4,<0.17.0'

configure: error: "Python dependencies not met."
```

------

Para instalar automaticamente as dependências necessárias do Python, use a opção `--with-download-deps`. Ao usar esse sinalizador, o processo de compilação faz o seguinte:
+ Ignora a verificação de dependências da biblioteca Python. 
+ Define as configurações para fazer download de todas as dependências necessárias do Python e usar **somente** as dependências baixadas para compilar a AWS CLI durante a compilação de `make`.

O seguinte exemplo de comando de configuração usa a opção `--with-download-deps` para fazer download e usar as dependências do Python:

------
#### [ Linux and macOS ]

```
$ ./configure --with-download-deps
```

------
#### [ Windows PowerShell ]

```
PS C:\> C:\msys64\usr\bin\bash -lc "./configure --with-download-deps"
```

------

### Tipo de instalação
<a name="source-getting-started-install-config-type"></a>

O processo de instalação pelo código-fonte é compatível com os seguintes tipos de instalação:
+ `system-sandbox`: **(padrão)** cria um ambiente virtual Python isolado, instala a AWS CLI no ambiente virtual e symlinks nos executáveis `aws` e `aws_completer` no ambiente virtual. Essa instalação da AWS CLI depende diretamente do intérprete Python selecionado para o respectivo tempo de execução.

  Esse é um mecanismo de instalação leve para instalar a AWS CLI em um sistema e segue as práticas recomendadas do Python ao colocar a instalação em um ambiente virtual de área restrita para testes. Essa instalação é destinada a clientes que desejam instalar a AWS CLI pelo código-fonte da maneira mais simples possível com a instalação acoplada à sua instalação do Python.
+ `portable-exe`: congela a AWS CLI em um executável independente que pode ser distribuído para ambientes de arquiteturas semelhantes. Esse é o mesmo processo usado para gerar os executáveis oficiais predefinidos da AWS CLI. O `portable-exe` congela em uma cópia do intérprete Python escolhido na etapa `configure` a ser usada para o tempo de execução da AWS CLI. Isso permite que ela seja movida para outras máquinas que podem não ter um intérprete Python. 

  Esse tipo de compilação é útil porque você pode garantir que a instalação da AWS CLI não esteja acoplada à versão do Python instalada no ambiente e pode distribuir uma compilação para outro sistema que talvez ainda não tenha o Python instalado. Isso permite que você controle as dependências e a segurança dos executáveis da AWS CLI usados.

Para configurar o tipo de instalação, use a opção `--with-install-type` e especifique um valor de `portable-exe` ou `system-sandbox`. 

O seguinte exemplo de comando `./configure` especifica um valor de `portable-exe`:

------
#### [ Linux and macOS ]

```
$ ./configure --with-install-type=portable-exe
```

------
#### [ Windows PowerShell ]

```
PS C:\> C:\msys64\usr\bin\bash -lc "./configure --with-install-type=portable-exe"
```

------

## Etapa 3: Compilar a AWS CLI
<a name="source-getting-started-install-build"></a>

Use o comando `make` para compilar a AWS CLI usando suas definições de configuração:

------
#### [ Linux and macOS ]

```
$ make
```

------
#### [ Windows PowerShell ]

```
PS C:\> C:\msys64\usr\bin\bash -lc "make"
```

------

**nota**  
Um ambiente virtual é criado no diretório de compilação usando o módulo [https://docs.python.org/3/library/venv.html](https://docs.python.org/3/library/venv.html) do Python. O ambiente virtual é inicializado com uma [versão do pip que é fornecida na biblioteca padrão do Python](https://docs.python.org/3/library/ensurepip.html). 
Copia as dependências da biblioteca Python. Dependendo de o sinalizador `--with-download-deps` ter sido especificado ou não no comando `configure`, esta etapa executa uma das seguintes ações:  
O `--with-download-deps` **é** especificado. As dependências do Python são instaladas por pip. Isso inclui `wheel`, `setuptools` e todas as dependências de tempo de execução da AWS CLI. Se você estiver compilando o `portable-exe`, `pyinstaller` será instalado. Esses requisitos são todos especificados em arquivos de bloqueio gerados de [https://github.com/jazzband/pip-tools](https://github.com/jazzband/pip-tools). 
O `--with-download-deps` **não é** especificado. As bibliotecas Python do pacote do site do intérprete Python e quaisquer scripts (por exemplo, `pyinstaller`) são copiados para o ambiente virtual que está sendo usado para a compilação.
Executa `pip install` diretamente na base de código da AWS CLI para realizar uma compilação e instalação da AWS CLI off-line e em árvore no ambiente virtual de compilação. Essa instalação usa os sinalizadores pip [--no-build-isolation ](https://pip.pypa.io/en/stable/cli/pip_install/#cmdoption-no-build-isolation), [--use-feature=in-tree-build ](https://pip.pypa.io/en/stable/cli/pip_install/#local-project-installs), [--no-cache-dir ](https://pip.pypa.io/en/stable/cli/pip_install/#caching) e [https://pip.pypa.io/en/stable/cli/pip_install/#cmdoption-no-index](https://pip.pypa.io/en/stable/cli/pip_install/#cmdoption-no-index).
**(Opcional)** Se o `--install-type` estiver definido como `portable-exe` no comando `configure`, um executável independente é compilado usando [https://www.pyinstaller.org/](https://www.pyinstaller.org/). 

## Etapa 4: Instalar a AWS CLI
<a name="source-getting-started-install-instructions"></a>

O comando `make install` instala a AWS CLI compilada no local configurado em seu sistema. 

------
#### [ Linux and macOS ]

O seguinte exemplo de comando instala a AWS CLI usando suas definições de configuração e compilação:

```
$ make install
```

------
#### [ Windows PowerShell ]

O seguinte exemplo de comando instala a AWS CLI usando suas definições de configuração e compilação, depois adiciona uma variável de ambiente com o caminho para a AWS CLI:

```
PS C:\> C:\msys64\usr\bin\bash -lc " make install "
PS C:\> $Env:PATH +=";C:\Program Files\AWSCLI\bin\"
```

------

A regra `make install` é compatível com a variável [https://www.gnu.org/software/make/manual/html_node/DESTDIR.html#DESTDIR](https://www.gnu.org/software/make/manual/html_node/DESTDIR.html#DESTDIR). Quando especificada, essa variável prefixa o caminho indicado no caminho de instalação já configurado ao instalar a AWS CLI. Por padrão, nenhum valor é definido para essa variável. 

------
#### [ Linux and macOS ]

O seguinte exemplo de código usa um sinalizador `--prefix=/usr/local` para configurar um local de instalação, depois altera esse destino usando `DESTDIR=/tmp/stage` para o comando `make install`. Esses comandos resultam na instalação da AWS CLI em `/tmp/stage/usr/local/lib/aws-cli` e na localização dos executáveis em `/tmp/stage/usr/local/bin`.

```
$ ./configure --prefix=/usr/local
$ make
$ make DESTDIR=/tmp/stage install
```

------
#### [ Windows PowerShell ]

O seguinte exemplo de código usa um sinalizador `--prefix=\awscli` para configurar um local de instalação, depois altera esse destino usando `DESTDIR=C:\Program Files` para o comando `make install`. Esses comandos resultam na instalação da AWS CLI em `C:\Program Files\awscli`.

```
$ ./configure --prefix=\awscli
$ make
$ make DESTDIR='C:\Program Files' install
```

------

**nota**  
Move um dos seguintes para o diretório de instalação configurado:  
Se o tipo de instalação for `system-sandbox`, moverá o ambiente virtual compilado. 
Se o tipo de instalação for `portable-exe`, moverá o executável independente compilado. 
Cria symlinks para os executáveis `aws` e `aws_completer` no diretório bin configurado. 

## Etapa 5: Verificar a instalação da AWS CLI
<a name="source-getting-started-install-verify"></a>

Confirme se a instalação da AWS CLI foi bem-sucedida usando o seguinte comando:

```
$ aws --version
aws-cli/2.27.41 Python/3.11.6 Windows/10 exe/AMD64 prompt/off
```

Se o comando `aws` não for reconhecido, poderá ser necessário reiniciar o terminal para que novos symlinks sejam atualizados. Se você encontrar outros problemas depois de instalar ou desinstalar a AWS CLI, consulte [Solução de problemas da AWS CLI](cli-chap-troubleshooting.md) para obter os passos para a solução de problemas comuns.

## Exemplos de fluxo de trabalho
<a name="source-getting-started-install-workflows"></a>

Esta seção fornece alguns exemplos básicos de fluxo de trabalho para instalação usando o código-fonte.

### Instalação básica em Linux e macOS
<a name="source-getting-started-install-workflows-basic"></a>

O exemplo a seguir é um fluxo de trabalho de instalação básica em que a AWS CLI é instalada no local padrão de `/usr/local/lib/aws-cli`. 

```
$ cd path/to/cli/respository/
$ ./configure
$ make
$ make install
```

### Instalação automatizada em Windows
<a name="source-getting-started-install-workflows-win"></a>

**nota**  
Você deve executar o PowerShell como administrador para usar esse fluxo de trabalho.

O MSYS2 pode ser usado de forma automatizada em uma configuração de CI. Consulte [Using MSYS2 in CI](https://www.msys2.org/docs/ci/) (Como usar o MSYS2 em CI) na *documentação do MSYS2*. 

------
#### [ Downloaded Tarball ]

Faça download do arquivo `awscli.tar.gz`, depois extraia e instale a AWS CLI. Ao usar os comandos abaixo, substitua os seguintes caminhos:
+ `C:\msys64\usr\bin\bash` pelo caminho do MSYS2.
+ `.\awscli-2.x.x\` pelo nome da pasta de extração de `awscli.tar.gz`.
+ `PYTHON='C:\path\to\python.exe'` pelo caminho local do Python.

O seguinte exemplo de código automatiza a compilação e a instalação da AWS CLI pelo PowerShell usando o MSYS2 e especifica qual instalação local do Python deve ser usada:

```
PS C:\> curl "https://awscli.amazonaws.com/awscli.tar.gz" -o "awscliv2.zip"  #  Download the awscli.tar.gz file in the current working directory
PS C:\> tar -xvzf .\awscli.tar.gz #  Extract awscli.tar.gz file
PS C:\> cd .\awscli-2.x.x\ #  Navigate to the root of the extracted files
PS C:\> $env:CHERE_INVOKING = 'yes' #  Preserve the current working directory
PS C:\> C:\msys64\usr\bin\bash  -lc " PYTHON='C:\path\to\python.exe' ./configure --prefix='C:\Program Files\AWSCLI' --with-download-deps " 
PS C:\> C:\msys64\usr\bin\bash  -lc "make"
PS C:\> C:\msys64\usr\bin\bash  -lc "make install"
PS C:\> $Env:PATH +=";C:\Program Files\AWSCLI\bin\"
PS C:\> aws --version
aws-cli/2.27.41 Python/3.11.6 Windows/10 source-sandbox/AMD64
```

------
#### [ GitHub Repository ]

Faça download do arquivo `awscli.tar.gz`, depois extraia e instale a AWS CLI. Ao usar os comandos abaixo, substitua os seguintes caminhos:
+ `C:\msys64\usr\bin\bash` pelo caminho do MSYS2.
+ `C:path\to\cli\repository\` pelo caminho para o [repositório da AWS CLI](https://github.com/aws/aws-cli) clonado do *GitHub*. Para obter mais informações, consulte [Fork a repo](https://docs.github.com/en/get-started/quickstart/fork-a-repo) (Bifurcar um repositório) no *GitHub Docs*.
+ `PYTHON='C:\path\to\python.exe'` pelo caminho local do Python.

O seguinte exemplo de código automatiza a compilação e a instalação da AWS CLI pelo PowerShell usando o MSYS2 e especifica qual instalação local do Python deve ser usada:

```
PS C:\> cd C:path\to\cli\repository\
PS C:\> $env:CHERE_INVOKING = 'yes' #  Preserve the current working directory
PS C:\> C:\msys64\usr\bin\bash  -lc " PYTHON='C:\path\to\python.exe' ./configure --prefix='C:\Program Files\AWSCLI' --with-download-deps " 
PS C:\> C:\msys64\usr\bin\bash  -lc "make"
PS C:\> C:\msys64\usr\bin\bash  -lc "make install"
PS C:\> $Env:PATH +=";C:\Program Files\AWSCLI\bin\"
PS C:\> aws --version
```

------

### Contêiner do Alpine Linux
<a name="source-getting-started-install-workflows-alpine"></a>

Veja a seguir um exemplo de Dockerfile que pode ser usado para obter uma instalação funcional da AWS CLI em um contêiner do Alpine Linux como uma [alternativa aos binários predefinidos para Alpine](https://github.com/aws/aws-cli/issues/4685). Ao usar esse exemplo, substitua *AWSCLI\$1VERSION* pelo número de versão da AWS CLI desejado:

```
 1. FROM python:3.8-alpine AS builder
 2. 
 3. ENV AWSCLI_VERSION=2.10.1
 4. 
 5. RUN apk add --no-cache \
 6.     curl \
 7.     make \
 8.     cmake \
 9.     gcc \
10.     g++ \
11.     libc-dev \
12.     libffi-dev \
13.     openssl-dev \
14.     && curl https://awscli.amazonaws.com/awscli-${AWSCLI_VERSION}.tar.gz | tar -xz \
15.     && cd awscli-${AWSCLI_VERSION} \
16.     && ./configure --prefix=/opt/aws-cli/ --with-download-deps \
17.     && make \
18.     && make install
19. 
20. FROM python:3.8-alpine
21. 
22. RUN apk --no-cache add groff
23. 
24. COPY --from=builder /opt/aws-cli/ /opt/aws-cli/
25. 
26. ENTRYPOINT ["/opt/aws-cli/bin/aws"]
```

Essa imagem é compilada e a AWS CLI é invocada de um contêiner semelhante ao que é compilado no Amazon Linux 2:

```
$ docker build --tag awscli-alpine .
$ docker run --rm -it awscli-alpine --version
aws-cli/2.2.1 Python/3.8.11 Linux/5.10.25-linuxkit source-sandbox/x86_64.alpine.3 prompt/off
```

O tamanho final dessa imagem é menor do que o tamanho da imagem do Docker oficial da AWS CLI. Para obter informações sobre a imagem do Docker oficial, consulte [Executar as imagens oficiais do Amazon ECR Public ou do Docker para a AWS CLI](getting-started-docker.md).

## Solução de problemas de erros de instalação e desinstalação da AWS CLI
<a name="source-install-tshoot"></a>

Para obter as etapas de solução de problemas para erros de instalação comuns, consulte [Solução de problemas da AWS CLI](cli-chap-troubleshooting.md). Para obter os passos mais relevantes para a solução de problemas, consulte [Erros de comando não encontrado](cli-chap-troubleshooting.md#tshoot-install-not-found), [O comando “`aws --version`” retorna uma versão diferente da que você instalou](cli-chap-troubleshooting.md#tshoot-install-wrong-version) e [O comando “`aws --version`” retorna uma versão após a desinstalação da AWS CLI](cli-chap-troubleshooting.md#tshoot-uninstall-1).

Para quaisquer problemas não abordados nos guias de solução, pesquise os problemas com o rótulo `source-distribution` no [repositório da AWS CLI](https://github.com/aws/aws-cli/labels/source-distribution) no *GitHub*. Se nenhum problema existente abordar seus erros, [crie um problema](https://github.com/aws/aws-cli/issues/new?assignees=&labels=source-distribution%2Cneeds-triage&template=source-distribution.yml&title=%28short+issue+description%29) para receber ajuda dos mantenedores da AWS CLI.

## Próximas etapas
<a name="source-install-next-steps"></a>

Depois de instalar a AWS CLI, execute um [Configuração da AWS CLI](getting-started-quickstart.md).

# Executar as imagens oficiais do Amazon ECR Public ou do Docker para a AWS CLI
<a name="getting-started-docker"></a>

Este tópico descreve como executar, controlar a versão e configurar a AWS CLI versão 2 no Docker usando a imagem do Amazon Elastic Container Registry Public (Amazon ECR Public) ou do Docker Hub. Para obter mais informações sobre como usar o Docker, consulte a [documentação do Docker](https://docs.docker.com/).

As imagens oficiais fornecem isolamento, portabilidade e segurança aos quais a AWS oferece suporte e mantém diretamente. Isso permite usar a AWS CLI versão 2 em um ambiente baseado em contêiner sem precisar gerenciar a instalação sozinho. 

**Topics**
+ [Pré-requisitos](#cliv2-docker-prereq)
+ [Decidir entre o Amazon ECR Public e o Docker Hub](#cliv2-docker-versus)
+ [Executar as imagens oficiais da AWS CLI versão 2](#cliv2-docker-install)
+ [Observações sobre interfaces e compatibilidade com versões anteriores das imagens oficiais](#cliv2-docker-install-notes)
+ [Usar versões e tags específicas](#cliv2-docker-upgrade)
+ [Atualizar para a imagem oficial mais recente](#cliv2-docker-update)
+ [Compartilhar arquivos de host, credenciais, variáveis de ambiente e configuração](#cliv2-docker-share-files)
+ [Reduzir o comando de execução do Docker](#cliv2-docker-aliases)

## Pré-requisitos
<a name="cliv2-docker-prereq"></a>

É necessário ter o Docker instalado. Para obter instruções de instalação, consulte o [site do Docker](https://docs.docker.com/install/). 

Para verificar a instalação do Docker, execute o seguinte comando e confirme se há uma saída.

```
$ docker --version
Docker version 19.03.1
```

## Decidir entre o Amazon ECR Public e o Docker Hub
<a name="cliv2-docker-versus"></a>

Recomendamos usar o Amazon ECR Public em vez do Docker Hub para imagens da AWS CLI. O Docker Hub tem um limite de taxa mais rígido para consumidores públicos, o que pode causar problemas de controle de utilização. Além disso, o Amazon ECR Public replica imagens em mais de uma região para fornecer sólida disponibilidade e lidar com problemas de interrupção da região. 

Para obter mais informações sobre os limites de taxa do Docker Hub, consulte [Understanding Docker Hub Rate Limiting](https://www.docker.com/increase-rate-limits/) (Noções básicas sobre a limitação de taxa do Docker Hub) no site do *Docker*.

## Executar as imagens oficiais da AWS CLI versão 2
<a name="cliv2-docker-install"></a>

 Na primeira vez que você usar o comando `docker run`, a imagem mais recente será baixada no computador. Cada uso subsequente do comando `docker run` é executado de sua cópia local. 

Para executar as imagens do Docker da AWS CLI versão 2, use o comando `docker run`.

------
#### [ Amazon ECR Public ]

A imagem oficial do Amazon ECR Public da AWS CLI versão 2 está hospedada no Amazon ECR Public no [repositório `aws-cli/aws-cli`](https://gallery.ecr.aws/aws-cli/aws-cli).

```
$ docker run --rm -it public.ecr.aws/aws-cli/aws-cli command
```

------
#### [ Docker Hub ]

A imagem do Docker oficial da AWS CLI versão 2 está hospedada no Docker Hub no repositório `amazon/aws-cli`.

```
$ docker run --rm -it amazon/aws-cli command
```

------

É assim que o comando funciona:
+ `docker run --rm -it repository/name`: o equivalente ao executável `aws`. Sempre que você executar esse comando, o Docker ativará um contêiner da imagem baixada e executará o comando `aws`. Por padrão, a imagem usa a versão mais recente da AWS CLI versão 2.

  Por exemplo, para chamar o comando `aws --version` no Docker, execute o seguinte.

------
#### [ Amazon ECR Public ]

  ```
  $ docker run --rm -it public.ecr.aws/aws-cli/aws-cli --version
  aws-cli/2.27.41 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.4.5dev10
  ```

------
#### [ Docker Hub ]

  ```
  $ docker run --rm -it amazon/aws-cli --version
  aws-cli/2.27.41 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.4.5dev10
  ```

------
+ `--rm`: especifica a limpeza do contêiner após a saída do comando.
+ `-it`: especifica a abertura de um pseudo-TTY com `stdin`. Isso permite fornecer uma entrada na AWS CLI versão 2 enquanto ela está sendo executada em um contêiner, por exemplo, usando os comandos `aws configure` e `aws help`. Ao escolher se deseja omitir `-it`, considere o seguinte:
  + Se você estiver executando scripts, não será necessário usar `-it`. 
  + Se você estiver enfrentando erros em seus scripts, omitir `-it` de sua chamada do Docker poderá resolver o problema.
  + Se você estiver tentando canalizar a saída, `-it` poderá causar erros e omitir `-it` de sua chamada do Docker poderá resolver esse problema. Se quiser manter o sinalizador `-it`, mas ainda desejar canalizar a saída, desabilitar a [paginação do lado do cliente](cli-usage-pagination.md#cli-usage-pagination-clientside) que a AWS CLI usa por padrão deve resolver o problema.

Para obter mais informações sobre o comando `docker run`, consulte o [Docker reference guide](https://docs.docker.com/engine/reference/run/).

## Observações sobre interfaces e compatibilidade com versões anteriores das imagens oficiais
<a name="cliv2-docker-install-notes"></a>
+ A única ferramenta compatível na imagem é a AWS CLI. Somente o executável `aws` deve ser executado diretamente. Por exemplo, mesmo que `less` e `groff` forem explicitamente instalados na imagem, eles não deverão ser executados diretamente fora de um comando da AWS CLI.
+ O diretório de trabalho `/aws` é controlado pelo usuário. A imagem não será gravada nesse diretório, a menos que seja instruído pelo usuário na execução de um comando da AWS CLI.
+ Não há garantias de compatibilidade com versões anteriores quando se utiliza a etiqueta mais recente. Para garantir a compatibilidade com versões anteriores, é necessário fixar uma tag `<major.minor.patch>` específica, pois essas tags são imutáveis. Elas só serão enviadas uma vez.

## Usar versões e tags específicas
<a name="cliv2-docker-upgrade"></a>

A imagem oficial da AWS CLI versão 2 oferece várias versões que podem ser usadas, começando pela versão `2.0.6`. Para executar uma versão específica da AWS CLI versão 2, anexe a etiqueta apropriada ao seu comando `docker run`. Na primeira vez que você usar o comando `docker run` com uma tag, a imagem mais recente com essa tag será baixada no computador. Cada uso subsequente do comando `docker run` com essa etiqueta é executado de sua cópia local. 

É possível usar dois tipos de etiqueta: 
+ `latest`: define a versão mais recente da AWS CLI versão 2 para a imagem. Recomendamos usar a etiqueta `latest` quando quiser a versão mais recente da AWS CLI versão 2. No entanto, não há garantias de compatibilidade com versões anteriores ao depender dessa etiqueta. A etiqueta `latest` é usada por padrão no comando `docker run`. Para usar explicitamente a etiqueta `latest`, anexe a etiqueta ao nome da imagem do contêiner.

------
#### [ Amazon ECR Public ]

  ```
  $ docker run --rm -it public.ecr.aws/aws-cli/aws-cli:latest command
  ```

------
#### [ Docker Hub ]

  ```
  $ docker run --rm -it amazon/aws-cli:latest command
  ```

------
+ `<major.minor.patch>`: define uma versão específica da AWS CLI versão 2 para a imagem. Se você planeja usar a imagem oficial na produção, recomendamos usar uma versão específica da AWS CLI versão 2 para garantir a compatibilidade com versões anteriores. Por exemplo, para executar a versão `2.0.6`, anexe a versão ao nome da imagem do contêiner.

------
#### [ Amazon ECR Public ]

  ```
  $ docker run --rm -it public.ecr.aws/aws-cli/aws-cli:2.0.6 command
  ```

------
#### [ Docker Hub ]

  ```
  $ docker run --rm -it amazon/aws-cli:2.0.6 command
  ```

------

## Atualizar para a imagem oficial mais recente
<a name="cliv2-docker-update"></a>

Como a imagem mais recente é baixada no computador somente na primeira vez que você usa o comando `docker run`, é necessário extrair manualmente uma imagem atualizada. Para atualizar manualmente para a versão mais recente, recomendamos extrair a imagem marcada com a etiqueta `latest`. Ao extrair a imagem, você baixa a versão mais recente no computador.

------
#### [ Amazon ECR Public ]

```
$ docker pull public.ecr.aws/aws-cli/aws-cli:latest
```

------
#### [ Docker Hub ]

```
$ docker pull amazon/aws-cli:latest
```

------

## Compartilhar arquivos de host, credenciais, variáveis de ambiente e configuração
<a name="cliv2-docker-share-files"></a>

Como a AWS CLI versão 2 é executada em um contêiner, por padrão, a CLI não pode acessar o sistema de arquivos de host, que inclui a configuração e as credenciais. Para compartilhar o sistema de arquivos de host, as credenciais e a configuração com o contêiner, monte o diretório `~/.aws` do sistema de host no contêiner em `/root/.aws` com o sinalizador `-v` para o comando `docker run`. Isso permite que a AWS CLI versão 2 em execução no contêiner localize informações do arquivo de host.

------
#### [ Amazon ECR Public ]

**Linux e macOS**

```
$ docker run --rm -it -v ~/.aws:/root/.aws public.ecr.aws/aws-cli/aws-cli command
```

**Prompt de comando do Windows**

```
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws public.ecr.aws/aws-cli/aws-cli command
```

**Windows PowerShell**

```
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws  public.ecr.aws/aws-cli/aws-cli command
```

------
#### [ Docker Hub ]

**Linux e macOS**

```
$ docker run --rm -it -v ~/.aws:/root/.aws amazon/aws-cli command
```

**Prompt de comando do Windows**

```
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws amazon/aws-cli command
```

**Windows PowerShell**

```
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws  amazon/aws-cli command
```

------

Para obter mais informações sobre o sinalizador `-v` e a montagem, consulte o [Docker reference guide](https://docs.docker.com/storage/volumes/). 

**nota**  
Para obter mais informações sobre os arquivos `config` e `credentials`, consulte [Configurações do arquivo de configuração e credenciais na AWS CLI](cli-configure-files.md).

### Exemplo 1: Fornecer credenciais e configuração
<a name="cliv2-docker-share-files-config"></a>

Neste exemplo, estamos fornecendo a configuração e as credenciais de host ao executar o comando `s3 ls` para listar os buckets no Amazon Simple Storage Service (Amazon S3). Os exemplos abaixo usam o local padrão para credenciais e arquivos de configuração da AWS CLI. Para usar um local diferente, altere o caminho do arquivo.

------
#### [ Amazon ECR Public ]

**Linux e macOS**

```
$ docker run --rm -it -v ~/.aws:/root/.aws public.ecr.aws/aws-cli/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Prompt de comando do Windows**

```
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws public.ecr.aws/aws-cli/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Windows PowerShell**

```
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws public.ecr.aws/aws-cli/aws-cli s3 ls
```

------
#### [ Docker Hub ]

**Linux e macOS**

```
$ docker run --rm -it -v ~/.aws:/root/.aws amazon/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Prompt de comando do Windows**

```
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws amazon/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Windows PowerShell**

```
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws amazon/aws-cli s3 ls
```

------

Você pode chamar variáveis de ambiente do sistema específicas usando o sinalizador `-e`. Para usar uma variável de ambiente, chame-a pelo nome. 

------
#### [ Amazon ECR Public ]

**Linux e macOS**

```
$ docker run --rm -it -v ~/.aws:/root/.aws -e ENVVAR_NAME public.ecr.aws/aws-cli/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Prompt de comando do Windows**

```
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws -e ENVVAR_NAME public.ecr.aws/aws-cli/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Windows PowerShell**

```
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws -e ENVVAR_NAME public.ecr.aws/aws-cli/aws-cli s3 ls
```

------
#### [ Docker Hub ]

**Linux e macOS**

```
$ docker run --rm -it -v ~/.aws:/root/.aws -e ENVVAR_NAME amazon/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Prompt de comando do Windows**

```
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws -e ENVVAR_NAME amazon/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Windows PowerShell**

```
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws -e ENVVAR_NAME amazon/aws-cli s3 ls
```

------

### Exemplo 2: Baixar um arquivo do Amazon S3 no sistema de host
<a name="cliv2-docker-share-files-s3"></a>

Para alguns comandos da AWS CLI versão 2, é possível ler arquivos do sistema de host no contêiner ou gravar arquivos do contêiner no sistema de host. 

Neste exemplo, baixamos o objeto do `S3` `s3://aws-cli-docker-demo/hello` no sistema de arquivos local, montando o diretório de trabalho atual no diretório `/aws` do contêiner. Ao baixar o objeto `hello` no diretório `/aws` do contêiner, o arquivo também é salvo no diretório de trabalho atual do sistema de host.

------
#### [ Amazon ECR Public ]

**Linux e macOS**

```
$ docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws public.ecr.aws/aws-cli/aws-cli s3 cp s3://aws-cli-docker-demo/hello .
download: s3://aws-cli-docker-demo/hello to ./hello
```

**Prompt de comando do Windows**

```
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws -v %cd%:/aws public.ecr.aws/aws-cli/aws-cli s3 cp s3://aws-cli-docker-demo/hello .
download: s3://aws-cli-docker-demo/hello to ./hello
```

**Windows PowerShell**

```
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v $pwd\aws:/aws public.ecr.aws/aws-cli/aws-cli s3 cp s3://aws-cli-docker-demo/hello .
```

------
#### [ Docker Hub ]

**Linux e macOS**

```
$ docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws amazon/aws-cli s3 cp s3://aws-cli-docker-demo/hello .
download: s3://aws-cli-docker-demo/hello to ./hello
```

**Prompt de comando do Windows**

```
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws -v %cd%:/aws amazon/aws-cli s3 cp s3://aws-cli-docker-demo/hello .
download: s3://aws-cli-docker-demo/hello to ./hello
```

**Windows PowerShell**

```
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v $pwd\aws:/aws amazon/aws-cli s3 cp s3://aws-cli-docker-demo/hello .
```

------

Para confirmar que o arquivo baixado existe no sistema de arquivos local, execute o seguinte.

**Linux e macOS**

```
$ cat hello
Hello from Docker!
```

**Windows PowerShell**

```
$ type hello
Hello from Docker!
```

### Exemplo 3: Usar sua variável de ambiente AWS\$1PROFILE
<a name="cliv2-docker-share-files-envvars"></a>

Você pode chamar variáveis de ambiente do sistema específicas usando o sinalizador `-e`. Chame cada variável de ambiente que gostaria de usar. Neste exemplo, estamos fornecendo credenciais de host, a configuração e a variável de ambiente *AWS\$1PROFILE* ao executar o comando `s3 ls` para listar os buckets no Amazon Simple Storage Service (Amazon S3).

------
#### [ Amazon ECR Public ]

**Linux e macOS**

```
$ docker run --rm -it -v ~/.aws:/root/.aws -e AWS_PROFILE public.ecr.aws/aws-cli/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Prompt de comando do Windows**

```
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws -e AWS_PROFILE public.ecr.aws/aws-cli/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Windows PowerShell**

```
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws -e AWS_PROFILE public.ecr.aws/aws-cli/aws-cli s3 ls
```

------
#### [ Docker Hub ]

**Linux e macOS**

```
$ docker run --rm -it -v ~/.aws:/root/.aws -e AWS_PROFILE amazon/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Prompt de comando do Windows**

```
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws -e AWS_PROFILE amazon/aws-cli s3 ls
2020-03-25 00:30:48 aws-cli-docker-demo
```

**Windows PowerShell**

```
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws -e AWS_PROFILE amazon/aws-cli s3 ls
```

------

## Reduzir o comando de execução do Docker
<a name="cliv2-docker-aliases"></a>

Para reduzir o comando `docker run`, sugerimos usar a capacidade do sistema operacional para criar um [https://www.linux.com/topic/desktop/understanding-linux-links/](https://www.linux.com/topic/desktop/understanding-linux-links/) (symlink) ou [https://www.linux.com/topic/desktop/aliases-diy-shell-commands/](https://www.linux.com/topic/desktop/aliases-diy-shell-commands/) no Linux e no macOS ou [https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/doskey](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/doskey) no Windows. Para definir o alias `aws`, é possível executar um dos comandos a seguir.
+ Para obter acesso básico a comandos `aws`, execute o seguinte.

------
#### [ Amazon ECR Public ]

  **Linux e macOS**

  ```
  $ alias aws='docker run --rm -it public.ecr.aws/aws-cli/aws-cli'
  ```

  **Prompt de comando do Windows**

  ```
  C:\> doskey aws=docker run --rm -it public.ecr.aws/aws-cli/aws-cli $*
  ```

  **Windows PowerShell**

  ```
  C:\> Function AWSCLI {docker run --rm -it public.ecr.aws/aws-cli/aws-cli $args}
  Set-Alias -Name aws -Value AWSCLI
  ```

------
#### [ Docker Hub ]

  **Linux e macOS**

  ```
  $ alias aws='docker run --rm -it amazon/aws-cli'
  ```

  **Prompt de comando do Windows**

  ```
  C:\> doskey aws=docker run --rm -it amazon/aws-cli $*
  ```

  **Windows PowerShell**

  ```
  C:\> Function AWSCLI {docker run --rm -it amazon/aws-cli $args}
  Set-Alias -Name aws -Value AWSCLI
  ```

------
+ Para obter acesso ao sistema de arquivos de host e às definições de configuração ao usar comandos `aws`, execute o indicado a seguir.

------
#### [ Amazon ECR Public ]

  **Linux e macOS**

  ```
  $ alias aws='docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws public.ecr.aws/aws-cli/aws-cli'
  ```

  **Prompt de comando do Windows**

  ```
  C:\> doskey aws=docker run --rm -it -v %userprofile%\.aws:/root/.aws -v %cd%:/aws public.ecr.aws/aws-cli/aws-cli $*
  ```

  **Windows PowerShell**

  ```
  C:\> Function AWSCLI {docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v $pwd\aws:/aws public.ecr.aws/aws-cli/aws-cli $args}
  Set-Alias -Name aws -Value AWSCLI
  ```

------
#### [ Docker Hub ]

  **Linux e macOS**

  ```
  $ alias aws='docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws amazon/aws-cli'
  ```

  **Prompt de comando do Windows**

  ```
  C:\> doskey aws=docker run --rm -it -v %userprofile%\.aws:/root/.aws -v %cd%:/aws amazon/aws-cli $*
  ```

  **Windows PowerShell**

  ```
  C:\> Function AWSCLI {docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v $pwd\aws:/aws amazon/aws-cli $args}
  Set-Alias -Name aws -Value AWSCLI
  ```

------
+ Para atribuir uma versão específica para usar no alias `aws`, anexe a etiqueta de versão.

------
#### [ Amazon ECR Public ]

  **Linux e macOS**

  ```
  $ alias aws='docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws public.ecr.aws/aws-cli/aws-cli:2.0.6'
  ```

  **Prompt de comando do Windows**

  ```
  C:\> doskey aws=docker run --rm -it -v %userprofile%\.aws:/root/.aws -v %cd%:/aws public.ecr.aws/aws-cli/aws-cli:2.0.6 $*
  ```

  **Windows PowerShell**

  ```
  C:\> Function AWSCLI {docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v $pwd\aws:/aws public.ecr.aws/aws-cli/aws-cli:2.0.6 $args}
  Set-Alias -Name aws -Value AWSCLI
  ```

------
#### [ Docker Hub ]

  **Linux e macOS**

  ```
  $ alias aws='docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws amazon/aws-cli:2.0.6'
  ```

  **Prompt de comando do Windows**

  ```
  C:\> doskey aws=docker run --rm -it -v %userprofile%\.aws:/root/.aws -v %cd%:/aws amazon/aws-cli:2.0.6 $*
  ```

  **Windows PowerShell**

  ```
  C:\> Function AWSCLI {docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v $pwd\aws:/aws amazon/aws-cli:2.0.6 $args}
  Set-Alias -Name aws -Value AWSCLI
  ```

------

Depois de definir o alias, é possível executar a AWS CLI versão 2 de dentro de um contêiner como se ela estivesse instalada no sistema do host. 

```
$ aws --version
aws-cli/2.27.41 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.4.5dev10
```

# Configuração da AWS CLI
<a name="getting-started-quickstart"></a>

Este tópico explica como definir rapidamente as configurações básicas que a AWS Command Line Interface (AWS CLI) usa para interagir com a AWS. Elas incluem as credenciais de segurança, o formato de saída padrão e a região padrão da AWS.

**Topics**
+ [Reunir suas informações de credencial para acesso programático](#getting-started-prereqs-keys)
+ [Definir credenciais e configurações novas](#getting-started-quickstart-new)
+ [Usar arquivos de credenciais e configurações existentes](#getting-started-quickstart-existing)

## Reunir suas informações de credencial para acesso programático
<a name="getting-started-prereqs-keys"></a>

Você precisará de acesso programático se quiser interagir com a AWS de fora do Console de gerenciamento da AWS. Para obter instruções de autenticação e credenciais, selecione uma das seguintes opções:


****  

| Tipo de autenticação | Finalidade | Instruções | 
| --- | --- | --- | 
|  Credenciais do Console de Gerenciamento da AWS  | **(Recomendado)** Use credenciais de curto prazo fazendo login na AWS CLI com as credenciais do console. Recomendado se você usa usuário-raiz, usuários do IAM ou federação com o IAM para acesso à conta da AWS. | [Login para desenvolvimento local da AWS usando credenciais do console](cli-configure-sign-in.md) | 
|  Credenciais de curto prazo dos usuários da força de trabalho do Centro de Identidade do IAM  | Use credenciais de curto prazo para um usuário da força de trabalho do Centro de Identidade do IAM.A melhor prática de segurança é usar o AWS Organizations com o Centro de Identidade do IAM. Ele combina credenciais de curto prazo com um diretório de usuários, como o diretório integrado do Centro de Identidade do IAM ou o Active Directory. | [Definição da autenticação do Centro de Identidade do IAM com a AWS CLI](cli-configure-sso.md) | 
| Credenciais de curto prazo para usuários do IAM | Use as credenciais de curto prazo para usuários do IAM, que são mais seguras do que as credenciais de longo prazo. Se suas credenciais estiverem comprometidas, há um tempo limitado para usá-las antes de expirarem. | [Autenticação de credenciais de curto prazo para a AWS CLI](cli-authentication-short-term.md) | 
| Usuários do IAM ou do Centro de Identidade do IAM em uma instância do Amazon EC2.  | Use os metadados da instância do Amazon EC2 para consultar credenciais temporárias usando a função atribuída à instância do Amazon EC2. | [Uso de metadados da instância do Amazon EC2 como credenciais na AWS CLI](cli-configure-metadata.md) | 
| Assumir funções para obter permissões | Combine outro método de credencial e assuma um perfil para acesso temporário aos Serviços da AWS ao qual seu usuário talvez não tenha acesso. | [Uso de funções do IAM na AWS CLI](cli-configure-role.md) | 
| Credenciais de longo prazo para usuários do IAM | (Não recomendado) Use credenciais de longo prazo, que não têm prazo de expiração. | [Autenticação usando credenciais de usuário do IAM para a AWS CLI](cli-authentication-user.md) | 
| Armazenamento externo de usuários da força de trabalho do IAM ou do Centro de Identidade do IAM  | (Não recomendado) Combine outro método de credencial, mas armazene valores de credencial em um local fora da AWS CLI. Esse método é tão seguro quanto o local externo em que as credenciais são armazenadas. | [Credenciais de fornecimento com um processo externo na AWS CLI](cli-configure-sourcing-external.md) | 

## Definir credenciais e configurações novas
<a name="getting-started-quickstart-new"></a>

A AWS CLI armazena suas informações de configuração e credencial em um *perfil* (uma coleção de configurações) nos arquivos `credentials` e `config`. 

**Topics**
+ [Configurar usando os comandos da AWS CLI](#getting-started-quickstart-new-command)
+ [Editar manualmente as credenciais e os arquivos de configuração](#getting-started-quickstart-new-file)

Os exemplos a seguir usam valores de amostra para cada um dos métodos de autenticação. Substitua os valores de amostra por seus próprios valores.

### Configurar usando os comandos da AWS CLI
<a name="getting-started-quickstart-new-command"></a>

Para uso geral, os comandos `aws configure` ou `aws configure sso` em seu terminal de sua preferência são a maneira mais rápida de configurar sua instalação da AWS CLI. Com base no método de credencial de sua preferência, a AWS CLI solicita a você as informações relevantes. Por padrão, as informações neste perfil são usadas quando você executa um comando da AWS CLI que não especifica explicitamente um perfil a ser usado.

Para obter mais informações sobre os arquivos `credentials` e `config`, consulte [Configurações do arquivo de configuração e credenciais na AWS CLI](cli-configure-files.md).

------
#### [ Console sessions as short-term credentials ]

Este exemplo permite que você use suas credenciais do console existentes com o comando `aws login`. Este método de login pode ser usado com credenciais raiz criadas durante a configuração inicial da conta, com um usuário do IAM ou com uma identidade federada do seu provedor de identidades. Para ter mais informações, consulte [Login para desenvolvimento local da AWS usando credenciais do console](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sign-in.html).

```
$ aws login
No AWS region has been configured. The AWS region is the geographic location of your AWS resources. 

If you've used AWS before and already have resources in your account, tell us which region they were 
created in. If you haven't created resources in your account before, you can pick the region closest to you: 
https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html. You are able to change 
the region in the CLI at any time with the command `aws configure set region NEW_REGION`.

AWS Region [us-east-1]: us-east-1
Attempting to open the login page for `us-east-1` in your default browser. If the browser does not open, 
use the following URL to complete your login:

https://us-east-1.signin.aws.amazon.com/v1/authorize<abbreviated>

If you cannot connect to this URL, make sure that you have specified a valid region.

Waiting for login...

Logged in with role `arn:aws:sts::012345678910:user/iam-user`, and configured profile 
`default` to use `us-east-1`. This session will expire on October 14, 2025 at 2:04 PST. After this time, you 
can renew your session with `aws login`.
```

------
#### [ IAM Identity Center (SSO) ]

Este exemplo é para o Centro de Identidade do AWS IAM usando o assistente `aws configure sso`. Para obter mais informações, consulte [Definição da autenticação do Centro de Identidade do IAM com a AWS CLI](cli-configure-sso.md).

```
$ aws configure sso
SSO session name (Recommended): my-sso
SSO start URL [None]: https://my-sso-portal.awsapps.com/start
SSO region [None]:us-east-1

Attempting to automatically open the SSO authorization page in your default browser.

There are 2 AWS accounts available to you.
> DeveloperAccount, developer-account-admin@example.com (111122223333) 
  ProductionAccount, production-account-admin@example.com (444455556666)

Using the account ID 111122223333

There are 2 roles available to you.
> ReadOnly
  FullAccess

Using the role name "ReadOnly"

CLI default client Region [None]: us-west-2
CLI default output format [None]: json
CLI profile name [123456789011_ReadOnly]: user1
```

------
#### [ IAM Identity Center (Legacy SSO) ]

Este exemplo é para o método legado do Centro de Identidade do AWS IAM usando o assistente `aws configure sso`. Para usar o SSO legado, deixe o nome da sessão em branco. Para obter mais informações, consulte [Definição da autenticação do Centro de Identidade do IAM com a AWS CLI](cli-configure-sso.md).

```
$ aws configure sso
SSO session name (Recommended):
SSO start URL [None]: https://my-sso-portal.awsapps.com/start
SSO region [None]:us-east-1

SSO authorization page has automatically been opened in your default browser.
Follow the instructions in the browser to complete this authorization request.

There are 2 AWS accounts available to you.
> DeveloperAccount, developer-account-admin@example.com (111122223333) 
  ProductionAccount, production-account-admin@example.com (444455556666)

Using the account ID 111122223333

There are 2 roles available to you.
> ReadOnly
  FullAccess

Using the role name "ReadOnly"

CLI default client Region [None]: us-west-2
CLI default output format [None]: json
CLI profile name [123456789011_ReadOnly]: user1
```

------
#### [ Short-term credentials ]

Este exemplo é para as credenciais de curto prazo do AWS Identity and Access Management. O assistente de configuração aws é usado para definir os valores iniciais e, depois, o comando `aws configure set` atribui o último valor necessário. Para obter mais informações, consulte [Autenticação de credenciais de curto prazo para a AWS CLI](cli-authentication-short-term.md).

```
$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json
$ aws configure set aws_session_token fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
```

------
#### [ IAM role ]

Este exemplo serve para assumir um perfil do IAM. Os perfis que usam perfis do IAM extraem credenciais de outro perfil e, depois, aplicam as permissões de perfil do IAM. Nos exemplos a seguir, `default` é o perfil de origem das credenciais, e `user1` empresta as mesmas credenciais e assume um novo perfil. Não há assistente para esse processo, portanto, cada valor é definido usando o comando `aws configure set`. Para obter mais informações, consulte [Uso de funções do IAM na AWS CLI](cli-configure-role.md).

```
$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole
$ aws configure set source_profile default
$ aws configure set role_session_name session_user1
$ aws configure set region us-west-2
$ aws configure set output json
```

------
#### [ Amazon EC2 instance metadata credentials ]

Este exemplo é para as credenciais obtidas dos metadados de instância do Amazon EC2 de host. Não há assistente para esse processo, portanto, cada valor é definido usando o comando `aws configure set`. Para obter mais informações, consulte [Uso de metadados da instância do Amazon EC2 como credenciais na AWS CLI](cli-configure-metadata.md).

```
$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole
$ aws configure set credential_source Ec2InstanceMetadata
$ aws configure set region us-west-2
$ aws configure set output json
```

------
#### [ Long-term credentials ]

**Atenção**  
Para evitar riscos de segurança, não use usuários do IAM para autenticação ao desenvolver software com propósito específico ou trabalhar com dados reais. Em vez disso, use federação com um provedor de identidade, como [Centro de Identidade do AWS IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).

Este exemplo é para as credenciais de longo prazo do AWS Identity and Access Management. Para obter mais informações, consulte [Autenticação usando credenciais de usuário do IAM para a AWS CLI](cli-authentication-user.md).

```
$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json
```

------

Para obter mais informações mais detalhadas sobre os métodos de credenciais e autenticação, consulte [Autenticação e credenciais de acesso para a AWS CLI](cli-chap-authentication.md).

### Editar manualmente as credenciais e os arquivos de configuração
<a name="getting-started-quickstart-new-file"></a>

Ao copiar e colar as informações, sugerimos editar manualmente o arquivo `config` e `credentials`. Com base no método de credencial de sua preferência, os arquivos são configurados de uma forma diferente. 

Os arquivos são armazenados no diretório inicial, na pasta `.aws`. O local do diretório inicial varia de acordo com o sistema operacional, mas é acessado usando as variáveis de ambiente `%UserProfile%` no Windows e `$HOME` ou `~` (til) em sistemas baseados em Unix. Para obter mais informações sobre onde essas configurações estão armazenadas, consulte [Onde as definições de configuração ficam armazenadas?](cli-configure-files.md#cli-configure-files-where).

Os exemplos a seguir mostram um perfil `default` e um perfil chamado `user1` e usam valores de amostra. Substitua os valores de amostra por seus próprios valores. Para obter mais informações sobre os arquivos `credentials` e `config`, consulte [Configurações do arquivo de configuração e credenciais na AWS CLI](cli-configure-files.md).

------
#### [ IAM Identity Center (SSO) ]

Este exemplo é para Centro de Identidade do AWS IAM. Para obter mais informações, consulte [Definição da autenticação do Centro de Identidade do IAM com a AWS CLI](cli-configure-sso.md).

**Arquivo de credenciais**

O arquivo `credentials` não é usado para esse método de autenticação.

**Arquivo de configuração**

```
[default]
sso_session = my-sso
sso_account_id = 111122223333
sso_role_name = readOnly
region = us-west-2
output = text

[profile user1]
sso_session = my-sso
sso_account_id = 444455556666
sso_role_name = readOnly
region = us-east-1
output = json

[sso-session my-sso]
sso_region = us-east-1
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_registration_scopes = sso:account:access
```

------
#### [ IAM Identity Center (Legacy SSO) ]

Este exemplo é para o método legado de Centro de Identidade do AWS IAM. Para obter mais informações, consulte [Definição da autenticação do Centro de Identidade do IAM com a AWS CLI](cli-configure-sso.md).

**Arquivo de credenciais**

O arquivo `credentials` não é usado para esse método de autenticação.

**Arquivo de configuração**

```
[default]
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_region = us-east-1
sso_account_id = 111122223333
sso_role_name = readOnly
region = us-west-2
output = text

[profile user1]
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_region = us-east-1
sso_account_id = 444455556666
sso_role_name = readOnly
region = us-east-1
output = json
```

------
#### [ Short-term credentials ]

Este exemplo é para as credenciais de curto prazo do AWS Identity and Access Management. Para obter mais informações, consulte [Autenticação de credenciais de curto prazo para a AWS CLI](cli-authentication-short-term.md).

**Arquivo de credenciais**

```
[default]
aws_access_key_id=ASIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

[user1]
aws_access_key_id=ASIAI44QH8DHBEXAMPLE
aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
aws_session_token = fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
```

**Arquivo de configuração**

```
[default]
region=us-west-2
output=json

[profile user1]
region=us-east-1
output=text
```

------
#### [ IAM role ]

Este exemplo serve para assumir um perfil do IAM. Os perfis que usam perfis do IAM extraem credenciais de outro perfil e, depois, aplicam as permissões de perfil do IAM. Nos exemplos a seguir, `default` é o perfil de origem das credenciais, e `user1` empresta as mesmas credenciais e assume um novo perfil. Para obter mais informações, consulte [Uso de funções do IAM na AWS CLI](cli-configure-role.md).

**Arquivo de credenciais**

O arquivo `credentials` depende da autenticação que o perfil de origem usa. No exemplo a seguir, o perfil de origem usa credenciais de curto prazo.

```
[default]
aws_access_key_id=ASIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
```

**Arquivo de configuração**

```
[default]
region=us-west-2
output=json

[profile user1]
role_arn=arn:aws:iam::777788889999:role/user1role
source_profile=default
role_session_name=session_user1
region=us-east-1
output=text
```

------
#### [ Amazon EC2 instance metadata credentials ]

Este exemplo é para as credenciais obtidas dos metadados de instância do Amazon EC2 de host. Para obter mais informações, consulte [Uso de metadados da instância do Amazon EC2 como credenciais na AWS CLI](cli-configure-metadata.md).

**Arquivo de credenciais**

O arquivo `credentials` não é usado para esse método de autenticação.

**Arquivo de configuração**

```
[default]
role_arn=arn:aws:iam::123456789012:role/defaultrole
credential_source=Ec2InstanceMetadata
region=us-west-2
output=json

[profile user1]
role_arn=arn:aws:iam::777788889999:role/user1role
credential_source=Ec2InstanceMetadata
region=us-east-1
output=text
```

------
#### [ Long-term credentials ]

**Atenção**  
Para evitar riscos de segurança, não use usuários do IAM para autenticação ao desenvolver software com propósito específico ou trabalhar com dados reais. Em vez disso, use federação com um provedor de identidade, como [Centro de Identidade do AWS IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).

Este exemplo é para as credenciais de longo prazo do AWS Identity and Access Management. Para obter mais informações, consulte [Autenticação usando credenciais de usuário do IAM para a AWS CLI](cli-authentication-user.md).

**Arquivo de credenciais**

```
[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

[user1]
aws_access_key_id=AKIAI44QH8DHBEXAMPLE
aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
```

**Arquivo de configuração**

```
[default]
region=us-west-2
output=json

[profile user1]
region=us-east-1
output=text
```

------

Para obter mais informações mais detalhadas sobre os métodos de credenciais e autenticação, consulte [Autenticação e credenciais de acesso para a AWS CLI](cli-chap-authentication.md).

## Usar arquivos de credenciais e configurações existentes
<a name="getting-started-quickstart-existing"></a>

Se você tiver arquivos de configuração e credenciais existentes, eles poderão ser usados para a AWS CLI. 

Para usar os arquivos `config` e `credentials`, mova-os para a pasta chamada `.aws` em seu diretório inicial. O local do diretório inicial varia de acordo com o sistema operacional, mas é acessado usando as variáveis de ambiente `%UserProfile%` no Windows e `$HOME` ou `~` (til) em sistemas baseados em Unix. 

Você pode especificar um local não padrão para os arquivos `config` e `credentials` definindo as variáveis de ambiente`AWS_CONFIG_FILE` e `AWS_SHARED_CREDENTIALS_FILE` para outro caminho local. Para mais detalhes, consulte [Configurar variáveis de ambiente para a AWS CLI](cli-configure-envvars.md). 

Para obter informações mais detalhadas sobre arquivos de configuração e credenciais, consulte [Configurações do arquivo de configuração e credenciais na AWS CLI](cli-configure-files.md).