Web estática con S3.¶
- Vamos a generar una web estática que se almacenará en un S3.
¿Qué es una web estática?
Son páginas que son totalmente idénticas para todos los usuarios. Solo se modifica si el desarrollador edita.
Crear el S3 (Bucket).¶
- Elige un nombre único en todo AWS para tu bucket.
- Permite el tráfico público.
- Activa el versionado.
Establece la página estática.¶
- Accede a tu bucket y dentro a la pestaña propiedades.
-
Activa la opción de "Static website hosting" o "Alojar un sitio web estático".
💥 La página inicial se llamará index.html.
-
Accede a la web desde el enlace una vez activada la opción.
Sube los ficheros de la página web estática a tu S3.¶
Desde la página principal de nuestro bucket en la pestaña Objetos podemos arrastrar la web.
La web estática la podéis descargar del Aules.
Generamos Políticas de Seguridad.¶
-
Dentro del Bucket accedemos a Permisos ➡️ Política de Bucket.
-
Vamos a usar el Generador de Políticas para que nos ayude a confeccionar la medida de seguridad.
💥 Es importante que tengamos en cuenta el ARN de nuestro Bucket.
ARN.
Generador de Políticas.
Vamos a generar una política que permita a los clientes ver nuestra página pero que no puedan borrar/modificar/crear recursos en el S3.
-
Principal: Indica los usuarios que podrán acceder a la página.
💥 Con * permitimos cualquier usuario.
-
Actions: Qué acciones permitimos hacer a los usuarios.
💥 Con GetObject sólo les permitimos leer.
-
ARN: Indica dentro del bucket a qué recursos se aplica esta regla.
💥 Con arn:aws:s3:::mi-cafe-web-cloud/* estamos haciendo referencia a todos los obetos del bucket.
-
Conditions: Podemos agregar condiciones, por ejemplo limitar el acceso por IP.
Recuerda pinchar en add statement para agregar la regla.
- Una vez generada la política debemos copiarla y pegarla en la pestaña de políticas.
Recuerda guardar los cambios para que se apliquen.
Activar las versiones en S3.¶
- Al activar las versiones se crearán diferentes objetos de otro al ser modificados. Esto nos permitirá volver a restaurar una versión anterior de un archivo.
Coste del Versionado.
Restauración Automática.¶
Vamos a crear una versión de un fichero y luego borrar el último y ver como automáticamente la versión que le precede toma su lugar.¶
1️⃣ Edita el fichero index.html con un bloc de notas. Por ejemplo Cambia el nombre de Javier.
2️⃣ Sube el fichero al bucket, sobrescribiendo el que había subido. Comprueba en la web que el cambio se ha realizado con éxito.
3️⃣ Comprueba dentro de aws, es decir haciendo click sobre el propio index.html que efectivamente tenemos dos objetos.
4️⃣ Elimina la última versión del index.html subido. Comprueba en la web que el cambio se ha revertido automáticamente.
Gestión de Versiones.¶
En los siguientes apartados vamos a crear ciclos de vida para las versiones.
1. Crea una política para transferir las versiones más antiguas (30 días) a tipos de S3 más económicos.¶
- Debe aplicarse a todos los elementos del S3.
- Debe transferir las versiones desactualizadas, no a la que está en producción.
- Pasados 30 días deben transferirse a un S3 Estándar de acceso poco frecuente (IA).
Si dejamos las versiones vacías afectará a todas las versiones del bucket.
2. Crea una política para eliminar las versiones pasadas 200 días, excepto la última versión.¶
- Debe aplicarse a todos los elementos del S3.
- Deben eliminarse pasados 200 días, a excepción de la versión más reciente que debe mantenerse.
Si en el apartado de versiones ponemos un 1, quiere decir que esta regla no afectará a la última versión creada (la más reciente).
Réplicas entre Buckets.¶
Creación de Bucket de Backup.
Para este apartado tendréis que volver a crear otro bucket auxiliar que debe cumplir lo siguiente:
- Debe encontrarse en la región de Oregón - us-west-2.
- Debe tener las versiones habilitadas.
- Debe poder accederse de forma pública.
- Nuestro Rol se llama LabRole
- Vamos a crear una réplica automática en otro S3 de otra región de AWS.
- Debe afectar a todos los objetos del bucket.
- Se debe seleccionar un bucket auxiliar creado previamente.
Al finalizar indicarle que NO replique los ficheros existentes.
Comprobación del funcionamiento.¶
- Vuelve a modificar el fichero index.html y subirlo al bucket oficial.
- Pasado unos minutos en el apartado de objetos del bucket auxiliar debería aparecer dicho fichero replicado.