Guarda materiales del portafolio en S3

AWSBeginner
Practicar Ahora

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 un bucket privado, sube imágenes y proyectos, recupera una copia idéntica y limpia tus recursos.

Crea almacenamiento privado

En este paso, crearás un bucket y bloquearás acceso público. EC2 ejecuta la aplicación; S3 guarda archivos como objetos dentro de buckets, evitando una única copia en el servidor.

Entra en la carpeta preparada.

cd /home/labex/project

Carga y muestra PORTFOLIO_BUCKET: es un nombre único preparado, pero el bucket aún no existe. En AWS los nombres deben ser únicos globalmente dentro de una partición.

source website.env
echo "$PORTFOLIO_BUCKET"

s3 mb crea el bucket y s3:// identifica una ubicación S3. La conexión usa us-east-1.

aws s3 mb "s3://$PORTFOLIO_BUCKET"

Lee private-access.json: los cuatro valores true activan Block Public Access para evitar permisos públicos accidentales.

cat private-access.json

s3api permite aplicar esta configuración con una operación directa.

aws s3api put-public-access-block --bucket "$PORTFOLIO_BUCKET" --public-access-block-configuration file://private-access.json

Lee el ajuste guardado para confirmar los cuatro true.

aws s3api get-public-access-block --bucket "$PORTFOLIO_BUCKET"

AWS View debe mostrar tu bucket sin objetos. Conserva el bucket de referencia y su keep.txt. El almacenamiento nuevo es privado por defecto; estos ajustes añaden protección frente a ACL o políticas públicas.

Sube y recupera materiales

En este paso, guardarás los cuatro archivos preparados del sitio: images/aura-brand.webp, images/forma-chair.webp, images/echo-record.webp y projects.json. WebP es un formato de imagen. El JSON aporta textos y referencias a las imágenes de los paneles. El código, la fuente y Tailwind compilado ya están preparados.

cp con --recursive copia todos los archivos dentro de portfolio-assets/. Sus rutas relativas se convierten en Keys: images/ es un prefijo de nombre, no una carpeta real en S3. Espera cuatro líneas upload.

aws s3 cp portfolio-assets/ "s3://$PORTFOLIO_BUCKET/" --recursive

Lee Contents y confirma exactamente las cuatro Keys; AWS View debe mostrar las mismas.

aws s3api list-objects-v2 --bucket "$PORTFOLIO_BUCKET"

Invierte la dirección para descargar la portada AURA con otro nombre local.

aws s3 cp "s3://$PORTFOLIO_BUCKET/images/aura-brand.webp" downloaded-aura.webp

cmp compara los bytes de la original y la descargada; si coinciden no muestra salida.

cmp portfolio-assets/images/aura-brand.webp downloaded-aura.webp

El almacenamiento privado está completo. El sitio sigue usando sus materiales locales. En el próximo laboratorio darás permiso al sitio para leer las tres imágenes y la lista de S3; no hagas público el bucket.

Punto de control real del laboratorio; tus identificadores pueden ser diferentes.

Limpia solo tus recursos

En este paso, quitarás los dos objetos y el bucket vacío, y terminarás el servidor.

rm --recursive elimina los cuatro objetos del bucket propio que acabas de inspeccionar. No sustituyas su nombre por el de referencia.

aws s3 rm "s3://$PORTFOLIO_BUCKET/" --recursive

rb elimina ese bucket cuando está vacío.

aws s3 rb "s3://$PORTFOLIO_BUCKET"

Muestra el ID del servidor.

echo "$INSTANCE_ID"

Termina solo esa instancia.

aws ec2 terminate-instances --instance-ids "$INSTANCE_ID"

Espera terminated.

aws ec2 wait instance-terminated --instance-ids "$INSTANCE_ID"

Tu bucket debe desaparecer y keep.txt debe permanecer. Conserva la red; los próximos laboratorios no necesitan estos recursos.

Resumen

Creaste almacenamiento privado, subiste y recuperaste materiales y preservaste los datos ajenos al limpiar.

Referencias oficiales: S3 objects, AWS CLI S3 file commands, Block Public Access.