Introducción
Crea un bucket privado, sube imágenes y proyectos, recupera una copia idéntica y limpia tus recursos.
Completa antes los laboratorios anteriores del portafolio. Este laboratorio proporciona sus propios recursos y las capacidades de las etapas previas. Conserva conocimientos, no servidores, archivos ni credenciales anteriores.
Relación con la certificación
| Certificación | Tareas | Práctica |
|---|---|---|
| AWS Certified Cloud Practitioner (CLF-C02) | Task 3.6 | Usar almacenamiento de objetos S3 separado del cómputo EC2. |
Vista general

Crea almacenamiento privado
En este paso, crearás un bucket privado para los materiales y aplicarás su protección frente al acceso público.
EC2 ejecuta el sitio. Amazon S3 guarda archivos como objetos en un bucket, un contenedor de almacenamiento con nombre. Así separas los materiales del servidor. Este laboratorio proporciona un sitio nuevo y archivos locales; tú crearás el bucket.
Entra en la carpeta preparada:
cd /home/labex/project
Carga los identificadores y muestra el nombre del bucket:
source website.env
echo "$PORTFOLIO_BUCKET"
PORTFOLIO_BUCKET es el nombre único del ejercicio; aún no existe el bucket. S3 exige nombres únicos, así que utiliza el proporcionado y no uno común como portfolio.
Los comandos s3 facilitan operaciones con archivos. mb crea un bucket y s3:// identifica una ubicación S3:
aws s3 mb "s3://$PORTFOLIO_BUCKET"
Espera una confirmación make_bucket. La conexión usa us-east-1, la Region del nuevo bucket. Busca su nombre en AWS View.
El almacenamiento nuevo es privado por defecto. Block Public Access protege frente a permisos públicos accidentales. Lee el JSON proporcionado: sus cuatro ajustes deben ser true:
cat private-access.json
Cada true activa una protección. Los comandos s3api exponen operaciones concretas, incluidos ajustes de acceso. Como con launch.json, file:// lee la configuración local sin introducir cada valor por separado:
aws s3api put-public-access-block \
--bucket "$PORTFOLIO_BUCKET" \
--public-access-block-configuration file://private-access.json
Una actualización correcta devuelve el indicador sin salida. Lee los ajustes de S3 para comprobar que se guardaron:
aws s3api get-public-access-block --bucket "$PORTFOLIO_BUCKET"
Confirma cuatro valores true y No objects en AWS View. El bucket de referencia guarda keep.txt, datos ajenos al ejercicio; déjalo intacto. Tu bucket está listo para los materiales.
Sube y recupera los materiales
En este paso, guardarás tres portadas y la lista de proyectos, recuperarás AURA y compararás sus bytes con el original.
portfolio-assets/ contiene cuatro archivos. WebP es un formato de imagen; projects.json contiene títulos, descripciones y referencias a imágenes. El sitio y el diseño están preparados para que te centres en almacenamiento.
| Archivo | Uso en el sitio |
|---|---|
images/aura-brand.webp |
AURA |
images/forma-chair.webp |
FORMA |
images/echo-record.webp |
ECHO |
projects.json |
Títulos, descripciones y referencias |
La key es el nombre del objeto en el bucket. images/aura-brand.webp tiene el prefijo images/, no una carpeta real en S3. cp copia archivos y --recursive copia todos los del directorio conservando las rutas relativas como keys:
aws s3 cp portfolio-assets/ "s3://$PORTFOLIO_BUCKET/" --recursive
Espera cuatro líneas upload. Lista después los objetos con s3 ls; --recursive incluye las keys bajo images/:
aws s3 ls "s3://$PORTFOLIO_BUCKET/" --recursive
Las cuatro líneas muestran fecha, tamaño y key. Confirma las tres imágenes y projects.json; no importa el orden ni la fecha exacta. AWS View muestra los mismos nombres.

Invierte la copia para recuperar AURA con otro nombre local:
aws s3 cp "s3://$PORTFOLIO_BUCKET/images/aura-brand.webp" downloaded-aura.webp
cmp compara bytes. Compara el original con el archivo recuperado:
cmp portfolio-assets/images/aura-brand.webp downloaded-aura.webp
Sin salida y con el indicador de vuelta, los archivos coinciden. Guardaste y recuperaste la portada sin cambios. Si difieren, comprueba la key y vuelve a subir el original.
El almacenamiento privado está completo. El sitio aún lee sus archivos locales: subir a S3 no cambia la página. El siguiente laboratorio empieza de nuevo con materiales equivalentes almacenados y enseña a dar permiso de lectura a la aplicación.
Resumen
Creaste almacenamiento S3 privado, aplicaste protección pública, subiste tres portadas y una lista y recuperaste una copia idéntica. Distinguiste los objetos almacenados de la aplicación que los utilizará.
Referencias oficiales: S3 objects, AWS CLI S3 file commands, Block Public Access.



