Saltar al contenido principal

Lab: Configuración del Entorno

Objetivos del Lab​

Al final de este lab, usted tendrá:

  • ✅ Un entorno de trabajo completo y funcional
  • ✅ Docker Desktop instalado y operativo
  • ✅ AWS CLI v2 configurado con un perfil LocalStack
  • ✅ LocalStack iniciado y probado
  • ✅ Un mini-informe con pruebas de configuración

Duración Estimada​

1 a 2 horas (según su sistema y conexión a Internet)

Requisitos Previos​

  • Computadora con Windows 10/11, macOS o Linux
  • Derechos de administrador
  • Conexión a Internet estable
  • Al menos 10 GB de espacio libre en disco

Parte 1: Instalación de Docker Desktop​

Pasos​

1.1 Descargar Docker Desktop

Vaya a: https://www.docker.com/products/docker-desktop/

Descargue la versión correspondiente a su sistema.

1.2 Instalar Docker Desktop

  • Windows: Haga doble clic en el instalador, siga el asistente
  • macOS: Arrastre Docker a Aplicaciones
  • Linux: Siga las instrucciones de su distribución

1.3 Iniciar Docker Desktop

Inicie Docker Desktop desde el menú Inicio (Windows) o Aplicaciones (macOS).

Espere hasta que el ícono de Docker indique "Docker is running".

1.4 Verificar la instalación

Abra una terminal y ejecute:

docker --version
docker run hello-world

Validación Parte 1​

Captura de pantalla requerida

Tome una captura de pantalla mostrando:

  1. La salida de docker --version
  2. El mensaje "Hello from Docker!" de docker run hello-world

Nombre este archivo: 01-docker-version.png


Parte 2: Instalación de AWS CLI v2​

Pasos​

2.1 Descargar AWS CLI v2

2.2 Instalar

Windows:

# Haga doble clic en AWSCLIV2.msi y siga el asistente
# O
msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi

macOS:

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

Linux:

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

2.3 Verificar la instalación

Cierre y vuelva a abrir su terminal, luego:

aws --version

2.4 Configurar el perfil LocalStack

aws configure --profile localstack

Ingrese los siguientes valores:

AWS Access Key ID [None]: test
AWS Secret Access Key [None]: test
Default region name [None]: us-east-1
Default output format [None]: json

2.5 Verificar la configuración

aws configure list --profile localstack

Validación Parte 2​

Captura de pantalla requerida

Tome una captura de pantalla mostrando:

  1. La salida de aws --version
  2. La salida de aws configure list --profile localstack

Nombre este archivo: 02-aws-cli-config.png


Parte 3: Inicio de LocalStack​

Pasos​

3.1 Crear una carpeta de trabajo

# Cree una carpeta para este curso
mkdir aws-course
cd aws-course

3.2 Crear el archivo docker-compose.yml

Cree un archivo docker-compose.yml con el siguiente contenido:

version: '3.8'

services:
localstack:
container_name: localstack
image: localstack/localstack:latest
ports:
- "4566:4566"
- "4510-4559:4510-4559"
environment:
- SERVICES=s3,lambda,sqs,sns,dynamodb,cloudwatch,cloudformation,iam
- DEBUG=1
- DATA_DIR=/tmp/localstack/data
volumes:
- "./localstack-data:/var/lib/localstack"
- "/var/run/docker.sock:/var/run/docker.sock"

3.3 Iniciar LocalStack

docker-compose up -d

O sin docker-compose:

docker run -d \
--name localstack \
-p 4566:4566 \
-e SERVICES=s3,lambda,sqs,dynamodb,cloudwatch,cloudformation \
localstack/localstack

3.4 Espere a que inicie (30-60 segundos)

# Verifique que el contenedor esté en ejecución
docker ps

# Ver los logs (opcional)
docker logs localstack

3.5 Verificar el estado de salud

# Linux/macOS
curl http://localhost:4566/_localstack/health

# Windows PowerShell
Invoke-RestMethod http://localhost:4566/_localstack/health

Validación Parte 3​

Captura de pantalla requerida

Tome una captura de pantalla mostrando:

  1. La salida de docker ps con el contenedor localstack
  2. La salida del health check

Nombre este archivo: 03-localstack-running.png


Parte 4: Prueba de Comandos AWS​

Pasos​

4.1 Configurar el alias (opcional pero recomendado)

Windows PowerShell:

# Probar primero sin alias
aws --endpoint-url=http://localhost:4566 s3 ls --profile localstack

macOS/Linux:

alias awslocal='aws --endpoint-url=http://localhost:4566 --profile localstack'

4.2 Crear un bucket S3

# Con alias
awslocal s3 mb s3://mon-premier-bucket-test

# Sin alias (Windows)
aws --endpoint-url=http://localhost:4566 s3 mb s3://mon-premier-bucket-test --profile localstack

4.3 Listar los buckets

awslocal s3 ls

Resultado esperado:

2024-12-18 10:30:00 mon-premier-bucket-test

4.4 Crear un archivo de prueba

# Crear un archivo local
echo "Hello AWS LocalStack!" > test.txt

# Subir a S3
awslocal s3 cp test.txt s3://mon-premier-bucket-test/

