

# Introducción al AWS CLI
<a name="cli-chap-getting-started"></a>

En este capítulo se explican los primeros pasos para empezar a utilizar la versión 2 de la AWS Command Line Interface (AWS CLI), además de los enlaces a las instrucciones correspondientes. 

1. **[Complete todos los requisitos previos](getting-started-prereqs.md)**: para acceder a los servicios de AWS con la AWS CLI, necesita como mínimo una Cuenta de AWS y las credenciales de IAM. Para aumentar la seguridad de la cuenta de AWS, le recomendamos que no utilice las credenciales de la cuenta raíz. Debe crear un usuario con privilegio mínimo para proporcionar credenciales de acceso a las tareas que ejecutará en AWS. 

1. Para instalar o acceder a la AWS CLI, use uno de los siguientes métodos:
   + **(Recomendado)** [Instalación o actualización de la versión más reciente de AWS CLI](getting-started-install.md).
   + [Instalación de versiones anteriores de la versión 2 de AWS CLI](getting-started-version.md). La instalación de una versión específica se utiliza principalmente si su equipo alinea las herramientas con una versión específica.
   + [Compilación e instalación de la AWS CLI desde el origen](getting-started-source-install.md). La compilación de la AWS CLI desde el código fuente de GitHub es un método más profundo que utilizan principalmente los clientes que trabajan en plataformas que no admiten directamente nuestros instaladores prediseñados.
   + [Ejecución de las imágenes oficiales de Amazon ECR Public o Docker para la AWS CLI](getting-started-docker.md).
   + Acceder a la versión 2 de AWS CLI en la consola de AWS desde el navegador con AWS CloudShell. Para obtener más información, consulte la [Guía del usuario de AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/).

1. [Cuando tenga acceso a la AWS CLI, configure la AWS CLI con sus credenciales de IAM para usarlas por primera vez](getting-started-quickstart.md).

**Solución de problemas de instalación o configuración**  
Si tiene problemas al instalar, desinstalar o configurar la AWS CLI, consulte [Solución de errores para la AWS CLI](cli-chap-troubleshooting.md) para ver los pasos de resolución de problemas.

**Topics**
+ [Requisitos previos para utilizar la versión 2 de AWS CLI](getting-started-prereqs.md)
+ [Instalación o actualización de la versión más reciente de AWS CLI](getting-started-install.md)
+ [Instalación de versiones anteriores de la versión 2 de AWS CLI](getting-started-version.md)
+ [Compilación e instalación de la AWS CLI desde el origen](getting-started-source-install.md)
+ [Ejecución de las imágenes oficiales de Amazon ECR Public o Docker para la AWS CLI](getting-started-docker.md)
+ [Configuración de AWS CLI](getting-started-quickstart.md)

# Requisitos previos para utilizar la versión 2 de AWS CLI
<a name="getting-started-prereqs"></a>

Para acceder a servicios de AWS con la AWS CLI, necesita una Cuenta de AWS con credenciales de IAM o de IAM Identity Center. Cuando se ejecutan comandos de AWS CLI, AWS CLI necesita tener acceso a esas credenciales de AWS. Para aumentar la seguridad de la cuenta de AWS, le recomendamos que utilice credenciales de corta duración cuando utilice usuarios raíz o de IAM. Debe crear un usuario con privilegio mínimo para proporcionar credenciales de acceso a las tareas que ejecutará en AWS. Para obtener información sobre las prácticas recomendadas, consulte [Prácticas recomendadas de seguridad](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) en la Guía del usuario de IAM. 

