Instalación y configuración de AWS CLI en Linux

 

☁️ INSTALACIÓN Y CONFIGURACIÓN DE AWS CLI EN LINUX

☁️ Introducción

En este artículo vamos a aprender a instalar y configurar AWS Command Line Interface (AWS CLI) en un sistema Linux.

AWS CLI es una herramienta que permite interactuar con los servicios de Amazon Web Services (AWS) directamente desde la terminal. Gracias a ella podemos administrar recursos de AWS, consultar información de nuestra cuenta y trabajar con servicios como Amazon S3, EC2, IAM y muchos otros sin necesidad de utilizar constantemente la consola web de AWS.

La utilización de AWS CLI es especialmente importante para quienes están aprendiendo Cloud Computing, DevOps, Ciberseguridad y automatización, ya que permite ejecutar tareas mediante comandos y posteriormente integrarlas en scripts, pipelines de CI/CD y procesos automatizados.

📋 En este procedimiento realizaremos:

  • Instalar AWS CLI en Linux.
  • Comprobar que la instalación fue exitosa.
  • Configurar las credenciales de AWS.
  • Establecer una región predeterminada.
  • Configurar el formato de salida.
  • Verificar nuestra identidad dentro de AWS.
  • Aplicar buenas prácticas básicas de seguridad para las credenciales.

1️⃣ Instalación de AWS CLI

Una vez descargado y preparado el instalador de AWS CLI, debemos dirigirnos desde la terminal al directorio donde se encuentra el archivo de instalación.

Para iniciar la instalación utilizamos:

sudo ./aws/install

¿Qué hace este comando?

Este comando ejecuta el instalador de AWS Command Line Interface utilizando privilegios administrativos.

La palabra sudo permite ejecutar el proceso con permisos de administrador, mientras que:

./aws/install

indica que queremos ejecutar el instalador ubicado en el directorio actual.

Si la instalación se realiza correctamente, AWS CLI mostrará un mensaje similar a:

You can now run: /usr/local/bin/aws --version

Esto significa que AWS CLI ha sido instalada y que podemos comenzar a utilizarla desde la terminal.


2️⃣ Comprobar la instalación

Después de instalar AWS CLI, es recomendable verificar que el sistema puede encontrar correctamente el comando aws.

Para hacerlo ejecutamos:

aws --version

También podemos utilizar directamente la ruta donde se instaló el ejecutable:

/usr/local/bin/aws --version

El resultado debería mostrar información relacionada con la versión instalada, por ejemplo:

aws-cli/2.x.x Python/3.x.x Linux/x86_64

La versión exacta puede variar dependiendo de cuándo se realice la instalación.

🔎 ¿Qué estamos comprobando?

  • AWS CLI está instalada.
  • El ejecutable aws está disponible.
  • El sistema puede ejecutar AWS CLI.
  • Podemos comenzar con la configuración de nuestra cuenta.

3️⃣ Configuración de las credenciales de AWS

Una vez instalada AWS CLI, necesitamos configurar las credenciales que utilizaremos para autenticarnos en nuestra cuenta de AWS.

Para comenzar ejecutamos:

aws configure

El sistema nos solicitará varios datos relacionados con nuestra cuenta.

AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]:
Default output format [None]:

En este ejemplo utilizaremos las credenciales del usuario IAM:

jesus-admin

4️⃣ Introducir el Access Key ID

Cuando AWS CLI solicite:

AWS Access Key ID [None]:

debemos introducir el Access Key ID asociado al usuario IAM.

Si hemos creado las credenciales mediante AWS IAM y descargamos el archivo CSV proporcionado por AWS, podemos encontrar allí nuestro Access Key ID.

Un Access Key ID suele tener un formato similar a:

AKIA...

⚠️ Importante

El Access Key ID no debe publicarse junto con su Secret Access Key.

Aunque el Access Key ID por sí solo no proporciona acceso completo a la cuenta, debe tratarse como información sensible, especialmente cuando se utiliza junto con su clave secreta.


5️⃣ Introducir el Secret Access Key

A continuación, AWS CLI solicitará:

AWS Secret Access Key [None]:

Aquí debemos introducir la Secret Access Key correspondiente al Access Key ID anterior.

Esta clave es especialmente sensible.

🚨 Nunca debemos publicarla en:

  • GitHub.
  • Blogs.
  • Capturas de pantalla.
  • Videos.
  • Redes sociales.
  • Archivos públicos.
  • Repositorios de código.

Tampoco debemos introducir claves de AWS directamente dentro de nuestros programas o scripts si podemos utilizar mecanismos más seguros de autenticación.


6️⃣ Configurar la región predeterminada

AWS CLI preguntará:

Default region name [None]:

En nuestro caso utilizaremos:

us-east-1

Esta región corresponde a US East (N. Virginia).

La región predeterminada permite que AWS CLI sepa en qué región queremos trabajar cuando un comando no especifica explícitamente otra.

Por ejemplo:

aws ec2 describe-instances

7️⃣ Configurar el formato de salida

A continuación aparecerá:

Default output format [None]:

Podemos utilizar:

json

JSON es un formato muy utilizado para representar información estructurada y resulta especialmente práctico cuando trabajamos con AWS CLI, automatización y scripts.

{
    "UserId": "...",
    "Account": "...",
    "Arn": "arn:aws:iam::123456789012:user/jesus-admin"
}

8️⃣ Verificar la identidad autenticada

Una vez finalizada la configuración, debemos comprobar que AWS CLI puede comunicarse correctamente con nuestra cuenta de AWS.

Para ello utilizamos:

aws sts get-caller-identity

