AWS Command Line Interface o CLI es un conjunto de herramientas de código abierto que permite administrar y automatizar los servicios de AWS mediante comandos.
CLI DE AWS admite varias plataformas, como Windows, Linux y macOS, y proporciona acceso directo a las API públicas de AWS. Además, la automatización de tareas de infraestructura tediosas es fácilmente posible en un entorno CLI.
Versiones de la CLI de AWS
AWS CLI tiene dos versiones principales disponibles, es decir, la versión 1.x, que está disponible para la compatibilidad con versiones anteriores, mientras que la versión 2.x es la versión general actual disponible y está destinada al uso de producción. No es completamente compatible con versiones anteriores y por lo tanto los scripts que utilizan la versión 1 de la CLI de AWS pueden no ser compatibles con la versión 2.
Instalar AWS CLI
Aquí cubriremos la instalación de AWS CLI en diferentes plataformas. Dado que la versión 2.x es la versión general disponible en el momento de escribir este artículo, solo cubriremos la instalación de la misma.
Linux
El método oficial de instalación de AWS CLI en sistemas basados en Linux está disponible a través de un paquete ZIP. Requiere un sistema Linux de 64 bits/ARM y presupone que el sistema ya dispone de unzip
, glibc
, groff
y less
instalados y disponibles para su uso. Todas las principales distribuciones de Linux son compatibles, como CentOS, Fedora, Ubuntu y Amazon Linux.
Para instalar la última versión de AWS CLI en Linux x86 (64 bits), utilice los siguientes comandos:
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
Para confirmar que la instalación se ha realizado correctamente, ejecute:
$ aws --version
aws-cli/2.2.5 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/2.0.0
macOS
La instalación de AWS CLI en macOS se ofrece oficialmente tanto en GUI como en CLI. Para utilizar el método GUI, descargue la última versión del paquete de AWS CLI desde el siguiente enlace: https://awscli.amazonaws.com/AWSCLIV2.pkg y haga doble clic en el paquete descargado para iniciar el instalador.
Siga las instrucciones en pantalla para completar la instalación. La mayoría de las opciones pueden dejarse por defecto para los requisitos normales de instalación.
Si desea instalar utilizando la forma CLI, en una nueva terminal de emisión por debajo de comandos para descargar e instalar la última versión de AWS CLI:
$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
$ sudo installer -pkg AWSCLIV2.pkg -target /
sudo
en el comando anterior es necesario si planea instalarlo en todo el sistema. Si desea instalarlo como un usuario local sin derechos de administrador, existe una sencilla solución oficial.
Debe crear un XML
que proporcionará una ruta /Users/myusername
donde quieres que se instale AWS CLI. Esta ruta debe ser un directorio existente o creado antes de lanzar el instalador de lo contrario fallará.
<?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>
A continuación, puede proceder a descargar el último paquete de instalación utilizando curl
como:
$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
Una vez que tenga el paquete y el XML
archivo de configuración listo, AWS CLI puede ser instalado para el usuario local utilizando:
$ installer -pkg AWSCLIV2.pkg \
-target CurrentUserHomeDirectory \
-applyChoiceChangesXML choices.xml
Aquí AWSCLIV2.pkg
es el paquete que descargamos en un paso anterior utilizando curl
y -target
especifica que la instalación es para el usuario local y -applyChoiceChangesXML
básicamente indica al instalador que vamos a utilizar opciones personalizadas que contienen nuestra ruta de instalación relativa /Users/myusername
o la ruta del directorio local que se haya especificado en el archivo XML
.
Como último paso, ejecuta los siguientes comandos para crear los enlaces simbólicos necesarios para que la CLI de AWS funcione correctamente.
$ 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
Si su $PATH
incluye un directorio en el que se puede escribir y se especifica ese directorio como ruta del objetivo, puede ejecutar el comando anterior sin sudo
. Pero si usted no tiene un directorio con permisos de escritura en su $PATH
debe utilizar sudo
para obtener permisos de escritura en la carpeta de destino especificada. La ubicación por defecto de un enlace simbólico es /usr/local/bin/
.
Para verificar la instalación, utilice:
$ which aws
/usr/local/bin/aws
$ aws --version
aws-cli/2.1.29 Python/3.7.4 Darwin/18.7.0 botocore/2.0.0
Windows
Para una instalación en Windows, AWS CLI v2 requiere una versión de Windows de 64 bits o posterior y derechos de administrador para la instalación.
El último paquete de instalación de Windows puede descargarse desde: https://awscli.amazonaws.com/AWSCLIV2.msi e iniciarlo con derechos de administrador para que se complete la instalación.
También puede utilizar misexec
en CLI para instalar en la línea de comandos como:
msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
Puede utilizar aws --version
en un símbolo del sistema para verificar la instalación.
C:\>aws --version
aws-cli/2.2.7 Python/3.8.8 Windows/10 exe/AMD64 prompt/off
Docker
Por último, si no desea instalar AWS CLI en su sistema operativo local y tiene acceso a Docker, es sólo cuestión de un solo comando para ejecutar los comandos de la CLI de AWS como:
$ docker run --rm -it amazon/aws-cli command
donde command
es el comando AWS CLI a ejecutar. El comando anterior lanzará un contenedor con la configuración requerida de la CLI de AWS y procederá directamente a ejecutar el comando especificado y saldrá una vez que haya terminado.
Hay un montón de opciones para utilizar sus credenciales de AWS CLI existentes, configuración y variables de entorno como una entrada para el contenedor que lo hace aún más utilizable y portátil. También hay un alias
para acortar el largo comando docker a algo simple y comprensible como para el uso de hosts Linux:
$ alias aws='docker run --rm -it amazon/aws-cli'
Asegúrate de añadir el comando anterior en el archivo de perfil de tu shell para que persista. Una vez hecho esto, puede utilizarlo como:
$ aws --version
aws-cli/2.1.29 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.0.0dev10
Fácil y con mejor aspecto. Más información sobre la oferta y las posibilidades de AWS CLI basada en Docker. aquí.
Resumen
AWS CLI ofrece una experiencia basada en comandos para administrar su infraestructura de AWS con facilidad de control, especialmente con tareas repetitivas y, en última instancia, abre la puerta a la automatización y la gestión de Infraestructura como código (IaC). Ya has aprendido a instalarlo en diferentes plataformas. Como siguiente paso, puedes leer aquí sobre cómo configurarlo para utilizarlo con su cuenta de AWS.