**Topics**
+ [Crear una cuenta administrativa de IAM o del Centro de identidades de IAM](#getting-started-prereqs-iam)
+ [Siguientes pasos](#getting-started-prereqs-next)

## Crear una cuenta administrativa de IAM o del Centro de identidades de IAM
<a name="getting-started-prereqs-iam"></a>

Para poder configurar la AWS CLI, debe crear una cuenta de IAM o IAM Identity Center.


**Opciones de creación de cuentas**  

| Elección de una forma de administrar las credenciales | Para | Cómo crear una cuenta | Cómo configurar el acceso mediante programación a la cuenta | 
| --- | --- | --- | --- | 
| Credenciales de la consola de administración de AWS | Use credenciales a corto plazo correspondientes al usuario raíz creadas durante la configuración inicial de la cuenta, un usuario de IAM o una identidad federada del proveedor de identidades. | Abra [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup) y siga las instrucciones en línea. | No hace falta realizar ningún otro paso. Consulta de [Inicio de sesión para el desarrollo local de AWS con credenciales de consola](cli-configure-sign-in.md) para iniciar sesión en la AWS CLI con la cuenta de AWS | 
| IAM Identity Center | Use credenciales a corto plazo para acceder a los servicios de AWS. | Siga las instrucciones en Introducción de la Guía del usuario de AWS IAM Identity Center. | Configure el acceso mediante programación configurando el uso en la Guía del usuario de AWS IAM Identity Center. | 
| AWS Identity and Access Management(No recomendado) | Use credenciales a largo plazo para acceder a los servicios de AWS. | Siga las instrucciones de Crear para acceso de emergencia de la Guía del usuario de IAM. | Configure el acceso mediante programación a través de Administrar las claves de acceso de los usuarios de IAM en la Guía del usuario de IAM. | 

## Siguientes pasos
<a name="getting-started-prereqs-next"></a>

Después de crear una Cuenta de AWS y credenciales de IAM, para utilizar la AWS CLI puede realizar alguna de las operaciones siguientes: 
+ [Instalar la versión más reciente](getting-started-install.md) de la versión 2 de AWS CLI en la computadora.
+ [Instalar una versión antigua](getting-started-version.md) de la versión 2 de AWS CLI en la computadora.
+ Acceder a la versión 2 de AWS CLI desde la computadora [mediante una imagen de Docker.](getting-started-docker.md)
+ Acceder a la versión 2 de AWS CLI en la consola de AWS desde el navegador con AWS CloudShell. Para obtener más información, consulte la [Guía del usuario de AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/).

# Instalación o actualización de la versión más reciente de AWS CLI
<a name="getting-started-install"></a>

En este tema se describe cómo instalar o actualizar la última versión de AWS Command Line Interface (AWS CLI) en sistemas operativos compatibles. Para obtener información sobre los lanzamientos más recientes de AWS CLI, consulte el [registro de cambios de la versión 2 de la AWS CLI](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) en GitHub.

Para instalar una versión anterior de la AWS CLI, consulte [Instalación de versiones anteriores de la versión 2 de AWS CLI](getting-started-version.md). Para obtener instrucciones de desinstalación, consulte [Desinstalación de la versión 2 de AWS CLI](uninstall.md).

**importante**  
Las versiones 1 y 2 de la AWS CLI utilizan el mismo nombre de comando de `aws`. Si ha instalado previamente la AWS CLI versión 1, consulte [Guía de migración para la versión 2 de la AWS CLI](cliv2-migration.md).

**Topics**
+ [Instrucciones de instalación y actualización de AWS CLI](#getting-started-install-instructions)
+ [Solución de errores de instalación y desinstalación de AWS CLI](#install-tshoot)
+ [Siguientes pasos](#install-next-steps)

## Instrucciones de instalación y actualización de AWS CLI
<a name="getting-started-install-instructions"></a>

Para obtener las instrucciones de instalación, amplíe la sección para el sistema operativo.

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

#### Requisitos de instalación y actualización
<a name="install-linux-prereqs"></a>
+ Debe poder extraer o “descomprimir” el paquete descargado. Si el sistema operativo no tiene el comando `unzip` integrado, utiliza un equivalente.
+ Los AWS CLI usa `glibc`, `groff` y `less`. Estos se incluyen de forma predeterminada en la mayoría de las distribuciones principales de Linux.
+ Admitimos AWS CLI en las versiones de 64 bits de las distribuciones recientes de CentOS, Fedora, Ubuntu, Amazon Linux 1, Amazon Linux 2, Amazon Linux 2023 y Linux ARM.
+ Debido a que AWS no mantiene los repositorios de terceros excepto `snap`, no podemos garantizar que contengan la versión más reciente de AWS CLI.

#### Instalación o actualización de AWS CLI
<a name="install-linux-instructions"></a>

**aviso**  
Si es la primera vez que actualiza en Amazon Linux, para instalar la versión más reciente de la AWS CLI, debe desinstalar la versión de `yum` instalada previamente mediante el siguiente comando:  

```
$ sudo yum remove awscli
```
Después de que la instalación `yum` de la AWS CLI se haya eliminado, siga las instrucciones de instalación de Linux que se muestran a continuación.

Para instalar la AWS CLI, puede seguir uno de los siguientes métodos:
+ El **instalador de línea de comandos** es una buena opción para el control de versiones, ya que puede especificar la versión que se va a instalar. Esta opción no se actualiza automáticamente y debe descargar un nuevo instalador cada vez que actualice para sobrescribir la versión anterior.
+ El **paquete `snap` compatible oficialmente** es una buena opción para tener siempre la versión más reciente de la AWS CLI ya que los paquetes snap se actualizan automáticamente. No se ha integrado compatibilidad para seleccionar versiones secundarias de AWS CLI y, por lo tanto, no es un método de instalación óptimo si su equipo tiene que fijar versiones.

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

Para actualizar la instalación actual de la AWS CLI en Windows, descargue un nuevo instalador cada vez que actualice para sobrescribir las versiones anteriores. Siga estos pasos desde la línea de comandos para instalar la AWS CLI en Linux.

A continuación, se presentan los pasos de instalación rápida en un solo grupo de copiar y pegar que proporcionan una instalación básica. Para obtener instrucciones guiadas, consulte los pasos a continuación.

**nota**  
**(Opcional)** El siguiente bloque de comandos descarga e instala la AWS CLI sin verificar primero la integridad de la descarga. Para verificar la integridad de la descarga, siga las instrucciones paso a paso que se muestran a continuación.

**Para instalar** la AWS CLI, ejecute los siguientes comandos.

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

**Para actualizar la instalación actual** de la AWS CLI, agregue la información del enlace simbólico y del instalador existentes para construir el comando `install` con los parámetros `--bin-dir`, `--install-dir` y `--update`. El siguiente bloque de comandos utiliza un enlace simbólico de ejemplo de */usr/local/bin* y una ubicación de instalador de ejemplo de */usr/local/aws-cli* para instalar la AWS CLI localmente para el usuario actual.

```
$ 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
```

**Pasos de la instalación guiada**

1. Descargue el archivo de instalación de una de las siguientes maneras:
   + **Use el comando `curl`**: la opción `-o` especifica el nombre de archivo en el que se escribe el paquete descargado. Las opciones del comando de ejemplo siguiente escriben el archivo descargado en el directorio actual con el nombre local `awscliv2.zip`. 

     ```
     $ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
     ```
   + **Descarga de la URL**: para descargar el instalador con el navegador, utilice la URL siguiente: [https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip](https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip) 

1. **(Opcional) Verificación de la integridad del archivo zip descargado**

   Si eligió descargar manualmente el paquete del instalador de AWS CLI `.zip` en los pasos indicados anteriormente, puede usar los pasos siguientes para verificar las firmas mediante la herramienta `GnuPG`.

   Los archivos AWS CLI del paquete del instalador de la `.zip` están firmados criptográficamente mediante firmas PGP. Si hay algún tipo de daño o alteración en los archivos, esta verificación produce un error, por lo que no debería continuar con la instalación.

   1. Descargue e instale el comando `gpg` usando su administrador de paquetes. Para obtener más información acerca de `GnuPG`, consulte el [sitio web de GnuPG](https://www.gnupg.org/). 

   1. Para crear el archivo de clave pública, cree un archivo de texto y pegue el siguiente texto en él:

      ```
      -----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-----
      ```

      Como referencia, a continuación se indican los detalles de la clave 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 la clave pública de la AWS CLI con el siguiente comando, sustituyendo *public-key-file-name* por el nombre del archivo de la clave pública que ha creado.

      ```
      $ 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. Descargue el archivo de firma de la AWS CLI del paquete que descargó. Tiene la misma ruta y el mismo nombre que el archivo `.zip` al que corresponde, pero con la extensión `.sig`. En los siguientes ejemplos, lo guardaremos en el directorio actual como un archivo llamado `awscliv2.sig`.

      **Para obtener la última versión de la AWS CLI,** utilice el siguiente bloque de comandos.

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

   1. Verifique la firma pasando los nombres de archivo `.sig` y `.zip` como parámetros al comando `gpg`.

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

      El resultado debería parecerse al siguiente:

      ```
      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**  
Se espera la advertencia en la salida y ello no indica un problema. Esto se produce porque no existe una cadena de confianza entre su clave PGP personal (si es su caso) y la clave PGP de la AWS CLI. Para obtener más información, consulta [ Red de confianza](https://en.wikipedia.org/wiki/Web_of_trust).

1. Descomprima el instalador. Si su distribución de Linux no tiene un comando `unzip` integrado, use un equivalente para descomprimirlo. El siguiente comando de ejemplo descomprime el paquete y crea un directorio denominado `aws` en el directorio actual.

   ```
   $ unzip awscliv2.zip
   ```
**nota**  
Al actualizar desde una versión anterior, el comando `unzip` solicita sobrescribir los archivos existentes. Para omitir estas instrucciones, por ejemplo, en el caso de la automatización de scripts, utilice la marca de actualización `-u` para `unzip`. Este indicador actualiza automáticamente los archivos existentes y crea otros nuevos según sea necesario.  

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

1. Ejecute el programa de instalación. El comando de instalación utiliza un archivo denominado `install` en el directorio `aws` recién descomprimido. De forma predeterminada, todos los archivos se instalan en `/usr/local/aws-cli` y se crea un enlace simbólico en `/usr/local/bin`. El comando incluye `sudo` para conceder permisos de escritura en esos directorios. 

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

   Puede realizar la instalación sin `sudo` si especifica directorios en los que ya tiene permisos de escritura. Utilice las siguientes instrucciones en el comando `install` para especificar la ubicación de instalación:
   + Asegúrese de que las rutas que proporcione a los parámetros `-i` y `-b` no contengan nombres de volumen ni nombres de directorio que contengan caracteres de espacio u otros caracteres de espacio en blanco. Si hay un espacio, la instalación falla.
   + `--install-dir` o `-i`: esta opción especifica el directorio en la que se copiarán todos los archivos.

     El valor predeterminado es `/usr/local/aws-cli`.
   + `--bin-dir` o `-b`: esta opción especifica que el programa de `aws` principal del directorio de instalación está vinculado de forma simbólica al archivo `aws` en la ruta de acceso especificada. Debe tener permisos de escritura en el directorio especificado. Al crear un enlace simbólico a un directorio que ya está en su ruta, se elimina la necesidad de agregar el directorio de instalación a la variable `$PATH` del usuario. 

     El valor predeterminado es `/usr/local/bin`.

   ```
   $ ./aws/install -i /usr/local/aws-cli -b /usr/local/bin
   ```
**nota**  
Para actualizar la instalación actual de AWS CLI, agregue la información del enlace simbólico y del instalador para construir el comando `install` con el parámetro `--update`.  

   ```
   $ sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
   ```
Para localizar el enlace simbólico y el directorio de instalación existentes, siga los siguientes pasos:  
Utilice el comando `which` para buscar el enlace simbólico. Esto le dará la ruta que puede utilizar con el parámetro `--bin-dir`.  

      ```
      $ which aws
      /usr/local/bin/aws
      ```
Utilice el comando `ls` para buscar el directorio al que apunta el enlace simbólico. Esto le dará la ruta que puede utilizar con el 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 la instalación con el siguiente comando. 

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

   Si no se encuentra el comando `aws`, es posible que deba reiniciar el terminal o seguir el proceso de solución de problemas en [Solución de errores para la AWS CLI](cli-chap-troubleshooting.md).

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

Para actualizar la instalación actual de la AWS CLI en Windows, descargue un nuevo instalador cada vez que actualice para sobrescribir las versiones anteriores. Siga estos pasos desde la línea de comandos para instalar la AWS CLI en Linux.

A continuación, se presentan los pasos de instalación rápida en un solo grupo de copiar y pegar que proporcionan una instalación básica. Para obtener instrucciones guiadas, consulte los pasos a continuación.

**nota**  
**(Opcional)** El siguiente bloque de comandos descarga e instala la AWS CLI sin verificar primero la integridad de la descarga. Para verificar la integridad de la descarga, siga las instrucciones paso a paso que se muestran a continuación.

**Para instalar** la AWS CLI, ejecute los siguientes comandos.

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

**Para actualizar la instalación actual** de la AWS CLI, agregue la información del enlace simbólico y del instalador existentes para construir el comando `install` con los parámetros `--bin-dir`, `--install-dir` y `--update`. El siguiente bloque de comandos utiliza un enlace simbólico de ejemplo de */usr/local/bin* y una ubicación de instalador de ejemplo 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
```

**Pasos de la instalación guiada**

1. Descargue el archivo de instalación de una de las siguientes maneras:
   + **Use el comando `curl`**: la opción `-o` especifica el nombre de archivo en el que se escribe el paquete descargado. Las opciones del comando de ejemplo siguiente escriben el archivo descargado en el directorio actual con el nombre local `awscliv2.zip`. 

     ```
     $ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"
     ```
   + **Descarga de la URL**: para descargar el instalador con el navegador, utilice la URL siguiente: [https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip](https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip) 

1. **(Opcional) Verificación de la integridad del archivo zip descargado**

   Si eligió descargar manualmente el paquete del instalador de AWS CLI `.zip` en los pasos indicados anteriormente, puede usar los pasos siguientes para verificar las firmas mediante la herramienta `GnuPG`.

   Los archivos AWS CLI del paquete del instalador de la `.zip` están firmados criptográficamente mediante firmas PGP. Si hay algún tipo de daño o alteración en los archivos, esta verificación produce un error, por lo que no debería continuar con la instalación.

   1. Descargue e instale el comando `gpg` usando su administrador de paquetes. Para obtener más información acerca de `GnuPG`, consulte el [sitio web de GnuPG](https://www.gnupg.org/). 

   1. Para crear el archivo de clave pública, cree un archivo de texto y pegue el siguiente texto en él:

      ```
      -----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-----
      ```

      Como referencia, a continuación se indican los detalles de la clave 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 la clave pública de la AWS CLI con el siguiente comando, sustituyendo *public-key-file-name* por el nombre del archivo de la clave pública que ha creado.

      ```
      $ 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. Descargue el archivo de firma de la AWS CLI del paquete que descargó. Tiene la misma ruta y el mismo nombre que el archivo `.zip` al que corresponde, pero con la extensión `.sig`. En los siguientes ejemplos, lo guardaremos en el directorio actual como un archivo llamado `awscliv2.sig`.

      **Para obtener la última versión de la AWS CLI,** utilice el siguiente bloque de comandos.

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

   1. Verifique la firma pasando los nombres de archivo `.sig` y `.zip` como parámetros al comando `gpg`.

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

      El resultado debería parecerse al siguiente:

      ```
      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**  
Se espera la advertencia en la salida y ello no indica un problema. Esto se produce porque no existe una cadena de confianza entre su clave PGP personal (si es su caso) y la clave PGP de la AWS CLI. Para obtener más información, consulta [ Red de confianza](https://en.wikipedia.org/wiki/Web_of_trust).

1. Descomprima el instalador. Si su distribución de Linux no tiene un comando `unzip` integrado, use un equivalente para descomprimirlo. El siguiente comando de ejemplo descomprime el paquete y crea un directorio denominado `aws` en el directorio actual.

   ```
   $ unzip awscliv2.zip
   ```
**nota**  
Al actualizar desde una versión anterior, el comando `unzip` solicita sobrescribir los archivos existentes. Para omitir estas instrucciones, por ejemplo, en el caso de la automatización de scripts, utilice la marca de actualización `-u` para `unzip`. Este indicador actualiza automáticamente los archivos existentes y crea otros nuevos según sea necesario.  

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

1. Ejecute el programa de instalación. El comando de instalación utiliza un archivo denominado `install` en el directorio `aws` recién descomprimido. De forma predeterminada, todos los archivos se instalan en `/usr/local/aws-cli` y se crea un enlace simbólico en `/usr/local/bin`. El comando incluye `sudo` para conceder permisos de escritura en esos directorios. 

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

   Puede realizar la instalación sin `sudo` si especifica directorios en los que ya tiene permisos de escritura. Utilice las siguientes instrucciones en el comando `install` para especificar la ubicación de instalación:
   + Asegúrese de que las rutas que proporcione a los parámetros `-i` y `-b` no contengan nombres de volumen ni nombres de directorio que contengan caracteres de espacio u otros caracteres de espacio en blanco. Si hay un espacio, la instalación falla.
   + `--install-dir` o `-i`: esta opción especifica el directorio en la que se copiarán todos los archivos.

     El valor predeterminado es `/usr/local/aws-cli`.
   + `--bin-dir` o `-b`: esta opción especifica que el programa de `aws` principal del directorio de instalación está vinculado de forma simbólica al archivo `aws` en la ruta de acceso especificada. Debe tener permisos de escritura en el directorio especificado. Al crear un enlace simbólico a un directorio que ya está en su ruta, se elimina la necesidad de agregar el directorio de instalación a la variable `$PATH` del usuario. 

     El valor predeterminado es `/usr/local/bin`.

   ```
   $ ./aws/install -i /usr/local/aws-cli -b /usr/local/bin
   ```
**nota**  
Para actualizar la instalación actual de AWS CLI, agregue la información del enlace simbólico y del instalador para construir el comando `install` con el parámetro `--update`.  

   ```
   $ sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
   ```
Para localizar el enlace simbólico y el directorio de instalación existentes, siga los siguientes pasos:  
Utilice el comando `which` para buscar el enlace simbólico. Esto le dará la ruta que puede utilizar con el parámetro `--bin-dir`.  

      ```
      $ which aws
      /usr/local/bin/aws
      ```
Utilice el comando `ls` para buscar el directorio al que apunta el enlace simbólico. Esto le dará la ruta que puede utilizar con el 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 la instalación con el siguiente comando. 

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

   Si no se encuentra el comando `aws`, es posible que deba reiniciar el terminal o seguir el proceso de solución de problemas en [Solución de errores para la AWS CLI](cli-chap-troubleshooting.md).

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

Proporcionamos una versión oficial de AWS compatible de la AWS CLI en `snap`. Si desea tener siempre instalada la versión más reciente de AWS CLI en su sistema, se la proporciona un paquete snap que se actualiza automáticamente. No se ha integrado compatibilidad para seleccionar versiones secundarias de AWS CLI y, por lo tanto, no es un método de instalación óptimo si su equipo tiene que fijar versiones. Si desea instalar una versión secundaria específica de la AWS CLI, le sugerimos que utilice el instalador de línea de comandos.

1. Si su plataforma Linux aún no tiene `snap` instalado, instale `snap` en su plataforma. 

   1. Para obtener información sobre la instalación de `snap`, consulte [Installing the daemon](https://snapcraft.io/docs/installing-snapd) en la *documentación de Snap*.

   1. Puede que tenga que reiniciar el sistema para que las variables `PATH` se actualicen correctamente. Si tiene problemas durante la instalación, siga los pasos que se indican en la sección [Fix common issues](https://snapcraft.io/docs/fix-common-issues) de la *documentación de Snap*.

   1. Para comprobar que `snap` se haya instalado correctamente, ejecute el siguiente comando.

      ```
      $ snap version
      ```

1. Ejecute el siguiente comando `snap install` para la AWS CLI.

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

   En función de los permisos, es posible que tenga añadir `sudo` al comando.

   ```
   $ sudo snap install aws-cli --classic
   ```
**nota**  
Para ver el repositorio de snap de la AWS CLI, incluidas las instrucciones de `snap` adicionales, consulte la página [https://snapcraft.io/aws-cli](https://snapcraft.io/aws-cli) del *sitio web de Canonical Snapcraft*.

1. Compruebe que AWS CLI se ha instalado correctamente.

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

   Si obtiene un error, consulte [Solución de errores para la AWS CLI](cli-chap-troubleshooting.md).

------

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

#### Requisitos de instalación y actualización
<a name="install-macos-prereqs"></a>
+ Admitimos la AWS CLI en las versiones 11 y posteriores de macOS. Para obtener más información, consulte las [actualizaciones de la política de compatibilidad de macOS para la versión 2 de AWS CLI](https://aws.amazon.com/blogs/developer/macos-support-policy-updates-for-the-aws-cli-v2/) en el *blog de herramientas para desarrolladores de AWS*.
+ Debido a que AWS no mantiene repositorios de terceros, no podemos garantizar que contengan la última versión de AWS CLI.

**Matriz de compatibilidad con versiones de macOS**


| AWS CLIVersión  | Versión de macOS compatible | 
| --- | --- | 
| 2.21.0 - actual | 11\$1 | 
| 2.17.0 - 2.20.0 | 10.15\$1 | 
| 2.0.0 - 2.16.12 | 10.14 y anteriores | 

#### Instalación o actualización de AWS CLI
<a name="install-macos0-instructions"></a>

Si va a actualizar a la versión más reciente, utilice el mismo método de instalación que utilizó en la versión actual. Puede instalar ‎AWS CLI en macOS de las siguientes maneras.

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

En los pasos siguientes se muestra cómo instalar la versión más reciente de AWS CLI mediante la interfaz de usuario estándar de macOS y el navegador.

1. En el navegador, descargue el archivo `pkg` de macOS: [https://awscli.amazonaws.com/AWSCLIV2.pkg](https://awscli.amazonaws.com/AWSCLIV2.pkg) 

1. Ejecute el archivo descargado y siga las instrucciones que aparecen en pantalla. Puede elegir instalar la AWS CLI de las siguientes maneras:
   + **Para todos los usuarios del equipo (requiere `sudo`)**
     + Puede realizar la instalación en cualquier carpeta o elegir la carpeta predeterminada recomendada de `/usr/local/aws-cli`.
     + El instalador crea automáticamente un enlace simbólico en `/usr/local/bin/aws` que enlaza al programa principal en la carpeta de instalación elegida.
   + **Solo para el usuario actual (no requiere `sudo`)**
     + Puede realizar la instalación en cualquier carpeta en la que tenga permiso de escritura.
     + Debido a los permisos de usuario estándar, una vez finalizado el instalador, debe crear manualmente un archivo de enlace simbólico en `$PATH` que apunte a los programas `aws` y `aws_completer` mediante los siguientes comandos en el símbolo del sistema. La ubicación predeterminada de un enlace simbólico es `/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
       ```

        Si no tiene permisos de escritura en la carpeta, puede que necesite usar `sudo` en el comando. En el siguiente ejemplo de `sudo`, se utiliza la ubicación predeterminada para un enlace simbólico en `/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**  
Puede ver los registros de depuración de la instalación si presiona **Cmd\$1L** en cualquier lugar del instalador. Esto abre un panel de registro que le permite filtrar y guardar el registro. El archivo de registro también se guarda automáticamente en `/var/log/install.log`.

1. Para comprobar que el shell puede encontrar y ejecutar el comando `aws` en `$PATH`, utilice los siguientes comandos. 

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

   Si no se encuentra el comando `aws`, es posible que deba reiniciar el terminal o seguir el proceso de solución de problemas en [Solución de errores para la AWS CLI](cli-chap-troubleshooting.md).

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

Si tiene permisos `sudo`, puede instalar la AWS CLI para todos los usuarios del equipo. Proporcionamos los pasos agrupados para que resulte sencillo copiarlos y pegarlos. Consulte las descripciones de cada línea en los pasos siguientes. 

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

**Instrucciones de instalación guiada**

1. Descargar el archivo con el comando `curl`. En este ejemplo, la opción `-o` especifica el nombre de archivo en el que se escribe el paquete descargado. En este ejemplo, el archivo se escribe `AWSCLIV2.pkg` en la carpeta actual.

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

1. Ejecute el programa `installer` de macOS estándar, especificando el archivo `.pkg` descargado como fuente. Utilice el parámetro `-pkg` para especificar el nombre del paquete que se va a instalar y el parámetro `-target /` para indicar la unidad en la que se instalará el paquete. Los archivos se instalan en `/usr/local/aws-cli` y se crea automáticamente un symlink en `/usr/local/bin`. Debe incluir `sudo` en el comando para conceder permisos de escritura a esas carpetas. 

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

   Una vez completada la instalación, los registros de depuración se escriben en `/var/log/install.log`.

1. Para comprobar que el shell puede encontrar y ejecutar el comando `aws` en `$PATH`, utilice los siguientes comandos. 

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

   Si no se encuentra el comando `aws`, es posible que deba reiniciar el terminal o seguir el proceso de solución de problemas en [Solución de errores para la AWS CLI](cli-chap-troubleshooting.md).

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

1. Para especificar en qué carpeta se instala AWS CLI, debe crear un archivo XML con cualquier nombre de archivo. Es un archivo con formato XML que se parece al siguiente ejemplo. Deje todos los valores tal como se muestran. Es posible que deba reemplazar la ruta */Users/myusername* de la línea 9 con la ruta de la carpeta en la que quiere instalar la AWS CLI. *La carpeta ya debe existir o se producirá un error en el comando.* El siguiente ejemplo XML, denominado *choices.xml*, especifica el instalador que va a instalar AWS CLI en la carpeta `/Users/myusername`, donde crea una carpeta denominada `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. Descargue el instalador `pkg` con el comando `curl`. En este ejemplo, la opción `-o` especifica el nombre de archivo en el que se escribe el paquete descargado. En este ejemplo, el archivo se escribe `AWSCLIV2.pkg` en la carpeta actual.

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

1. Ejecute el programa `installer` de macOS estándar con las siguientes opciones:
   + Especifique el nombre del paquete que desea instalar mediante el parámetro `-pkg`.
   + Para especificar una instalación *solo para el usuario actual* debe establecer el parámetro `-target` en `CurrentUserHomeDirectory`.
   + Especifique la ruta de acceso (relativa a la carpeta actual) y el nombre del archivo XML que creó en el parámetro `-applyChoiceChangesXML`.

   En el ejemplo siguiente se instala la AWS CLI en la carpeta `/Users/myusername/aws-cli`.

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

1. Dado que los permisos de usuario estándar normalmente no permiten escribir en las carpetas de `$PATH`, el instalador en este modo no intenta agregar los enlaces simbólicos a los programas `aws` y `aws_completer`. Para que la AWS CLI se ejecute correctamente, debe crear manualmente los enlaces simbólicos una vez finalizado el instalador. Si su `$PATH` incluye una carpeta en la que puede escribir y especifica la carpeta como la ruta de destino, puede ejecutar el siguiente comando sin `sudo`. Si no tiene una carpeta en la que se pueda escribir en `$PATH`, debe usar `sudo` para obtener permisos para escribir en la carpeta de destino especificada. La ubicación predeterminada de un enlace simbólico es `/usr/local/bin/`. Reemplace `folder/installed` por la ruta de su instalación de la 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
   ```

   Una vez completada la instalación, los registros de depuración se escriben en `/var/log/install.log`.

1. Para comprobar que el shell puede encontrar y ejecutar el comando `aws` en `$PATH`, utilice los siguientes comandos. 

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

   Si no se encuentra el comando `aws`, es posible que deba reiniciar el terminal o seguir el proceso de solución de problemas en [Solución de errores para la AWS CLI](cli-chap-troubleshooting.md).

------

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

#### Requisitos de instalación y actualización
<a name="install-windows-prereqs"></a>
+ Admitimos AWS CLI en las versiones compatibles con Microsoft de Windows de 64 bits.
+ Derechos de administrador para instalar software

#### Instalación o actualización de AWS CLI
<a name="install-windows-instructions"></a>

Para actualizar la instalación actual de AWS CLI en Windows, descargue un nuevo instalador cada vez que actualice para sobrescribir las versiones anteriores. AWS CLI se actualiza periódicamente. Para ver si se ha lanzado la versión más reciente, consulte el [registro de cambios de la versión 2 de la AWS CLI](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) en *GitHub*. 

1. Descargue y ejecute el instalador MSI de la AWS CLI para Windows (64 bits):

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

   Si lo desea, también puede ejecutar el comando `msiexec` para ejecutar el instalador MSI.

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

   Para varios parámetros que se pueden usar con `msiexec`, consulte [msiexec](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/msiexec) en el sitio web de *Documentos de Microsoft*. Por ejemplo, puede usar el indicador `/qn` para una instalación silenciosa.

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

1. Para confirmar la instalación, abra el menú **Inicio**, busque `cmd` para abrir una ventana del símbolo del sistema y, en el símbolo del sistema, use el comando `aws --version`. 

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

   Si Windows no puede encontrar el programa, es posible que tenga que cerrar y volver a abrir la ventana del símbolo del sistema para actualizar la ruta o siga el proceso de solución de problemas en [Solución de errores para la AWS CLI](cli-chap-troubleshooting.md).

## Solución de errores de instalación y desinstalación de AWS CLI
<a name="install-tshoot"></a>

Si se encuentra con problemas después de instalar o desinstalar la AWS CLI, consulte en [Solución de errores para la AWS CLI](cli-chap-troubleshooting.md) los pasos para la solución de problemas. Para conocer los pasos más relevantes de la solución de problemas, consulte [Errores de comando no encontrado](cli-chap-troubleshooting.md#tshoot-install-not-found), [El comando "`aws --version`" devuelve una versión diferente a la instalada](cli-chap-troubleshooting.md#tshoot-install-wrong-version) y [El comando "`aws --version`" devuelve una versión después de desinstalar la AWS CLI](cli-chap-troubleshooting.md#tshoot-uninstall-1).

## Siguientes pasos
<a name="install-next-steps"></a>

Después de instalar de forma satisfactoria la AWS CLI, puede eliminar de forma segura los archivos del instalador descargados. Después de completar los pasos indicados en [Requisitos previos para utilizar la versión 2 de AWS CLI](getting-started-prereqs.md) e instalar AWS CLI, debe realizar [Configuración de AWS CLI](getting-started-quickstart.md).

# Instalación de versiones anteriores de la versión 2 de AWS CLI
<a name="getting-started-version"></a>

En este tema se describe cómo instalar las versiones anteriores de la versión 2 de AWS Command Line Interface (AWS CLI) en sistemas operativos compatibles. Para obtener información sobre las publicaciones de la versión 2 de AWS CLI, consulte el [registro de cambios de la versión 2 de AWS CLI](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) en GitHub.

AWS CLIInstrucciones de instalación de la versión 2 de la :

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

### Necesidades de instalación
<a name="versioned-linux-reqs"></a>
+ Sabe qué publicación de la versión 2 de AWS CLI le gustaría instalar. Para obtener una lista de las versiones, consulte el [registro de cambios de la versión 2 de la AWS CLI](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) en *GitHub*.
+ Debe poder extraer o “descomprimir” el paquete descargado. Si el sistema operativo no tiene el comando `unzip` integrado, utiliza un equivalente.
+ La versión 2 de la AWS CLI utiliza `glibc`, `groff` y `less`. Estos se incluyen de forma predeterminada en la mayoría de las distribuciones principales de Linux.
+ Admitimos la versión 2 de AWS CLI en versiones de 64 bits de las distribuciones recientes de CentOS, Fedora, Ubuntu, Amazon Linux 1, Amazon Linux 2 y Linux ARM.
+ Debido a que AWS no mantiene repositorios de terceros, no podemos garantizar que contengan la última versión de AWS CLI.

### Instrucciones de instalación
<a name="versioned-linux-instructions"></a>

Siga estos pasos desde la línea de comandos para instalar la AWS CLI en Linux. 

Proporcionamos los pasos en un grupo fácil de copiar y pegar basado en si usa Linux de 64 bits o Linux ARM. Consulte las descripciones de cada línea en los pasos que se indican a continuación.

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

**nota**  
**(Opcional)** El siguiente bloque de comandos descarga e instala la AWS CLI sin verificar primero la integridad de la descarga. Para verificar la integridad de la descarga, siga las instrucciones paso a paso que se muestran a continuación.

 Para obtener una lista de las versiones, consulte el [registro de cambios de la versión 2 de la AWS CLI](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) en *GitHub*.

**Para instalar** la AWS CLI, ejecute los siguientes comandos.

Para especificar un versión, agregue un guion y el número de versión al nombre del archivo. Para este ejemplo, el nombre de archivo de la versión *2.0.30* sería `awscli-exe-linux-x86_64-2.0.30.zip` lo que resultaría en el siguiente 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 actualizar la instalación actual** de la AWS CLI, agregue la información del enlace simbólico y del instalador existentes para construir el comando `install` con los parámetros `--bin-dir`, `--install-dir` y `--update`. El siguiente bloque de comandos utiliza un enlace simbólico de ejemplo de */usr/local/bin* y una ubicación de instalador de ejemplo 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)** El siguiente bloque de comandos descarga e instala la AWS CLI sin verificar primero la integridad de la descarga. Para verificar la integridad de la descarga, siga las instrucciones paso a paso que se muestran a continuación.

 Para obtener una lista de las versiones, consulte el [registro de cambios de la versión 2 de la AWS CLI](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) en *GitHub*.

**Para instalar** la AWS CLI, ejecute los siguientes comandos.

Para especificar un versión, agregue un guion y el número de versión al nombre del archivo. Para este ejemplo, el nombre de archivo de la versión *2.0.30* sería `awscli-exe-linux-aarch64-2.0.30.zip` lo que resultaría en el siguiente comando:

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

**Para actualizar la instalación actual** de la AWS CLI, agregue la información del enlace simbólico y del instalador existentes para construir el comando `install` con los parámetros `--bin-dir`, `--install-dir` y `--update`. El siguiente bloque de comandos utiliza un enlace simbólico de ejemplo de */usr/local/bin* y una ubicación de instalador de ejemplo 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. Descargue el archivo de instalación de una de las siguientes maneras:

------
#### [ Linux x86 (64-bit) ]
   + **Use el comando `curl`**: la opción `-o` especifica el nombre de archivo en el que se escribe el paquete descargado. Las opciones del comando de ejemplo siguiente escriben el archivo descargado en el directorio actual con el nombre local `awscliv2.zip`. 

     Para especificar un versión, agregue un guion y el número de versión al nombre del archivo. Para este ejemplo, el nombre de archivo de la versión *2.0.30* sería `awscli-exe-linux-x86_64-2.0.30.zip` lo que resultaría en el siguiente comando:

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

      Para obtener una lista de las versiones, consulte el [registro de cambios de la versión 2 de la AWS CLI](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) en *GitHub*.
   + **Descarga de la URL** – 

     En el navegador, descargue la versión específica de AWS CLI, agregue un guión y el número de versión al nombre del archivo. 

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

     Para este ejemplo, el nombre de archivo de la versión *2.0.30* sería awscli-exe-linux-x86\$164-2.0.30.zip lo que da como resultado el siguiente enlace: [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 ]
   + **Use el comando `curl`**: la opción `-o` especifica el nombre de archivo en el que se escribe el paquete descargado. Las opciones del comando de ejemplo siguiente escriben el archivo descargado en el directorio actual con el nombre local `awscliv2.zip`. 

     Para especificar un versión, agregue un guion y el número de versión al nombre del archivo. Para este ejemplo, el nombre de archivo de la versión *2.0.30* sería `awscli-exe-linux-aarch64-2.0.30.zip` lo que resultaría en el siguiente comando:

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

     En el navegador, descargue la versión específica de AWS CLI, agregue un guión y el número de versión al nombre del archivo. 

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

     Para este ejemplo, el nombre de archivo de la versión *2.0.30* sería `awscli-exe-linux-aarch64-2.0.30.zip` lo que da como resultado el siguiente enlace: [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) Verificación de la integridad del archivo zip descargado**

   Si eligió descargar manualmente el paquete del instalador de AWS CLI `.zip` en los pasos indicados anteriormente, puede usar los pasos siguientes para verificar las firmas mediante la herramienta `GnuPG`.

   Los archivos AWS CLI del paquete del instalador de la `.zip` están firmados criptográficamente mediante firmas PGP. Si hay algún tipo de daño o alteración en los archivos, esta verificación produce un error, por lo que no debería continuar con la instalación.

   1. Descargue e instale el comando `gpg` usando su administrador de paquetes. Para obtener más información acerca de `GnuPG`, consulte el [sitio web de GnuPG](https://www.gnupg.org/). 

   1. Para crear el archivo de clave pública, cree un archivo de texto y pegue el siguiente texto en él:

      ```
      -----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-----
      ```

      Como referencia, a continuación se indican los detalles de la clave 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 la clave pública de la AWS CLI con el siguiente comando, sustituyendo *public-key-file-name* por el nombre del archivo de la clave pública que ha creado.

      ```
      $ 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. Descargue el archivo de firma de la AWS CLI del paquete que descargó. Tiene la misma ruta y el mismo nombre que el archivo `.zip` al que corresponde, pero con la extensión `.sig`. En los siguientes ejemplos, lo guardaremos en el directorio actual como un archivo llamado `awscliv2.sig`.

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

      **Para obtener la última versión de la AWS CLI,** utilice el siguiente bloque de comandos.

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

      **Para una versión específica de la AWS CLI,** agregue un guión y el número de versión al nombre del archivo. Para este ejemplo, el nombre de archivo de la versión *2.0.30* sería `awscli-exe-linux-x86_64-2.0.30.zip.sig` lo que resultaría en el siguiente comando:

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

       Para obtener una lista de las versiones, consulte el [registro de cambios de la versión 2 de la AWS CLI](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) en *GitHub*.

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

      **Para obtener la última versión de la AWS CLI,** utilice el siguiente bloque de comandos:

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

      **Para una versión específica de la AWS CLI,** agregue un guión y el número de versión al nombre del archivo. Para este ejemplo, el nombre de archivo de la versión *2.0.30* sería `awscli-exe-linux-aarch64-2.0.30.zip.sig` lo que resultaría en el siguiente comando:

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

       Para obtener una lista de las versiones, consulte el [registro de cambios de la versión 2 de la AWS CLI](https://github.com/aws/aws-cli/blob/v2/CHANGELOG.rst?plain=1) en *GitHub*.

------

   1. Verifique la firma pasando los nombres de archivo `.sig` y `.zip` como parámetros al comando `gpg`.

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

      El resultado debería parecerse al siguiente:

      ```
      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**  
Se espera la advertencia en la salida y ello no indica un problema. Esto se produce porque no existe una cadena de confianza entre su clave PGP personal (si es su caso) y la clave PGP de la AWS CLI. Para obtener más información, consulta [ Red de confianza](https://en.wikipedia.org/wiki/Web_of_trust).

1. Descomprima el instalador. Si su distribución de Linux no tiene un comando `unzip` integrado, use un equivalente para descomprimirlo. El siguiente comando de ejemplo descomprime el paquete y crea un directorio denominado `aws` en el directorio actual.

   ```
   $ unzip awscliv2.zip
   ```

1. Ejecute el programa de instalación. El comando de instalación utiliza un archivo denominado `install` en el directorio `aws` recién descomprimido. De forma predeterminada, todos los archivos se instalan en `/usr/local/aws-cli` y se crea un enlace simbólico en `/usr/local/bin`. El comando incluye `sudo` para conceder permisos de escritura en esos directorios. 

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

   Puede realizar la instalación sin `sudo` si especifica directorios en los que ya tiene permisos de escritura. Utilice las siguientes instrucciones en el comando `install` para especificar la ubicación de instalación:
   + Asegúrese de que las rutas que proporcione a los parámetros `-i` y `-b` no contengan nombres de volumen ni nombres de directorio que contengan caracteres de espacio u otros caracteres de espacio en blanco. Si hay un espacio, la instalación falla.
   + `--install-dir` o `-i`: esta opción especifica el directorio en la que se copiarán todos los archivos.

     El valor predeterminado es `/usr/local/aws-cli`.
   + `--bin-dir` o `-b`: esta opción especifica que el programa de `aws` principal del directorio de instalación está vinculado de forma simbólica al archivo `aws` en la ruta de acceso especificada. Debe tener permisos de escritura en el directorio especificado. Al crear un enlace simbólico a un directorio que ya está en su ruta, se elimina la necesidad de agregar el directorio de instalación a la variable `$PATH` del usuario. 

     El valor predeterminado es `/usr/local/bin`.

   ```
   $ ./aws/install -i /usr/local/aws-cli -b /usr/local/bin
   ```
**nota**  
Para actualizar la instalación actual de la versión 2 de AWS CLI a una versión más reciente, agregue la información del enlace simbólico y del instalador existentes ‎para construir el comando `install` con el parámetro `--update`.  

   ```
   $ sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
   ```
Para localizar el enlace simbólico y el directorio de instalación existentes, siga los siguientes pasos:  
Utilice el comando `which` para buscar el enlace simbólico. Esto le dará la ruta que puede utilizar con el parámetro `--bin-dir`.  

      ```
      $ which aws
      /usr/local/bin/aws
      ```
Utilice el comando `ls` para buscar el directorio al que apunta el enlace simbólico. Esto le dará la ruta que puede utilizar con el 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 la instalación con el siguiente comando. 

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

   Si no se encuentra el comando `aws`, es posible que deba reiniciar el terminal o seguir el proceso de solución de problemas en [Solución de errores para la AWS CLI](cli-chap-troubleshooting.md).

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

### Necesidades de instalación
<a name="versioned-macos-reqs"></a>
+ Sabe qué publicación de la versión 2 de AWS CLI le gustaría instalar. Para obtener una lista de las versiones, consulte el [registro de cambios de la versión 2 de la AWS CLI](https://github.com/aws/aws-cli/blob/v2/CHANGELOG.rst?plain=1) en *GitHub*.
+ Admitimos la versión 2 de la AWS CLI en las versiones compatibles de Apple de macOS de 64 bits.
+ Debido a que AWS no mantiene repositorios de terceros, no podemos garantizar que contengan la última versión de AWS CLI.

### Instrucciones de instalación
<a name="versioned-macos-install"></a>

Puede instalar la versión 2 de AWS CLI en macOS ‎de una de las siguientes maneras.

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

En los pasos siguientes se muestra cómo instalar o actualizar a la versión más reciente de la versión 2 de la AWS CLI mediante la interfaz de usuario estándar de macOS y su navegador. Si va a actualizar a la versión más reciente, utilice el mismo método de instalación que utilizó para la versión actual.

1. En el navegador, descargue la versión específica de AWS CLI, agregue un guión y el número de versión al nombre del archivo. 

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

   Para este ejemplo, el nombre de archivo de la versión *2.0.30* sería `AWSCLIV2-2.0.30.pkg` lo que da como resultado el siguiente enlace: [https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg](https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg). 

1. Ejecute el archivo descargado y siga las instrucciones que aparecen en pantalla. Puede elegir instalar la versión 2 de la AWS CLI de las siguientes maneras:
   + **Para todos los usuarios del equipo (requiere `sudo`)**
     + Puede realizar la instalación en cualquier carpeta o elegir la carpeta predeterminada recomendada de `/usr/local/aws-cli`.
     + El instalador crea automáticamente un enlace simbólico en `/usr/local/bin/aws` que enlaza al programa principal en la carpeta de instalación elegida.
   + **Solo para el usuario actual (no requiere `sudo`)**
     + Puede realizar la instalación en cualquier carpeta en la que tenga permiso de escritura.
     + Debido a los permisos de usuario estándar, una vez finalizado el instalador, debe crear manualmente un archivo de enlace simbólico en `$PATH` que apunte a los programas `aws` y `aws_completer` mediante los siguientes comandos en el símbolo del sistema. Si su `$PATH` incluye una carpeta en la que puede escribir, puede ejecutar el siguiente comando sin `sudo` si especifica esa carpeta como ruta de destino. Si no tiene una carpeta en la que se pueda escribir en `$PATH`, debe usar `sudo` en los comandos para obtener permisos para escribir en la carpeta de destino especificada. La ubicación predeterminada de un enlace simbólico es `/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**  
Puede ver los registros de depuración de la instalación si presiona **Cmd\$1L** en cualquier lugar del instalador. Esto abre un panel de registro que le permite filtrar y guardar el registro. El archivo de registro también se guarda automáticamente en `/var/log/install.log`.

1. Para comprobar que el shell puede encontrar y ejecutar el comando `aws` en `$PATH`, utilice los siguientes comandos. 

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

   Si no se encuentra el comando `aws`, es posible que deba reiniciar el terminal o seguir el proceso de solución de problemas en [Solución de errores para la AWS CLI](cli-chap-troubleshooting.md).

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

Si tiene permisos `sudo`, puede instalar la versión 2 de la AWS CLI para todos los usuarios del equipo. Proporcionamos los pasos agrupados para que resulte sencillo copiarlos y pegarlos. Consulte las descripciones de cada línea en los pasos siguientes. 

En el caso de una versión específica de la AWS CLI, agregue un guion y el número de versión al nombre del archivo. Para este ejemplo, el nombre de archivo de la versión *2.0.30* sería `AWSCLIV2-2.0.30.pkg` lo que resultaría en el siguiente comando:

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

1. Descargar el archivo con el comando `curl`. En este ejemplo, la opción `-o` especifica el nombre de archivo en el que se escribe el paquete descargado. En este ejemplo, el archivo se escribe `AWSCLIV2.pkg` en la carpeta actual.

   En el caso de una versión específica de la AWS CLI, agregue un guion y el número de versión al nombre del archivo. Para este ejemplo, el nombre de archivo de la versión *2.0.30* sería `AWSCLIV2-2.0.30.pkg` lo que resultaría en el siguiente comando:

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

    Para obtener una lista de las versiones, consulte el [registro de cambios de la versión 2 de la AWS CLI](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) en *GitHub*.

1. Ejecute el programa `installer` de macOS estándar, especificando el archivo `.pkg` descargado como fuente. Utilice el parámetro `-pkg` para especificar el nombre del paquete que se va a instalar y el parámetro `-target /` para indicar la unidad en la que se instalará el paquete. Los archivos se instalan en `/usr/local/aws-cli` y se crea automáticamente un symlink en `/usr/local/bin`. Debe incluir `sudo` en el comando para conceder permisos de escritura a esas carpetas. 

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

   Una vez completada la instalación, los registros de depuración se escriben en `/var/log/install.log`.

1. Para comprobar que el shell puede encontrar y ejecutar el comando `aws` en `$PATH`, utilice los siguientes comandos. 

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

   Si no se encuentra el comando `aws`, es posible que deba reiniciar el terminal o seguir el proceso de solución de problemas en [Solución de errores para la AWS CLI](cli-chap-troubleshooting.md).

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

1. Para especificar en qué carpeta se instala AWS CLI, debe crear un archivo XML. Es un archivo con formato XML que se parece al siguiente ejemplo. Deje todos los valores tal como se muestran, excepto que debe reemplazar la ruta */Users/myusername* de la línea 9 con la ruta de la carpeta en la que quiere instalar la versión 2 de AWS CLI. *La carpeta ya debe existir o se producirá un error en el comando.* En este ejemplo XML se especifica que el instalador realiza la instalación de la AWS CLI en la carpeta `/Users/myusername`, donde se crea una carpeta denominada `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. Descargue el instalador `pkg` con el comando `curl`. En este ejemplo, la opción `-o` especifica el nombre de archivo en el que se escribe el paquete descargado. En este ejemplo, el archivo se escribe `AWSCLIV2.pkg` en la carpeta actual.

   Para la ‎versión específica de AWS CLI, agregue un guión y el número de versión al nombre del archivo. Para este ejemplo, el nombre de archivo de la versión *2.0.30* sería `AWSCLIV2-2.0.30.pkg` lo que resultaría en el siguiente comando:

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

    Para obtener una lista de las versiones, consulte el [registro de cambios de la versión 2 de la AWS CLI](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) en *GitHub*.

1. Ejecute el programa `installer` de macOS estándar con las siguientes opciones:
   + Especifique el nombre del paquete que desea instalar mediante el parámetro `-pkg`.
   + Para especificar una instalación *solo para el usuario actual* debe establecer el parámetro `-target` en `CurrentUserHomeDirectory`.
   + Especifique la ruta de acceso (relativa a la carpeta actual) y el nombre del archivo XML que creó en el parámetro `-applyChoiceChangesXML`.

   En el ejemplo siguiente se instala la AWS CLI en la carpeta `/Users/myusername/aws-cli`.

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

1. Dado que los permisos de usuario estándar normalmente no permiten escribir en las carpetas de `$PATH`, el instalador en este modo no intenta agregar los enlaces simbólicos a los programas `aws` y `aws_completer`. Para que la AWS CLI se ejecute correctamente, debe crear manualmente los enlaces simbólicos una vez finalizado el instalador. Si su `$PATH` incluye una carpeta en la que puede escribir y especifica la carpeta como la ruta de destino, puede ejecutar el siguiente comando sin `sudo`. Si no tiene una carpeta en la que se pueda escribir en `$PATH`, debe usar `sudo` para obtener permisos para escribir en la carpeta de destino especificada. La ubicación predeterminada de un enlace simbólico es `/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
   ```

   Una vez completada la instalación, los registros de depuración se escriben en `/var/log/install.log`.

1. Para comprobar que el shell puede encontrar y ejecutar el comando `aws` en `$PATH`, utilice los siguientes comandos. 

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

   Si no se encuentra el comando `aws`, es posible que deba reiniciar el terminal o seguir el proceso de solución de problemas en [Solución de errores para la AWS CLI](cli-chap-troubleshooting.md).

------

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

### Necesidades de instalación
<a name="versioned-windows-reqs"></a>
+ Sabe qué publicación de la versión 2 de AWS CLI le gustaría instalar. Para obtener una lista de las versiones, consulte el [registro de cambios de la versión 2 de la AWS CLI](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) en *GitHub*.
+ Admitimos AWS CLI en las versiones compatibles con Microsoft de Windows de 64 bits.
+ Derechos de administrador para instalar software

### Instrucciones de instalación
<a name="versioned-windows-install"></a>

Para actualizar la instalación actual de la versión 2 de la AWS CLI en Windows, descargue un nuevo instalador cada vez que actualice para sobrescribir las versiones anteriores. La AWS CLI se actualiza periódicamente. Para ver si se ha lanzado la versión más reciente, consulte el [registro de cambios de la versión 2 de la AWS CLI](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) en *GitHub*. 

1. Descargue y ejecute el instalador MSI de AWS CLI para Windows (64 bits) de una de las siguientes maneras:
   + **Descargar y ejecutar el instalador de MSI:** para crear el enlace de descarga para una versión específica de AWS CLI, agregue un guion y el número de versión al nombre del archivo.

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

     Para este ejemplo, el nombre de archivo de la versión *2.0.30* sería `AWSCLIV2-2.0.30.msi` lo que da como resultado el siguiente enlace: [https://awscli.amazonaws.com/AWSCLIV2-2.0.30.msi](https://awscli.amazonaws.com/AWSCLIV2-2.0.30.msi). 
   + **Usar el comando msiexec:** De forma opcional, puede utilizar el instalador de MSI agregando el enlace al comando `msiexec`. En el caso de una versión específica de la AWS CLI, agregue un guion y el número de versión al nombre del archivo.

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

     Para este ejemplo, el nombre de archivo de la versión *2.0.30* sería `AWSCLIV2-2.0.30.msi` lo que da como resultado el siguiente enlace [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
     ```

     Para varios parámetros que se pueden usar con `msiexec`, consulte [msiexec](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/msiexec) en el sitio web de *Documentos de Microsoft*.

   Para obtener una lista de las versiones, consulte el [registro de cambios de la versión 2 de la AWS CLI](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) en *GitHub*.

1. Para confirmar la instalación, abra el menú **Inicio**, busque `cmd` para abrir una ventana del símbolo del sistema y, en el símbolo del sistema, use el comando `aws --version`. 

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

   Si Windows no puede encontrar el programa, es posible que tenga que cerrar y volver a abrir la ventana del símbolo del sistema para actualizar la ruta o siga el proceso de solución de problemas en [Solución de errores para la AWS CLI](cli-chap-troubleshooting.md).

## Solución de errores de instalación y desinstalación de AWS CLI
<a name="getting-started-version-tshoot"></a>

Si se encuentra con problemas después de instalar o desinstalar la AWS CLI, consulte en [Solución de errores para la AWS CLI](cli-chap-troubleshooting.md) los pasos para la solución de problemas. Para conocer los pasos más relevantes de la solución de problemas, consulte [Errores de comando no encontrado](cli-chap-troubleshooting.md#tshoot-install-not-found), [El comando "`aws --version`" devuelve una versión diferente a la instalada](cli-chap-troubleshooting.md#tshoot-install-wrong-version) y [El comando "`aws --version`" devuelve una versión después de desinstalar la AWS CLI](cli-chap-troubleshooting.md#tshoot-uninstall-1).

## Siguientes pasos
<a name="getting-started-version-next"></a>

Después de completar los pasos indicados en [Requisitos previos para utilizar la versión 2 de AWS CLI](getting-started-prereqs.md) e instalar AWS CLI, debe realizar [Configuración de AWS CLI](getting-started-quickstart.md).

# Compilación e instalación de la AWS CLI desde el origen
<a name="getting-started-source-install"></a>

En este tema, se describe cómo instalar o actualizar desde el origen la última versión de la AWS Command Line Interface (AWS CLI) en sistemas operativos compatibles. 

Para obtener información sobre los lanzamientos más recientes de AWS CLI, consulte el [registro de cambios de la versión 2 de la AWS CLI](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) en GitHub.

**importante**  
Las versiones 1 y 2 de la AWS CLI utilizan el mismo nombre de comando de `aws`. Si ha instalado previamente la AWS CLI versión 1, consulte [Guía de migración para la versión 2 de la AWS CLI](cliv2-migration.md).

**Topics**
+ [¿Por qué compilar desde el origen?](#source-getting-started-install-why)
+ [Pasos rápidos](#source-getting-started-install-quicksteps)
+ [Paso 1: configurar todos los requisitos](#source-getting-started-install-reqs)
+ [Paso 2: configurar la instalación de origen de la AWS CLI](#source-getting-started-install-config)
+ [Paso 3: compilar la AWS CLI](#source-getting-started-install-build)
+ [Paso 4: instalar la AWS CLI](#source-getting-started-install-instructions)
+ [Paso 5: verificar la instalación de AWS CLI](#source-getting-started-install-verify)
+ [Ejemplos de flujo de trabajo](#source-getting-started-install-workflows)
+ [Solución de errores de instalación y desinstalación de AWS CLI](#source-install-tshoot)
+ [Siguientes pasos](#source-install-next-steps)

## ¿Por qué compilar desde el origen?
<a name="source-getting-started-install-why"></a>

La AWS CLI está [disponible como instaladores prediseñados](getting-started-install.md) para la mayoría de las plataformas y entornos, además de como una imagen de Docker. 

Por lo general, estos instaladores ofrecen cobertura de la mayoría de los casos de uso. Las instrucciones de instalación desde el origen sirven para ayudar en los casos de uso que nuestros instaladores no cubren. A continuación, se indican algunos casos de uso:
+ Los instaladores prediseñados no son compatibles con su entorno. Por ejemplo, los instaladores prediseñados no son compatibles con ARM de 32 bits.
+ Los instaladores prediseñados tienen dependencias de las que carece su entorno. Por ejemplo, Alpine Linux usa [https://musl.libc.org/](https://musl.libc.org/), pero los instaladores actuales requieren `glibc`, por lo que los instaladores prediseñados no funcionan inmediatamente. 
+ Los instaladores prediseñados requieren recursos a los que su entorno restringe el acceso. Por ejemplo, es posible que los sistemas con seguridad reforzada no concedan permisos a la memoria compartida. Esto es necesario para el instalador de `aws` congelado. 
+ Los instaladores prediseñados suelen ser un obstáculo para los mantenedores en los administradores de paquetes, ya que es preferible tener un control total del proceso de compilación del código y los paquetes. Compilar desde el origen permite a los mantenedores de la distribución disponer de un proceso más ágil para mantener la AWS CLI actualizada. Capacitar a los mantenedores permite que los clientes tengan versiones más actualizadas de la AWS CLI cuando la instalan desde un administrador de paquetes de terceros como `brew`, `yum` y `apt`.
+ Los clientes que aplican parches a la funcionalidad de la AWS CLI necesitan compilar e instalar la AWS CLI desde el origen. Esto es especialmente importante para los miembros de la comunidad que desean probar los cambios que han realizado en el origen antes de enviarlos al repositorio de GitHub de la AWS CLI.

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

**nota**  
Se asume que todo el código de ejemplo se ejecuta desde la raíz del directorio de origen.

Para compilar e instalar la AWS CLI desde el origen, siga los pasos de esta sección. La AWS CLI utiliza [GNU Autotools](https://www.gnu.org/software/automake/faq/autotools-faq.html) para realizar la instalación desde el origen. En el caso más simple, la AWS CLI se puede instalar desde el origen ejecutando los comandos de ejemplo predeterminados desde la raíz del repositorio de GitHub de la AWS CLI.



1. [Configure todos los requisitos de su entorno.](#source-getting-started-install-reqs) Esto incluye la posibilidad de ejecutar archivos generados por [GNU Autotools](https://www.gnu.org/software/automake/faq/autotools-faq.html) y Python 3.8 o versiones posteriores si está instalado.

1. En su terminal, vaya al nivel superior de la carpeta de origen de la AWS CLI y ejecute el comando `./configure`. Este comando comprueba el sistema en busca de todas las dependencias necesarias y genera un`Makefile` para compilar e instalar la AWS CLI en función de las configuraciones detectadas y especificadas. 

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

   El siguiente comando `./configure` de ejemplo establece la configuración de compilación de la AWS CLI utilizando la configuración predeterminada.

   ```
   $ ./configure
   ```

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

   Antes de ejecutar cualquier comando que llame a MSYS2, debe conservar su directorio de trabajo actual:

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

   A continuación, utilice el siguiente comando `./configure` de ejemplo para establecer la configuración de compilación de la AWS CLI. Para ello, se utiliza la ruta local al ejecutable de Python, se instala en C:\$1Program Files\$1AWSCLI y se descargan todas las dependencias.

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

------

   Para obtener más información, las opciones de configuración disponibles y la información de configuración predeterminada, consulte la sección [Paso 2: configurar la instalación de origen de la AWS CLI](#source-getting-started-install-config).

1. Ejecute el comando `make`. Este comando compila la AWS CLI acuerdo con los ajustes de configuración. 

   El siguiente comando `make` de ejemplo se compila con las opciones predeterminadas utilizando la configuración existente de `./configure`.

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

   ```
   $ make
   ```

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

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

------

   Para obtener más información y las opciones de compilación disponibles, consulte la sección [Paso 3: compilar la AWS CLI](#source-getting-started-install-build).

1. Ejecute el comando `make install`. Este comando instala la AWS CLI compilada en la ubicación configurada del sistema. 

   El siguiente comando `make install` de ejemplo instala la AWS CLI compilada y se crean los symlinks en las ubicaciones configuradas utilizando la configuración predeterminada del comando.

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

   ```
   $ make install
   ```

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

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

   Tras la instalación, añada la ruta a la AWS CLI de la siguiente manera:

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

------

   Para obtener más información y conocer las opciones de instalación disponibles, consulte la sección [Paso 4: instalar la AWS CLI](#source-getting-started-install-instructions).

1. Confirme que la AWS CLI se ha instalado correctamente utilizando el siguiente comando:

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

   Para conocer los pasos de solución de problemas de los errores de instalación, consulte la sección [Solución de errores de instalación y desinstalación de AWS CLI](#source-install-tshoot).

## Paso 1: configurar todos los requisitos
<a name="source-getting-started-install-reqs"></a>

Para compilar la AWS CLI desde el origen, debe hacer lo siguiente de antemano:

**nota**  
Se asume que todo el código de ejemplo se ejecuta desde la raíz del directorio de origen.

1. Descargue el origen de la AWS CLI bifurcando el repositorio de GitHub de la AWS CLI o descargando el archivo tar de origen. Las instrucciones son una de las siguientes:
   + Bifurque y clone el [repositorio de la AWS CLI](https://github.com/aws/aws-cli) desde *GitHub*. Para obtener más información, consulte [Fork a repo](https://docs.github.com/en/get-started/quickstart/fork-a-repo) (Bifurcar un repositorio) en *GitHub Docs* (Documentación de GitHub).
   + Descargue el último tarball de origen en [https://awscli.amazonaws.com/awscli.tar.gz](https://awscli.amazonaws.com/awscli.tar.gz) y extraiga el contenido con los siguientes comandos:

     ```
     $ curl "https://awscli.amazonaws.com/awscli.tar.gz" -o "awscli.tar.gz"
     $ tar -xzf awscli.tar.gz
     ```
**nota**  
Para descargar una versión específica, utilice el siguiente formato de enlace: [https://awscli.amazonaws.com/awscli-*versionnumber*.tar.gz](https://awscli.amazonaws.com/awscli.tar.gz)   
Por ejemplo, para la versión 2.10.0, el enlace es el siguiente: [https://awscli.amazonaws.com/awscli-*2.10.0*.tar.gz](https://awscli.amazonaws.com/awscli.tar.gz)  
Las versiones de origen están disponibles a partir de la versión **2.10.0** de la AWS CLI.

     **(Opcional) Verificación de la integridad del archivo zip descargado mediante los siguientes pasos:**

     1. Puede seguir los pasos indicados a continuación para verificar las firmas con la herramienta `GnuPG`.

        Los archivos AWS CLI del paquete del instalador de la `.zip` están firmados criptográficamente mediante firmas PGP. Si hay algún tipo de daño o alteración en los archivos, esta verificación produce un error, por lo que no debería continuar con la instalación.

     1. Descargue e instale el comando `gpg` usando su administrador de paquetes. Para obtener más información acerca de `GnuPG`, consulte el [sitio web de GnuPG](https://www.gnupg.org/). 

     1. Para crear el archivo de clave pública, cree un archivo de texto y pegue el siguiente texto en él:

        ```
        -----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-----
        ```

        Como referencia, a continuación se indican los detalles de la clave 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 la clave pública de la AWS CLI con el siguiente comando, sustituyendo *public-key-file-name* por el nombre del archivo de la clave pública que ha creado.

        ```
        $ 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. Descargue el archivo de firma de la AWS CLI para el paquete que ha descargado en [https://awscli.amazonaws.com/awscli.tar.gz.sig](https://awscli.amazonaws.com/awscli.tar.gz.sig). Tiene la misma ruta y el mismo nombre que el archivo tarball al que corresponde, pero con la extensión `.sig`. Guárdelo en la misma ruta que el archivo tarball. O utilice el siguiente bloque de comandos:

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

     1. Verifique la firma pasando los nombres de archivo `.sig` y `.zip` como parámetros al comando `gpg`.

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

        El resultado debería parecerse al siguiente:

        ```
        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**  
Se espera la advertencia en la salida y ello no indica un problema. Esto se produce porque no existe una cadena de confianza entre su clave PGP personal (si es su caso) y la clave PGP de la AWS CLI. Para obtener más información, consulta [ Red de confianza](https://wikipedia.org/wiki/Web_of_trust).

1. Dispone de un entorno que puede ejecutar archivos generados por [GNU Autotools](https://www.gnu.org/software/automake/faq/autotools-faq.html), como`configure` y `Makefile`. Estos archivos suelen ser portables en las plataformas POSIX.

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

   Si Autotools aún no está instalado en su entorno o necesita actualizarlo, siga las instrucciones de instalación que se encuentran en [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) (¿Cómo instalo Autotools [como usuario]?) o [Basic Installation](https://www.gnu.org/savannah-checkouts/gnu/automake/manual/automake.html#Basic-Installation) (Instalación básica) en *GNU Documentation* (Documentación de GNU).

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

**aviso**  
Le sugerimos que si se encuentra en un entorno Windows, utilice los instaladores prediseñados. Para obtener las instrucciones de instalación de los instaladores prediseñados, consulte [Instalación o actualización de la versión más reciente de AWS CLI](getting-started-install.md)

   Dado que Windows no incluye un intérprete de comandos compatible con POSIX, debe instalar software adicional para instalar la AWS CLI desde el origen. [MSYS2](https://www.msys2.org/) incluye una colección de herramientas y bibliotecas para ayudar a compilar e instalar software de Windows, especialmente para los scripts basados en POSIX que utiliza Autotools.

   1. Instale MSYS2. Para obtener información acerca de la instalación y el uso de MSYS2, consulte las [instrucciones de instalación y uso](https://www.msys2.org/) en *MSYS2 Documentation* (Documentación de MSYS2). 

   1. Abra el terminal de MSYS2 e instale Autotools mediante el siguiente comando.

      ```
      $ pacman -S autotools
      ```

**nota**  
En los ejemplos de código de configuración, compilación e instalación de esta guía para Windows, se asume que se utiliza la ruta de instalación predeterminada de MSYS2 `C:\msys64\usr\bin\bash`. Al llamar a MSYS2 desde PowerShell, utilizará el siguiente formato, con el comando bash entre comillas:  

   ```
   PS C:\> C:\msys64\usr\bin\bash  -lc "command example" 
   ```
El siguiente comando de ejemplo llama al comando `./configure`.  

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

------

1. Se ha instalado un intérprete de Python 3.8 o una versión posterior. La versión mínima requerida de Python tiene los mismos plazos que se indican en la [política de soporte oficial de Python para los SDK y las herramientas de AWS](https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/). Los intérpretes solo se admiten 6 meses después de la fecha de fin de soporte.

1. **(Opcional)** Instale todas las dependencias de compilación y ejecución de la biblioteca de Python de la AWS CLI. El comando `./configure` le informa si le falta alguna dependencia y cómo instalarla.

   Puede instalar y utilizar estas dependencias automáticamente mediante la configuración; consulte [Descarga de dependencias](#source-getting-started-install-config-dependencies) para obtener más información.

## Paso 2: configurar la instalación de origen de la AWS CLI
<a name="source-getting-started-install-config"></a>

La configuración para compilar e instalar la AWS CLI se especifica mediante el script `configure`. Para obtener la documentación de todas las opciones de configuración, ejecute el script `configure` con la opción `--help`:

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

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

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

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

------

**Topics**
+ [Ubicación de instalación](#source-getting-started-install-config-location)
+ [Intérprete de Python](#source-getting-started-install-config-interpreter)
+ [Descarga de dependencias](#source-getting-started-install-config-dependencies)
+ [Tipo de instalación](#source-getting-started-install-config-type)

### Ubicación de instalación
<a name="source-getting-started-install-config-location"></a>

La instalación de origen de la AWS CLI utiliza dos directorios configurables para instalar la AWS CLI:
+ `libdir`: directorio principal donde se instalará la AWS CLI. La ruta de acceso a la instalación de la AWS CLI es `<libdir-value>/aws-cli`. El valor predeterminado de `libdir` para Linux y macOS es `/usr/local/lib`, que crea el directorio de instalación predeterminado `/usr/local/lib/aws-cli`. 
+ `bindir`: directorio donde están instalados los ejecutables de la AWS CLI. La ubicación predeterminada es `/usr/local/bin`. 

Las siguientes opciones de `configure` controlan los directorios utilizados:
+ `--prefix`: establece el prefijo del directorio que se utilizará para la instalación. El valor predeterminado para Linux y macOS es `/usr/local`. 
+ `--libdir`: establece el `libdir` que se utilizará para instalar la AWS CLI. El valor predeterminado es `<prefix-value>/lib`. Si no se especifican `--libdir` ni `--prefix`, el valor predeterminado para Linux y macOS es `/usr/local/lib/`. 
+ `--bindir`: establece el `bindir` que se utilizará para instalar los ejecutables AWS CLI, `aws` y `aws_completer`. El valor predeterminado es `<prefix-value>/bin`. Si no se especifican `bindir` ni `--prefix`, el valor predeterminado para Linux y macOS es `/usr/local/bin/`. 

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

En el siguiente comando de ejemplo, se utiliza la opción `--prefix` para realizar una instalación de la AWS CLIpor parte del usuario local. Este comando instala la AWS CLI en `$HOME/.local/lib/aws-cli` y los ejecutables en `$HOME/.local/bin`:

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

En el siguiente comando de ejemplo, se utiliza la opción `--libdir` para instalar la AWS CLI como aplicación complementaria en el directorio `/opt`. Este comando instala la AWS CLI en `/opt/aws-cli` y los ejecutables en su ubicación predeterminada de `/usr/local/bin`.

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

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

En el siguiente comando de ejemplo, se utiliza la opción `--prefix` para realizar una instalación de la AWS CLIpor parte del usuario local. Este comando instala la AWS CLI en `$HOME/.local/lib/aws-cli` y los ejecutables en `$HOME/.local/bin`:

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

En el siguiente comando de ejemplo, se utiliza la opción `--libdir` para instalar la AWS CLI como aplicación complementaria en el directorio `/opt`. Este comando instala la AWS CLI en `C:\Program Files\AWSCLI\opt\aws-cli`.

------

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

**nota**  
Se recomienda encarecidamente especificar el intérprete de Python al realizar la instalación para Windows.

El script `./configure` selecciona automáticamente un intérprete instalado de Python 3.8 o una versión posterior para usarlo para compilar y ejecutar la AWS CLI utilizando la macro de Autoconf [https://www.gnu.org/software/automake/manual/html_node/Python.html](https://www.gnu.org/software/automake/manual/html_node/Python.html).

El intérprete de Python que se utilice se puede configurar explícitamente mediante la variable de entorno `PYTHON` al ejecutar el 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"
```

------

### Descarga de dependencias
<a name="source-getting-started-install-config-dependencies"></a>

De forma predeterminada, se requiere que todas las dependencias de compilación y ejecución de la AWS CLI estén instaladas ya en el sistema. Esto incluye cualquier dependencia de la biblioteca de Python. Todas las dependencias se comprueban cuando se ejecuta el script `configure` y, si al sistema le falta alguna dependencia de Python, se produce un error en el script `configure`. 

El siguiente ejemplo de código genera un error cuando faltan dependencias en el sistema:

------
#### [ 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 automáticamente las dependencias de Python necesarias, utilice la opción `--with-download-deps`. Al usar este indicador, el proceso de compilación hace lo siguiente:
+ Omite la comprobación de dependencias de la biblioteca de Python. 
+ Configura los ajustes para descargar todas las dependencias de Python necesarias y usar **solo** las dependencias descargadas para compilar la AWS CLI durante la compilación `make`.

En el siguiente ejemplo del comando de configuración, se usa la opción `--with-download-deps` para descargar y usar las dependencias de Python:

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

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

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

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

------

### Tipo de instalación
<a name="source-getting-started-install-config-type"></a>

El proceso de instalación de origen admite los siguientes tipos de instalación:
+ `system-sandbox`: **(predeterminado)** Crea un entorno virtual aislado de Python, instala la AWS CLI en el entorno virtual y utiliza symlinks al ejecutable `aws` y `aws_completer` en el entorno virtual. Esta instalación de la AWS CLI depende directamente del intérprete de Python seleccionado para su tiempo de ejecución.

  Se trata de un mecanismo de instalación ligero para instalar la AWS CLI en un sistema y sigue las prácticas recomendadas de Python al utilizar un entorno aislado en la instalación en un entorno virtual. Esta instalación está destinada a clientes que desean instalar la AWS CLI desde el origen de la forma más sencilla posible con la instalación acoplada a su instalación de Python.
+ `portable-exe`: congela la AWS CLI en un ejecutable independiente que se puede distribuir a entornos de arquitecturas similares. Es el mismo proceso que se utiliza para generar los ejecutables oficiales prediseñados de la AWS CLI. La `portable-exe` se congela en una copia del intérprete de Python elegido en el paso `configure` para usarlo para el tiempo de ejecución de la AWS CLI. Esto permite moverlo a otras máquinas que es posible que no tengan un intérprete de Python. 

  Este tipo de compilaciones son útiles porque puede asegurarse de que la instalación de la AWS CLI no esté acoplada a la versión de Python instalada en el entorno y puede distribuir una compilación a otro sistema que tal vez no tenga instalado Python. Esto le permite controlar las dependencias y la seguridad de los ejecutables de la AWS CLI que utiliza.

Para configurar el tipo de instalación, utilice la opción `--with-install-type` y especifique un valor de `portable-exe` o `system-sandbox`. 

En el siguiente comando `./configure` de ejemplo, se especifica un 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"
```

------

## Paso 3: compilar la AWS CLI
<a name="source-getting-started-install-build"></a>

Utilice el comando `make` para compilar la AWS CLI con sus ajustes de configuración:

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

```
$ make
```

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

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

------

**nota**  
Se crea un entorno virtual en el directorio de compilación mediante el módulo [https://docs.python.org/3/library/venv.html](https://docs.python.org/3/library/venv.html) de Python. El entorno virtual se inicia con una [versión de pip que se suministra en la biblioteca estándar de Python](https://docs.python.org/3/library/ensurepip.html). 
Se copian las dependencias de la biblioteca de Python. Dependiendo de si el indicador `--with-download-deps` está especificado en el comando `configure`, este paso realiza una de las siguientes acciones:  
**Se especifica** `--with-download-deps`. Las dependencias de Python se instalan con pip. Esto incluye `wheel`, `setuptools` y todas las dependencias en tiempo de ejecución de AWS CLI. Si está compilando el `portable-exe`, se instala `pyinstaller`. Todos estos requisitos se especifican en los archivos de bloqueo generados desde [https://github.com/jazzband/pip-tools](https://github.com/jazzband/pip-tools). 
**No** se especifica `--with-download-deps`. Las bibliotecas de Python del paquete del sitio del intérprete de Python más cualquier script (por ejemplo, `pyinstaller`) se copian en el entorno virtual que se utiliza para la compilación.
Se ejecuta `pip install` directamente en el código base de la AWS CLI para realizar una compilación e instalación sin conexión de la AWS CLI dentro del árbol en el entorno virtual de compilación. Esta instalación usa los indicadores 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) y [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)** Si la `--install-type` se establece en `portable-exe` en el comando `configure`, compila un ejecutable independiente mediante [https://www.pyinstaller.org/](https://www.pyinstaller.org/). 

## Paso 4: instalar la AWS CLI
<a name="source-getting-started-install-instructions"></a>

El comando `make install` instala la AWS CLI compilada en la ubicación configurada del sistema. 

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

El siguiente comando de ejemplo instala la AWS CLI utilizando sus ajustes de configuración y compilación:

```
$ make install
```

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

El siguiente comando de ejemplo instala la AWS CLI utilizando sus ajustes de configuración y compilación y, a continuación, añade una variable de entorno con la ruta de la AWS CLI:

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

------

La regla `make install` admite la variable [https://www.gnu.org/software/make/manual/html_node/DESTDIR.html#DESTDIR](https://www.gnu.org/software/make/manual/html_node/DESTDIR.html#DESTDIR). Cuando se especifica, esta variable se usa como prefijo en la ruta especificada a la ruta de instalación ya configurada al instalar la AWS CLI. De forma predeterminada, no se establece ningún valor para esta variable. 

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

En el siguiente código de ejemplo, se utiliza un indicador `--prefix=/usr/local` para configurar una ubicación de instalación y, a continuación, se modifica ese destino mediante `DESTDIR=/tmp/stage` para el comando `make install`. Estos comandos hacen que se instale la AWS CLI en `/tmp/stage/usr/local/lib/aws-cli` y sus ejecutables se colocan en `/tmp/stage/usr/local/bin`.

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

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

En el siguiente código de ejemplo, se utiliza un indicador `--prefix=\awscli` para configurar una ubicación de instalación y, a continuación, se modifica ese destino mediante `DESTDIR=C:\Program Files` para el comando `make install`. Estos comandos hacen que la AWS CLI se instale en `C:\Program Files\awscli`.

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

------

**nota**  
Se mueve uno de los siguientes elementos al directorio de instalación configurado:  
Si el tipo de instalación es `system-sandbox`, se mueve el entorno virtual compilado. 
Si el tipo de instalación es un `portable-exe`, se mueve el ejecutable independiente compilado. 
Crea symlinks tanto para los ejecutables `aws` y `aws_completer` como para los ejecutables del directorio bin configurado. 

## Paso 5: verificar la instalación de AWS CLI
<a name="source-getting-started-install-verify"></a>

Confirme que la AWS CLI se ha instalado correctamente utilizando el siguiente comando:

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

Si no se reconoce el comando `aws`, es posible que deba reiniciar el terminal para que se actualicen los nuevos symlink. Si se encuentra con más problemas después de instalar o desinstalar la AWS CLI, consulte en [Solución de errores para la AWS CLI](cli-chap-troubleshooting.md) los pasos para la solución de problemas comunes.

## Ejemplos de flujo de trabajo
<a name="source-getting-started-install-workflows"></a>

En esta sección, se proporcionan algunos ejemplos básicos de flujos de trabajo básicos para la instalación desde el origen.

### Instalación básica de Linux y macOS
<a name="source-getting-started-install-workflows-basic"></a>

A continuación, se ofrece un flujo de trabajo de instalación básico de ejemplo en el que la AWS CLI se instala en la ubicación predeterminada de `/usr/local/lib/aws-cli`. 

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

### Instalación automatizada de Windows
<a name="source-getting-started-install-workflows-win"></a>

**nota**  
Debe ejecutar PowerShell como administrador para utilizar este flujo de trabajo.

MSYS2 se puede utilizar de forma automatizada en una configuración de CI; consulte [Using MSYS2 in CI](https://www.msys2.org/docs/ci/) (Uso de MSYS2 en CI) en *MSYS2 Documentation* (Documentación de MSYS2). 

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

Descargue el archivo `awscli.tar.gz`, extráigalo e instale la AWS CLI. Al utilizar los siguientes comandos, sustituya las siguientes rutas:
+ `C:\msys64\usr\bin\bash` por la ubicación de su ruta de MSYS2.
+ `.\awscli-2.x.x\` por el nombre de la carpeta `awscli.tar.gz` extraída.
+ `PYTHON='C:\path\to\python.exe'` por su ruta local de Python.

En el siguiente código de ejemplo, se automatiza la compilación e instalación de la AWS CLI desde PowerShell mediante MSYS2 y se especifica qué instalación local de Python se debe utilizar:

```
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 ]

Descargue el archivo `awscli.tar.gz`, extráigalo e instale la AWS CLI. Al utilizar los siguientes comandos, sustituya las siguientes rutas:
+ `C:\msys64\usr\bin\bash` por la ubicación de su ruta de MSYS2.
+ `C:path\to\cli\repository\` por la ruta a su [repositorio de la AWS CLI](https://github.com/aws/aws-cli) clonado desde *GitHub*. Para obtener más información, consulte [Fork a repo](https://docs.github.com/en/get-started/quickstart/fork-a-repo) (Bifurcar un repositorio) en *GitHub Docs* (Documentación de GitHub).
+ `PYTHON='C:\path\to\python.exe'` por su ruta local de Python.

En el siguiente código de ejemplo, se automatiza la compilación e instalación de la AWS CLI desde PowerShell mediante MSYS2 y se especifica qué instalación local de Python se debe utilizar:

```
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
```

------

### Contenedor de Alpine Linux
<a name="source-getting-started-install-workflows-alpine"></a>

A continuación, se muestra un Dockerfile de ejemplo que se puede utilizar para conseguir una instalación funcional de la AWS CLI en un contenedor de Alpine Linux como [alternativa a los binarios prediseñados para Alpine](https://github.com/aws/aws-cli/issues/4685). Al utilizar este ejemplo, sustituya *AWSCLI\$1VERSION* por el número de versión de la AWS CLI deseado:

```
 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"]
```

Se compila esta imagen y se invoca la AWS CLI desde un contenedor similar al que se compila en 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
```

El tamaño final de esta imagen es más pequeño que el tamaño de la imagen de Docker oficial de la AWS CLI. Para obtener información sobre la imagen de Docker oficial, consulte [Ejecución de las imágenes oficiales de Amazon ECR Public o Docker para la AWS CLI](getting-started-docker.md).

## Solución de errores de instalación y desinstalación de AWS CLI
<a name="source-install-tshoot"></a>

Para ver los pasos de solución de problemas relacionados con los errores de instalación, consulte [Solución de errores para la AWS CLI](cli-chap-troubleshooting.md) para conocer los pasos de solución de problemas comunes. Para conocer los pasos más relevantes de la solución de problemas, consulte [Errores de comando no encontrado](cli-chap-troubleshooting.md#tshoot-install-not-found), [El comando "`aws --version`" devuelve una versión diferente a la instalada](cli-chap-troubleshooting.md#tshoot-install-wrong-version) y [El comando "`aws --version`" devuelve una versión después de desinstalar la AWS CLI](cli-chap-troubleshooting.md#tshoot-uninstall-1).

Para cualquier problema que no esté incluido en las guías de solución de problemas, busque los problemas con la etiqueta `source-distribution` en el [Repositorio de la AWS CLI](https://github.com/aws/aws-cli/labels/source-distribution) de *GitHub*. Si no existe ningún problema que se refiera a sus errores, [cree un nuevo 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 recibir ayuda de los mantenedores de la AWS CLI.

## Siguientes pasos
<a name="source-install-next-steps"></a>

Después de instalar la AWS CLI, debe realizar un [Configuración de AWS CLI](getting-started-quickstart.md).

# Ejecución de las imágenes oficiales de Amazon ECR Public o Docker para la AWS CLI
<a name="getting-started-docker"></a>

En este tema se describe cómo ejecutar, controlar la versión y configurar la AWS CLI versión 2 en Docker mediante la imagen oficial de Amazon Elastic Container Registry Public (Amazon ECR Public) o Docker Hub. Para obtener más información sobre cómo usar Docker, consulte la [documentación de Docker](https://docs.docker.com/).

Las imágenes oficiales proporcionan aislamiento, portabilidad y seguridad que AWS respalda y mantiene directamente. Esto le permite utilizar la versión 2 de la AWS CLI en un entorno basado en contenedores sin tener que administrar la instalación usted mismo. 

**Topics**
+ [Requisitos previos](#cliv2-docker-prereq)
+ [Decisión entre Amazon ECR Public y Docker Hub](#cliv2-docker-versus)
+ [Ejecución de las imágenes oficiales de AWS CLI versión 2](#cliv2-docker-install)
+ [Notas sobre interfaces y compatibilidad con versiones anteriores de las imágenes oficiales](#cliv2-docker-install-notes)
+ [Uso de versiones y etiquetas específicas](#cliv2-docker-upgrade)
+ [Actualización a la imagen oficial más reciente](#cliv2-docker-update)
+ [Comparta llos archivos anfitrión, credenciales, variables del entorno y configuración](#cliv2-docker-share-files)
+ [Acortamiento del comando docker run](#cliv2-docker-aliases)

## Requisitos previos
<a name="cliv2-docker-prereq"></a>

Debe tener instalado Docker. Para obtener instrucciones de instalación, consulte el [sitio web de Docker](https://docs.docker.com/install/). 

Para verificar la instalación de Docker, ejecute el siguiente comando y confirme que hay un resultado.

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

## Decisión entre Amazon ECR Public y Docker Hub
<a name="cliv2-docker-versus"></a>

Recomendamos utilizar Amazon ECR Public en lugar de Docker Hub para las imágenes de la AWS CLI. Docker Hub tiene una limitación de velocidad más estricta para los consumidores públicos, lo que puede causar problemas de limitación. Además, Amazon ECR Public replica imágenes en más de una región para proporcionar una disponibilidad sólida y controlar los problemas de interrupción de las regiones. 

Para obtener más información sobre la limitación de velocidad de Docker Hub consulte [Understanding Docker Hub Rate Limiting](https://www.docker.com/increase-rate-limits/) (Descripción de la limitación de velocidad de Docker Hub) en el sitio web de *Docker*.

## Ejecución de las imágenes oficiales de AWS CLI versión 2
<a name="cliv2-docker-install"></a>

 La primera vez que utilice el comando `docker run`, se descargará la última imagen en su equipo. Cada uso posterior del comando `docker run` se ejecuta desde la copia local. 

Para ejecutar las imágenes Docker de la AWS CLI versión 2, utilice el comando `docker run`.

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

La imagen de Amazon ECR Public oficial de la AWS CLI versión 2 está alojada en Amazon ECR Public en el [repositorio de `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 ]

La imagen de Docker oficial de la AWS CLI versión 2 está alojada en Docker Hub en el repositorio de `amazon/aws-cli`.

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

------

El comando funciona de la siguiente manera:
+ `docker run --rm -it repository/name`: el equivalente de la `aws` ejecutable. Cada vez que ejecuta este comando, Docker hace girar un contenedor de la imagen descargada y ejecuta el comando `aws`. De forma predeterminada, la imagen utiliza la versión más reciente de la AWS CLI versión 2.

  Por ejemplo, para llamar al comando `aws --version` en Docker, ejecute lo siguiente.

------
#### [ 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 que se limpie el contenedor después de que el comando salga.
+ `-it` – especifica que se abra un pseudoTTY con `stdin`. Esto le permite proporcionar datos a la versión 2 de la AWS CLI mientras se está ejecutando en un contenedor, por ejemplo, mediante el uso de los comandos `aws configure` y `aws help`. Al elegir si se debe omitir `-it`, tenga en cuenta lo siguiente:
  + Si está ejecutando scripts, `-it` no es necesario. 
  + Si experimenta errores con los scripts, omitir `-it` de la llamada Docker puede resolver el problema.
  + Si está intentando canalizar la salida, `-it` puede provocar errores y la omisión `-it` de la llamada Docker puede resolver este problema. Si desea conservar la marca `-it`, pero aún así quisiera canalizar la salida, desactivar la [Paginación del lado del cliente](cli-usage-pagination.md#cli-usage-pagination-clientside) que AWS CLI usa de forma predeterminada debería resolver el problema.

Para obtener más información sobre el comando `docker run`, consulte la [guía de referencia de Docker](https://docs.docker.com/engine/reference/run/).

## Notas sobre interfaces y compatibilidad con versiones anteriores de las imágenes oficiales
<a name="cliv2-docker-install-notes"></a>
+ La única herramienta admitida en la imagen es AWS CLI. Solo el ejecutable `aws` se debe ejecutar directamente. Por ejemplo, aunque `less` y `groff` están instalados explícitamente en la imagen, no se deben ejecutar directamente fuera de un comando AWS CLI.
+ El directorio de trabajo de `/aws` está controlado por el usuario. La imagen no se escribirá en este directorio, a menos que el usuario le indique que ejecute un comando de AWS CLI.
+ No hay garantías de compatibilidad con versiones anteriores para confiar en la última etiqueta. Para garantizar la compatibilidad con versiones anteriores, debe anclar una etiqueta `<major.minor.patch>` específica, ya que esas etiquetas son inmutables; solo se enviarán una vez.

## Uso de versiones y etiquetas específicas
<a name="cliv2-docker-upgrade"></a>

La imagen oficial de la AWS CLI versión 2 tiene varias versiones que puede usar, comenzando con la versión `2.0.6`. Para ejecutar una versión específica de la versión 2 de la AWS CLI, agregue la etiqueta adecuada al comando `docker run`. La primera vez que utiliza el comando `docker run` con una etiqueta, la imagen más reciente para esa etiqueta se descarga en el equipo. Cada uso posterior del comando `docker run` con esa etiqueta se ejecuta desde la copia local. 

Puede utilizar dos tipos de etiquetas: 
+ `latest`: define la última versión de la de la AWS CLI versión 2 para la imagen. Le recomendamos que utilice la etiqueta `latest` cuando desee la versión más reciente de la versión 2 de la AWS CLI. Sin embargo, no hay garantías de compatibilidad con versiones anteriores al usar esta etiqueta. La etiqueta `latest` se utiliza de forma predeterminada en el comando `docker run`. Para utilizar explícitamente la etiqueta `latest`, agregue la etiqueta al nombre de la imagen del contenedor.

------
#### [ 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 una versión específica de la AWS CLI versión 2 para la imagen Docker. Si piensa utilizar una imagen oficial en producción, le recomendamos que use una versión específica de la AWS CLI versión 2 para garantizar la compatibilidad con versiones anteriores. Por ejemplo, para ejecutar la versión `2.0.6`, agregue la versión al nombre de la imagen del contenedor.

------
#### [ 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
  ```

------

## Actualización a la imagen oficial más reciente
<a name="cliv2-docker-update"></a>

Dado que la imagen más reciente se descarga en el equipo solo la primera vez que utiliza el comando `docker run`, debe extraer manualmente una imagen actualizada. Para actualizar manualmente a la versión más reciente, le recomendamos que extraiga la imagen etiquetada `latest`. Al extraer la imagen, se descarga la versión más reciente en el equipo.

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

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

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

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

------

## Comparta llos archivos anfitrión, credenciales, variables del entorno y configuración
<a name="cliv2-docker-share-files"></a>

Dado que la versión 2 de la AWS CLI se ejecuta en un contenedor, la CLI no puede acceder de forma predeterminada al sistema de archivos anfitrión, que incluye la configuración y las credenciales. Para compartir el sistema de archivos anfitrión, las credenciales y la configuración en el contenedor, monte el directorio `~/.aws` del sistema host en el contenedor en `/root/.aws` con la etiqueta `-v` del comando `docker run`. Esto permite que la versión 2 de la AWS CLI, que se está ejecutando en el contenedor, localice la información del archivo anfitrión.

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

**Linux y macOS**

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

**Símbolo del sistema de 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 y macOS**

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

**Símbolo del sistema de 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 obtener más información acerca la etiqueta `-v` y el montaje, consulte la [guía de referencia de Docker](https://docs.docker.com/storage/volumes/). 

**nota**  
Para obtener información sobre los archivos de `config` y `credentials`, consulte [Opciones de los archivos de configuración y credenciales en la AWS CLI](cli-configure-files.md).

### Ejemplo 1: proporcionar credenciales y configuración
<a name="cliv2-docker-share-files-config"></a>

En este ejemplo, proporcionamos las credenciales de anfitrión y la configuración al ejecutar el comando `s3 ls` para mostrar los buckets en Amazon Simple Storage Service (Amazon S3). Los siguientes ejemplos utilizan la ubicación predeterminada para los archivos de credenciales y de configuración de la AWS CLI, para utilizar una ubicación diferente, cambie la ruta del archivo.

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

**Linux y 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
```

**Símbolo del sistema de 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 y macOS**

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

**Símbolo del sistema de 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
```

------

Puede llamar a variables de entorno específicas del sistema utilizando el marcador `-e`. Para utilizar una variable de entorno, llámelo por su nombre. 

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

**Linux y 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
```

**Símbolo del sistema de 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 y 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
```

**Símbolo del sistema de 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
```

------

### Ejemplo 2: Descarga de un archivo Amazon S3 en el sistema de anfitrión
<a name="cliv2-docker-share-files-s3"></a>

Para algunos comandos de la AWS CLI versión 2, puede leer archivos del sistema de host en el contenedor o escribir archivos desde el contenedor en el sistema de host. 

En este ejemplo, descargamos el objeto `S3` `s3://aws-cli-docker-demo/hello` a su sistema de archivos local montando el directorio de trabajo actual en el directorio `/aws` del contenedor. Al descargar el objeto `hello` en el directorio `/aws` del contenedor, el archivo también se guarda en el directorio de trabajo actual del sistema de host.

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

**Linux y 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
```

**Símbolo del sistema de 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 y 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
```

**Símbolo del sistema de 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 el archivo descargado existe en el sistema de archivos local, ejecute lo siguiente.

**Linux y macOS**

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

**Windows PowerShell**

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

### Ejemplo 3: uso de la variable de entorno AWS\$1PROFILE
<a name="cliv2-docker-share-files-envvars"></a>

Puede llamar a variables de entorno específicas del sistema utilizando el marcador `-e`. Llame a cada variable de entorno que desee utilizar. En este ejemplo, proporcionamos las credenciales de anfitrión, la configuración y la variable de entorno *AWS\$1PROFILE* cuando se ejecuta el comando `s3 ls` para mostrar los buckets en Amazon Simple Storage Service (Amazon S3).

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

**Linux y 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
```

**Símbolo del sistema de 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 y 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
```

**Símbolo del sistema de 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
```

------

## Acortamiento del comando docker run
<a name="cliv2-docker-aliases"></a>

Para acortar el comando `docker run`, le sugerimos que utilice la capacidad del sistema operativo para crear un [https://www.linux.com/topic/desktop/understanding-linux-links/](https://www.linux.com/topic/desktop/understanding-linux-links/) (enlace simbólico) o [https://www.linux.com/topic/desktop/aliases-diy-shell-commands/](https://www.linux.com/topic/desktop/aliases-diy-shell-commands/) en Linux y macOS o [https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/doskey](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/doskey) en Windows. Para establecer el alias de `aws`, puede ejecutar uno de los siguientes comandos:
+ Para obtener acceso básico a los comandos de `aws`, ejecute lo siguiente.

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

  **Linux y macOS**

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

  **Símbolo del sistema de 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 y macOS**

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

  **Símbolo del sistema de 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 acceder al sistema de archivos anfitrión y a las opciones de configuración cuando se utilizan comandos de `aws`, ejecute lo siguiente.

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

  **Linux y macOS**

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

  **Símbolo del sistema de 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 y macOS**

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

  **Símbolo del sistema de 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 asignar una versión específica para usarla en su alias de `aws`, agregue la etiqueta de versión.

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

  **Linux y macOS**

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

  **Símbolo del sistema de 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 y macOS**

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

  **Símbolo del sistema de 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
  ```

------

Después de configurar el alias, puede ejecutar la AWS CLI versión 2 desde un contenedor como si estuviera instalado en su sistema host. 

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

# Configuración de AWS CLI
<a name="getting-started-quickstart"></a>

En este tema, se explica cómo se configuran las opciones básicas que utiliza AWS Command Line Interface (AWS CLI) para interactuar con AWS. Entre ellos, se incluyen las credenciales de seguridad, el formato de salida predeterminado y la región de AWS predeterminada.

**Topics**
+ [Recopilar su información de credenciales para el acceso programático](#getting-started-prereqs-keys)
+ [Establecer una nueva configuración y credenciales](#getting-started-quickstart-new)
+ [Uso de archivos de configuración y credenciales existentes](#getting-started-quickstart-existing)

## Recopilar su información de credenciales para el acceso programático
<a name="getting-started-prereqs-keys"></a>

Necesitará acceso programático si desea interactuar con AWS fuera de la Consola de administración de AWS. Para obtener instrucciones sobre autenticación y credenciales, elija una de las siguientes opciones:


****  

| Tipo de autenticación | Finalidad | Instrucciones | 
| --- | --- | --- | 
|  Credenciales de la consola de administración de AWS  | **(Recomendado)** Use credenciales de corto plazo iniciando sesión en la AWS CLI con las credenciales de la consola. Se recomienda utilizar usuarios raíz, usuarios de IAM o federación con IAM para el acceso a la cuenta de AWS | [Inicio de sesión para el desarrollo local de AWS con credenciales de consola](cli-configure-sign-in.md) | 
|  Credenciales a corto plazo de los usuarios del personal de IAM Identity Center  | Use credenciales a corto plazo para un usuario del personal de IAM Identity Center.La práctica recomendada de seguridad es utilizar AWS Organizations con IAM Identity Center. Aquí se combinan las credenciales de corta duración con un directorio de usuarios, como el directorio integrado de IAM Identity Center o Active Directory. | [Configuración de la autenticación de IAM Identity Center con la AWS CLI](cli-configure-sso.md) | 
| Credenciales a corto plazo de usuarios de IAM | Utilice las credenciales a corto plazo de los usuarios de IAM, que son más seguras que las credenciales a largo plazo. Si sus credenciales están comprometidas, tiene un tiempo limitado para usarlas antes de que caduquen. | [Autenticación con credenciales a corto plazo para la AWS CLI](cli-authentication-short-term.md) | 
| Los usuarios de IAM o IAM Identity Center en una instancia de Amazon EC2  | Usar metadatos de la instancia de Amazon EC2 para consultar credenciales temporales mediante el rol asignado a la instancia de Amazon EC2. | [Uso de metadatos de instancias de Amazon EC2 como credenciales en la AWS CLI](cli-configure-metadata.md) | 
| Asumir roles para los permisos | Emparejar otro método de credenciales y asumir un rol para el acceso temporal a los Servicios de AWS a los que su usuario podría no tener acceso. | [Uso de un rol de IAM de la AWS CLI](cli-configure-role.md) | 
| Credenciales a largo plazo de usuarios de IAM | (No recomendado) Usar credenciales a largo plazo, que no tienen fecha de caducidad. | [Autenticación con credenciales de usuario de IAM para la AWS CLI](cli-authentication-user.md) | 
| Almacenamiento externo de los usuarios del personal de IAM o IAM Identity Center  | (No recomendado) Emparejar otro método de credenciales pero almacenar los valores de credenciales en una ubicación fuera de la AWS CLI. Este método es tan seguro como la ubicación externa en la que se almacenan las credenciales. | [Obtención de credenciales con un proceso externo en la AWS CLI](cli-configure-sourcing-external.md) | 

## Establecer una nueva configuración y credenciales
<a name="getting-started-quickstart-new"></a>

La AWS CLI almacena su información de configuración y credenciales en un *perfil* (una colección de configuraciones) en los archivos `credentials` y `config`. 

**Topics**
+ [Configuración mediante comandos de la AWS CLI](#getting-started-quickstart-new-command)
+ [Edición manual de las credenciales y los archivos de configuración](#getting-started-quickstart-new-file)

Los siguientes ejemplos utilizan valores de muestra para cada uno de los métodos de autenticación. Reemplace los valores de muestra por los suyos propios.

### Configuración mediante comandos de la AWS CLI
<a name="getting-started-quickstart-new-command"></a>

Para uso general, los comandos `aws configure` o `aws configure sso` en su terminal preferido son la forma más rápida de configurar su instalación de la AWS CLI. Según el método de credenciales que prefiera, la AWS CLI le solicitará la información pertinente. De forma predeterminada, la información de este perfil se utiliza cuando se ejecuta un comando de la AWS CLI que no especifica explícitamente un perfil que se va a utilizar.

Para obtener más información sobre los archivos de `credentials` y ‎`config`, consulte ‎[Opciones de los archivos de configuración y credenciales en la AWS CLI](cli-configure-files.md).

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

Este ejemplo le permite usar sus credenciales de consola existentes con el comando `aws login`. Este método de inicio de sesión se puede utilizar con las credenciales raíz creadas durante la configuración inicial de la cuenta, con un usuario de IAM o con una identidad federada del proveedor de identidades. Para obtener más información, consulte [Iniciar sesión para el desarrollo local de AWS con credenciales de consola](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 ejemplo corresponde a AWS IAM Identity Center con el asistente de `aws configure sso`. Para obtener más información, consulte [Configuración de la autenticación de IAM Identity Center con la 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 ejemplo corresponde al método heredado de AWS IAM Identity Center con el asistente `aws configure sso`. Para usar el SSO heredado, deje el nombre de la sesión en blanco. Para obtener más información, consulte [Configuración de la autenticación de IAM Identity Center con la 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 ejemplo corresponde a las credenciales de corta duración de AWS Identity and Access Management. El asistente aws configure se utiliza para establecer los valores iniciales y, a continuación, el comando `aws configure set` asigna el último valor necesario. Para obtener más información, consulte [Autenticación con credenciales a corto plazo para la 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 ejemplo se usa para asumir un rol de IAM. Los perfiles que utilizan roles de IAM extraen las credenciales de otro perfil y, a continuación, aplican los permisos de rol de IAM. En los siguientes ejemplos, `default` es el perfil de origen de las credenciales y `user1` toma prestadas las mismas credenciales y, a continuación, asume un nuevo rol. No existe ningún asistente para este proceso, por lo que cada valor se establece con el comando `aws configure set`. Para obtener más información, consulte [Uso de un rol de IAM de la 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 ejemplo corresponde a las credenciales obtenidas de los metadatos de la instancia de Amazon EC2 de alojamiento. No existe ningún asistente para este proceso, por lo que cada valor se establece con el comando `aws configure set`. Para obtener más información, consulte [Uso de metadatos de instancias de Amazon EC2 como credenciales en la 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 ]

**aviso**  
Para evitar riesgos de seguridad, no utilice a los usuarios de IAM para la autenticación cuando desarrolle software especialmente diseñado o trabaje con datos reales. En cambio, utilice la federación con un proveedor de identidades como [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).

Este ejemplo corresponde a las credenciales de larga duración de AWS Identity and Access Management. Para obtener más información, consulte [Autenticación con credenciales de usuario de IAM para la 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 información más detallada sobre los métodos de autenticación y credenciales, consulte [Credenciales de autenticación y acceso para la AWS CLI](cli-chap-authentication.md).

### Edición manual de las credenciales y los archivos de configuración
<a name="getting-started-quickstart-new-file"></a>

Cuando copie y pegue información, le sugerimos que edite manualmente el archivo `config` y `credentials`. Según el método de credenciales que prefiera, los archivos se configuran de forma diferente. 

Los archivos se almacenan en el directorio principal, en la carpeta `.aws`. La ubicación del directorio principal varía en función del sistema operativo, pero se hace referencia a él mediante las variables de entorno `%UserProfile%` en Windows y `$HOME` o `~` (tilde) en los sistemas basados en Unix. Para obtener más información sobre dónde se almacenan estos ajustes, consulte [¿Dónde se almacenan las opciones de configuración?](cli-configure-files.md#cli-configure-files-where).

En los siguientes ejemplos se muestra un perfil de `default` y un perfil denominado `user1`, y se utilizan valores de muestra. Reemplace los valores de muestra por los suyos propios. Para obtener más información sobre los archivos de `credentials` y ‎`config`, consulte ‎[Opciones de los archivos de configuración y credenciales en la AWS CLI](cli-configure-files.md).

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

Este es un ejemplo de AWS IAM Identity Center. Para obtener más información, consulte [Configuración de la autenticación de IAM Identity Center con la AWS CLI](cli-configure-sso.md).

**Archivo de credenciales**

El archivo `credentials` no se utiliza para este método de autenticación.

**Archivo de configuración**

```
[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 ejemplo corresponde al método heredado de AWS IAM Identity Center. Para obtener más información, consulte [Configuración de la autenticación de IAM Identity Center con la AWS CLI](cli-configure-sso.md).

**Archivo de credenciales**

El archivo `credentials` no se utiliza para este método de autenticación.

**Archivo de configuración**

```
[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 ejemplo corresponde a las credenciales de corta duración de AWS Identity and Access Management. Para obtener más información, consulte [Autenticación con credenciales a corto plazo para la AWS CLI](cli-authentication-short-term.md).

**Archivo de credenciales**

```
[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
```

**Archivo de configuración**

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

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

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

Este ejemplo se usa para asumir un rol de IAM. Los perfiles que utilizan roles de IAM extraen las credenciales de otro perfil y, a continuación, aplican los permisos de rol de IAM. En los siguientes ejemplos, `default` es el perfil de origen de las credenciales y `user1` toma prestadas las mismas credenciales y, a continuación, asume un nuevo rol. Para obtener más información, consulte [Uso de un rol de IAM de la AWS CLI](cli-configure-role.md).

**Archivo de credenciales**

El archivo `credentials` depende de la autenticación que utilice su perfil de origen. En el siguiente ejemplo, el perfil de origen utiliza credenciales de corta duración.

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

**Archivo de configuración**

```
[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 ejemplo corresponde a las credenciales obtenidas de los metadatos de la instancia de Amazon EC2 de alojamiento. Para obtener más información, consulte [Uso de metadatos de instancias de Amazon EC2 como credenciales en la AWS CLI](cli-configure-metadata.md).

**Archivo de credenciales**

El archivo `credentials` no se utiliza para este método de autenticación.

**Archivo de configuración**

```
[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 ]

**aviso**  
Para evitar riesgos de seguridad, no utilice a los usuarios de IAM para la autenticación cuando desarrolle software especialmente diseñado o trabaje con datos reales. En cambio, utilice la federación con un proveedor de identidades como [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).

Este ejemplo corresponde a las credenciales de larga duración de AWS Identity and Access Management. Para obtener más información, consulte [Autenticación con credenciales de usuario de IAM para la AWS CLI](cli-authentication-user.md).

**Archivo de credenciales**

```
[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
```

**Archivo de configuración**

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

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

------

Para información más detallada sobre los métodos de autenticación y credenciales, consulte [Credenciales de autenticación y acceso para la AWS CLI](cli-chap-authentication.md).

## Uso de archivos de configuración y credenciales existentes
<a name="getting-started-quickstart-existing"></a>

Si tiene archivos de configuración y credenciales existentes, se pueden utilizar para AWS CLI. 

Para utilizar los archivos de `config` y `credentials`, muévalos a la carpeta denominada `.aws` en el directorio principal. La ubicación del directorio principal varía en función del sistema operativo, pero se hace referencia a él mediante las variables de entorno `%UserProfile%` en Windows y `$HOME` o `~` (tilde) en los sistemas basados en Unix. 

Puede especificar una ubicación no predeterminada para los archivos de `config` y `credentials`‎configurando ‎las variables de entorno `AWS_CONFIG_FILE` y `AWS_SHARED_CREDENTIALS_FILE` en otra ruta local. Para obtener más información, consulte [Configuración de variables de entorno para la AWS CLI](cli-configure-envvars.md). 

Para obtener más información sobre archivos de configuración y credenciales, ‎consulte [Opciones de los archivos de configuración y credenciales en la AWS CLI](cli-configure-files.md).