Skip to content

Preparar el entorno

Antes de tocar ningún servicio, hay que dejar funcionando tres cosas: Docker, el emulador y el AWS CLI. Son diez minutos, y una vez hecho no se repite.


Lo que necesitas

RequisitoPor quéCómo comprobarlo
DockerEl emulador y varios servicios corren en contenedoresdocker --version
4 GB de RAM libresPostgreSQL, Redis o Kafka arrancan como contenedores realesfree -h · en Mac, Docker Desktop → Resources
Linux con glibc, macOS o WindowsEl binario del CLI está enlazado a glibc
AWS CLI v2Es el mismo cliente que usarías contra AWS realaws --version

Aviso para quien use Alpine: el CLI de Floci no arranca en Alpine ni en imágenes basadas en musl — devuelve not found aunque el archivo esté ahí. Usa Debian, Ubuntu o Fedora.

Si no tienes el AWS CLI, instálalo sin permisos de administrador:

bash
curl -s "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o awscli.zip
unzip -q awscli.zip
./aws/install -i ~/.local/aws-cli -b ~/.local/bin
export PATH="$HOME/.local/bin:$PATH"

1. Instalar el emulador

bash
curl -fsSL https://floci.io/install.sh | sh

El instalador descarga el binario, verifica su checksum y lo deja en /usr/local/bin/floci. Comprueba que responde:

bash
floci --version

2. Revisar que el entorno esté sano

Antes de arrancar nada:

bash
floci doctor

Diagnostica los problemas típicos —Docker apagado, puerto 4566 ocupado, falta de memoria— y te dice cuál es. Si algo falla más adelante, este es el primer sitio donde mirar.


3. Arrancar

bash
floci start

Descarga la imagen la primera vez, levanta el contenedor y espera a que esté listo. Arranca en milisegundos y consume unos 12 MiB en reposo: es un binario nativo, no una aplicación de escritorio.

Comprueba el estado:

bash
floci status

4. Apuntar el AWS CLI al emulador

Este es el paso que lo cambia todo, y el que más se olvida:

bash
eval $(floci env)

Eso exporta cuatro variables:

bash
export AWS_ENDPOINT_URL=http://localhost.floci.io:4566
export AWS_ACCESS_KEY_ID=test
export AWS_SECRET_ACCESS_KEY=test
export AWS_DEFAULT_REGION=us-east-1

Léelas con calma, porque explican el curso entero:

  • AWS_ENDPOINT_URL es lo único que separa este laboratorio de AWS real. Tus comandos no cambian; cambia a dónde se envían. El día que quites esta variable, los mismos comandos irán a Amazon.
  • test / test son credenciales ficticias. El emulador no las valida, pero el AWS CLI se niega a funcionar sin ellas.
  • localhost.floci.io es un nombre que resuelve a tu propia máquina. Hace falta porque S3 direcciona los buckets como subdominios (mi-bucket.localhost.floci.io), y localhost a secas no admite subdominios.

⚠️ eval $(floci env) vale solo para la terminal actual. Si abres otra, repítelo, o añádelo a tu ~/.bashrc. Muchos de los «no me funciona» del curso son esto: una terminal nueva sin las variables.


5. Comprobar que todo encaja

bash
aws s3 mb s3://mi-primer-bucket
aws s3 ls

Si ves tu bucket en la lista, ya está: tienes AWS funcionando en tu máquina.

make_bucket: mi-primer-bucket
2026-08-08 16:27:50 mi-primer-bucket

Comandos que vas a usar a diario

ComandoPara qué
floci start / floci stopArrancar y parar el emulador
floci statusVer si está vivo y qué versión corre
floci logsLeer los registros — imprescindible cuando algo falla en silencio
floci servicesListar los servicios disponibles
floci doctorDiagnosticar el entorno
floci snapshotGuardar y restaurar el estado del laboratorio

floci snapshot es el que más se agradece al practicar: te permite montar un escenario, hacer un desastre y volver atrás sin repetir todo el montaje.


Antes de seguir

Deja el emulador arrancado y las variables cargadas. Todas las lecciones siguientes dan por hecho que:

  • [ ] floci status responde que está en marcha
  • [ ] aws s3 ls no da error de conexión
  • [ ] Estás en la misma terminal donde ejecutaste eval $(floci env)

Cuando termines de practicar, floci stop libera la memoria. Nada de lo que hagas aquí llega a internet ni genera un céntimo de factura.

Apuntes de AWS con Floci