AWS CLI te permite controlar multiples servicios de AWS desde la consola de comandos, y automatizarlos vía scripts. AWS se apoya en Python, por lo que es requerido tenerlo preparado para poder realizar la instalación y uso.

  1. Instalación: Para comenzar, necesitarás tener instalado Python en tu sistema. Puedes verificar si Python está instalado escribiendo python --version en la terminal. Si no está instalado, puedes descargarlo desde el sitio web oficial de Python. Una vez tengas Python instalado, puedes instalar AWS CLI. Las instrucciones las puedes encontrar aquí: https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html

Hay varias opciones de instalación:

  • Via Curl 

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

pip install awscli --upgrade --user 
  1. Configuración: Después de instalar AWS CLI, debes configurar tus credenciales de AWS. Puedes obtener tus claves de acceso desde la consola de administración de AWS. Una vez que tengas tus claves, ejecuta el comando aws configure, y sigue las instrucciones. Tendrás que proporcionar los datos de las access keys que hayas creado para el usuaio en AWS Console.

Tras el aws configure se generan dos ficheros en .aws que son los que utilizará aws cli para conectar a tu cuenta:

~ # cd .aws
~/.aws # ls -l
total 16
-rw-------  1 mac  mac   41 Jul  9 09:00 config
-rw-------  1 mac  mac  116 Jul  9 08:56 credentials
~/.aws #
  1. Ejemplos de uso: veamos un ejemplo para listar tus instancias y hacer un reinicio de una de ellas.  

# aws ec2 describe-instances
    "Reservations": [
        {
            "Groups": [],
            "Instances": [
                {
                    "AmiLaunchIndex": 0,
                    "ImageId": "ami-050406429a71aaa64",
                    "InstanceId": "i-0e1ce5022066378ae",
                    "InstanceType": "t3a.micro",
                    "KeyName": "bla bla bla",
                    "LaunchTime": "2023-03-19T11:11:45+00:00",
    ...
}
~ # aws ec2 reboot-instances --instance-ids i-0e1ce5022066378ae