# Verificar
awslocal s3 ls s3://mon-premier-bucket-test/

4.5 Descargar el archivo

awslocal s3 cp s3://mon-premier-bucket-test/test.txt downloaded.txt
cat downloaded.txt

4.6 Limpiar

# Eliminar el archivo del bucket
awslocal s3 rm s3://mon-premier-bucket-test/test.txt

# Eliminar el bucket
awslocal s3 rb s3://mon-premier-bucket-test

Validación Parte 4​

Captura de pantalla requerida

Tome una captura de pantalla mostrando:

  1. La creación del bucket (s3 mb)
  2. El listado del bucket con el archivo (s3 ls)
  3. El contenido del archivo descargado

Nombre este archivo: 04-aws-s3-test.png


Parte 5: Prueba Lambda (Bonus)​

Pasos​

5.1 Crear una función Lambda simple

Cree un archivo lambda_function.py:

def handler(event, context):
return {
'statusCode': 200,
'body': 'Hello from LocalStack Lambda!'
}

5.2 Comprimir la función

# Linux/macOS
zip function.zip lambda_function.py

# Windows PowerShell
Compress-Archive -Path lambda_function.py -DestinationPath function.zip

5.3 Crear la función Lambda

awslocal lambda create-function \
--function-name ma-premiere-fonction \
--runtime python3.9 \
--handler lambda_function.handler \
--zip-file fileb://function.zip \
--role arn:aws:iam::000000000000:role/lambda-role

5.4 Invocar la función

awslocal lambda invoke \
--function-name ma-premiere-fonction \
--payload '{}' \
output.txt

cat output.txt

5.5 Listar las funciones

awslocal lambda list-functions

Validación Parte 5​

Captura de pantalla requerida (Bonus)

Tome una captura de pantalla mostrando:

  1. La creación de la función Lambda
  2. La invocación exitosa con el resultado

Nombre este archivo: 05-lambda-test.png


Entregables del Lab​

Mini-Informe "Entorno Listo"​

Cree un documento (Word, PDF o Markdown) que contenga:

1. Portada

  • Nombre del estudiante
  • Fecha
  • Título: "Lab 1 - Configuración del Entorno AWS"

2. Capturas de pantalla Incluya las 4 capturas obligatorias (5 con el bonus Lambda):

  • 01-docker-version.png
  • 02-aws-cli-config.png
  • 03-localstack-running.png
  • 04-aws-s3-test.png
  • 05-lambda-test.png (bonus)

3. Tabla resumen

ComponenteVersiónEstado
DockerX.X.X✅ Instalado
AWS CLIX.X.X✅ Configurado
LocalStacklatest✅ Funcional

4. Problemas encontrados (si aplica) Describa brevemente cualquier problema encontrado y cómo lo resolvió.

5. Checklist final

  • Docker Desktop instalado y funcional
  • AWS CLI v2 instalado
  • Perfil LocalStack configurado
  • LocalStack iniciado
  • Prueba S3 exitosa (creación de bucket, subida de archivo)
  • Prueba Lambda exitosa (bonus)

Tabla de Evaluación​

CriterioPuntos
Docker instalado y funcional2
AWS CLI instalado y configurado2
LocalStack iniciado2
Prueba S3 exitosa2
Capturas de pantalla completas1
Informe bien estructurado1
Total10

Bonus: Prueba Lambda exitosa (+2 puntos)


Solución de Problemas Comunes​

Docker no inicia​

Windows:

  1. Active la virtualización en el BIOS
  2. Active WSL2: wsl --install
  3. Reinicie su computadora

AWS CLI no reconocido​

  1. Cierre y vuelva a abrir la terminal
  2. Verifique el PATH
  3. Reinstale AWS CLI

LocalStack no responde​

  1. Espere 60 segundos después de iniciar
  2. Verifique los logs: docker logs localstack
  3. Reinicie: docker restart localstack

Error "No credentials"​

# Reconfigurar
aws configure --profile localstack

# Verificar
aws configure list --profile localstack

Resumen de Comandos​

# Docker
docker --version
docker run hello-world
docker ps
docker logs localstack

# AWS CLI
aws --version
aws configure --profile localstack
aws configure list --profile localstack

# LocalStack
docker-compose up -d
curl http://localhost:4566/_localstack/health

# Pruebas S3
awslocal s3 mb s3://bucket-name
awslocal s3 ls
awslocal s3 cp file.txt s3://bucket/
awslocal s3 rm s3://bucket/file.txt
awslocal s3 rb s3://bucket-name

# Pruebas Lambda
awslocal lambda create-function ...
awslocal lambda invoke ...
awslocal lambda list-functions

Quiz de Fin de Lab​

  1. ¿Cuál es el puerto por defecto de LocalStack?
  2. ¿Qué opción de AWS CLI permite apuntar a LocalStack?
  3. ¿Qué comando crea un bucket S3?
  4. ¿Cómo verificar que LocalStack está funcionando?
  5. ¿Por qué se usan credenciales "test" con LocalStack?

¡Felicidades! Ha configurado su entorno AWS. ¡Está listo para el MÓDULO 2!