Este comando pertenece al servicio AWS Security Token Service (AWS STS) y permite conocer la identidad con la que estamos autenticados actualmente.

{
    "UserId": "...",
    "Account": "123456789012",
    "Arn": "arn:aws:iam::123456789012:user/jesus-admin"
}

9️⃣ ¿Qué información obtenemos?

UserId

Identifica al usuario o identidad que está realizando la solicitud.

Account

Representa el ID de la cuenta de AWS a la que estamos conectados.

Arn

El ARN, o Amazon Resource Name, identifica de manera única el recurso o identidad dentro de AWS.

arn:aws:iam::123456789012:user/jesus-admin

Esto nos permite comprobar que estamos utilizando el usuario IAM esperado.


🔟 Comprobación final

aws sts get-caller-identity

Después podemos confirmar:

  • ✓ AWS CLI está instalada correctamente.
  • ✓ AWS CLI puede ejecutarse desde la terminal.
  • ✓ Las credenciales configuradas son válidas.
  • ✓ La autenticación con AWS funciona correctamente.
  • ✓ Estamos utilizando el usuario IAM esperado.
  • ✓ Estamos trabajando con la cuenta de AWS correcta.
  • ✓ La región y el formato de salida fueron configurados.

Este paso es muy importante porque evita comenzar a trabajar con recursos de AWS sin saber exactamente con qué cuenta o identidad estamos autenticados.


1️⃣1️⃣ Seguridad de las credenciales AWS

La configuración de AWS CLI no termina simplemente con conseguir que los comandos funcionen.

Uno de los aspectos más importantes al trabajar con AWS es mantener una correcta seguridad de IAM (Identity and Access Management).

🚨 Nunca publiques:

AWS Access Key ID
AWS Secret Access Key

Tampoco debemos subir archivos de credenciales a repositorios públicos de GitHub.

[default]
aws_access_key_id = AKIAxxxxxxxxxxxx
aws_secret_access_key = xxxxxxxxxxxxxxxxxxxxxxxxx

Una clave expuesta puede ser utilizada por terceros para intentar acceder a recursos de nuestra cuenta y, dependiendo de los permisos asociados, podría generar problemas importantes de seguridad e incluso cargos inesperados.


1️⃣2️⃣ Activar MFA en IAM

Otra medida de seguridad fundamental es activar MFA (Multi-Factor Authentication).

MFA agrega un segundo factor de autenticación además de la contraseña.

En términos sencillos, incluso si alguien consigue conocer nuestra contraseña, necesitaría también el segundo factor para completar la autenticación.

🔐 Como buena práctica de seguridad, debemos revisar la configuración de IAM y habilitar MFA en las identidades que lo requieran.

La seguridad de nuestra cuenta AWS debe considerarse parte fundamental del proceso y no algo que debemos dejar para después.


1️⃣3️⃣ Buenas prácticas adicionales

🔐 Utilizar el principio de mínimo privilegio

No debemos otorgar permisos administrativos a todos los usuarios. Cada identidad debería disponer únicamente de los permisos necesarios para realizar sus funciones.

🔑 Proteger las Access Keys

Las claves de acceso no deben almacenarse directamente dentro del código fuente.

ACCESS_KEY = "AKIAxxxxxxxx"
SECRET_KEY = "xxxxxxxxxxxx"

🌐 Tener cuidado con repositorios públicos

Antes de realizar:

git add .
git commit -m "configuración AWS"
git push

debemos asegurarnos de no estar incluyendo archivos con credenciales.

Una buena práctica es utilizar .gitignore y evitar subir archivos sensibles.

🛡️ Revisar periódicamente IAM

Es recomendable revisar:

  • Usuarios.
  • Grupos.
  • Roles.
  • Políticas.
  • Access Keys.
  • MFA.
  • Permisos asignados.

🚀 Conclusión

En este laboratorio realizamos la instalación y configuración inicial de AWS CLI en Linux.

Comenzamos instalando AWS CLI mediante:

sudo ./aws/install

Posteriormente verificamos la instalación utilizando:

aws --version

Después configuramos las credenciales mediante:

aws configure

También establecimos la región:

us-east-1

y configuramos JSON como formato de salida.

Finalmente utilizamos:

aws sts get-caller-identity

para comprobar que la autenticación funcionaba correctamente y verificar la identidad con la que estamos trabajando.

🔐 Sin embargo, una parte fundamental de este proceso es la seguridad.

Las credenciales de AWS deben protegerse cuidadosamente y debemos implementar medidas como MFA, mínimo privilegio y una correcta administración de IAM.

Este procedimiento constituye una de las bases para comenzar a trabajar con AWS desde Linux y será especialmente útil para futuros laboratorios relacionados con EC2, S3, IAM, VPC, CloudWatch, automatización, DevOps y Cloud Computing.


☁️ ¿Qué sigue después?

Una vez que AWS CLI está instalada y configurada correctamente, podemos comenzar a interactuar con diferentes servicios de AWS desde nuestra terminal.

Algunos de los siguientes pasos pueden ser:

AWS IAM
   ↓
Amazon S3
   ↓
Amazon EC2
   ↓
Amazon VPC
   ↓
AWS CloudWatch
   ↓
Automatización y DevOps

De esta manera, pasamos de simplemente utilizar la consola web de AWS a administrar infraestructura y servicios mediante la línea de comandos, una habilidad fundamental para cualquier persona que quiera desarrollarse profesionalmente en Cloud Computing, DevOps o Ciberseguridad.


🖥️ REGRESAR AL INICIO

INICIO ➡️

Comentarios

Entradas más populares de este blog

Hack de redes guardadas en Windows.

Curso de C++ / Cap 02

Curso de C++ / Cap 01