Cómo alojar un sitio web estático en AWS

Imagina que necesitas crear una sencilla página web estática para un proyecto. Por ejemplo, digamos, para la carta de menú de un restaurante que luego se enlazará mediante un código QR para que sus clientes puedan consultar el menú desde sus móviles sin necesidad de una carta física. ¿Qué me dirías si te dijese que puedes alojar el proyecto a un coste cero usando la capa de servicios de Amazon?

Hasta no hace mucho, crear un sitio web solía ser un esfuerzo costoso y laborioso. Para comenzar, pensar en el registro del nombre de dominio, dónde se iba a alojar el sitio web y su precio, importante también, realizar la configuración DNS, la edición del código, etc. Cosas que dificultaban y consumían mucho tiempo para crear un sitio web desde cero. Afortunadamente, esos días terminaron, ya que empresas como Amazon ahora ofrecen una funcionalidad integral cuando se trata de crear y mantener un sitio web.

Amazon ofrece un conjunto completo de herramientas para la gestión de sitios web. De hecho, la mayoría de estas herramientas están disponibles en el nivel gratuito de 12 meses de Amazon, lo que significa que podemos crear un sitio web desde cero sin dinero por adelantado. Lo único que tendremos que pagar es por nuestro nombre de dominio, algo que podemos contratar por separado a cualquier otro proveedor.

En este artículo, cubriremos los siguientes aspectos de la creación de un sitio web:

  • Alojar los activos del sitio web utilizando Amazon S3.
  • Como reducir la latencia y aumentar las velocidades de transferencia aprovechando AWS CloudFront.
  • Registrar un dominio* y redirigirlo a CloudFront.

*. Adquirir un dominio puede acarrear un pequeño coste adicional.

Cómo alojar un sitio web en Amazon S3

Lo primero es lo primero, el alojamiento. Esto es importante, pues será aquí donde vamos a almacenar los archivos que compondrán nuestro sitio web (html, imágenes, etc). Para ello usaremos los servicios S3 de Amazon. Debemos registrarnos primero, si no lo hemos hecho ya. Durante el proceso se nos preguntará por una serie de datos, entre los que se incluyen los datos de nuestra tarjeta VISA/Mastercard para verificar nuestra identidad. No se cargará ningún cargo mientras no superemos los límites de la cuenta gratuita.

Con la capa gratuita de AWS, obtenemos 5 GB de almacenamiento con 20000 solicitudes de obtención y 2000 de colocación sin cargo. Esto debería ser más que suficiente para muchos pequeños proyectos.

Una vez terminemos el registro estaremos listos para el siguiente paso. En la consola buscamos S3, la solución de almacenamiento de objetos de Amazon que usaremos.

Aquí debemos ingresar el nombre de nuestro proyecto, especificar la región por defecto y hacer clic en Siguiente.

Existen otras opciones como el registro de acceso o el control de versiones. En principio no las necesitamos.

El paso importante es el siguiente paso, en donde debemos especificar los permisos necesarios. Es importante seleccionar "Grant public read access to this bucket" en el menú desplegable de permisos públicos. De lo contrario, será imposible acceder a los contenidos del sitio web que se encuentran en este espacio.

Luego de esto, accederemos a un resumen de las propiedades y los permisos del depósito, si todo es correcto, podremos hacer clic en Crear depósito para continuar.

Tras unos minutos ya podremos acceder a nuestro espacio creado.

Desde aquí podemos cargar los activos que compondrán nuestra web. En nuestro caso, podemos simplemente agregar un archivo index.html y una imagen para alojar una página estática simple.

Y ya casi lo tenemos. Nuestro alojamiento ya está listo y podemos acceder a los activos desde cualquier lugar. Simplemente haciendo clic en el archivo HTML. Deberíamos poder ver la página web que hemos subido. En realidad no necesitamos hacer nada más si solo queremos tener un sitio donde alojar nuestras cosas, pudiendo obtener un dominio en otro proveedor para que, apuntando a nuestro “hosting gratuito de Amazon” sea accesible para todo el mundo.

Aprovechamiento de Amazon CloudFront

Amazon CloudFront es un servicio de red de entrega de contenido global (CDN) que entrega datos de forma segura a sus usuarios con baja latencia y altas velocidades de transferencia. CloudFront entrega contenido a través de una red mundial de centros de datos. Cuando un usuario solicita contenido que está sirviendo con CloudFront, el usuario se enruta a la ubicación que proporciona la latencia más baja, para que el contenido se entregue con el mejor rendimiento posible.

En nuestro caso posiblemente no lo necesitemos, pero sí es bueno saber que existe y que podemos hacer un uso gratuito de esta funcionalidad.

Si queremos hacer uso de CloudFront solo tenemos que seleccionarlo desde  la barra de búsqueda de la consola de AWS.

La siguiente pantalla nos lleva al panel de configuración. En este artículo no voy a explicar todos los aspectos de configuración porque el artículo podría alcanzar una extensión bíblica. Si quieres saber más te recomiendo revisar la documentación oficial disponible en Amazon.

Para crear una distribución de CloudFront para asegurarnos que los activos de nuestro sitio web sean accesibles desde cualquier lugar, rápidamente debemos hacer clic en Crear distribución.

El siguiente paso es uno de los más complicados. Aquí, se especifica la configuración de origen de la distribución, la configuración de comportamiento de la caché predeterminada y la configuración de distribución general. Pero lo importante es que debemos configurar las siguientes opciones esenciales:

  • Nombre de dominio de origen. Este es el depósito de origen que contiene todos los datos. Una vez que empiece a escribir el nombre del depósito, Amazon le sugerirá automáticamente la opción correcta.
  • Nombres de dominio alternativos (CNAME). Por si desea utilizar subdominios para acceder a su sitio web.
  • Objeto raíz predeterminado. En este punto, exigimos a los usuarios que especifiquen la página de índice a donde serán redirigidos automáticamente. Por ejemplo index.html
  • IPv6. Es más fácil si deshabilitamos IPv6 por ahora.

Nota: Con la capa gratuita de AWS, tendremos 50 GB de transferencia de datos y 2.000.000 de solicitudes HTTP y HTTPS de Amazon CloudFront sin cargo durante 12 meses.

Registro de un dominio mediante AWS Route 53

Lo comentamos antes. Es posible asociar un dominio a nuestro espacio web. Amazon Route 53 sirve para poder echarnos una mano con esta tarea. En realidad Route 53 realiza tres funciones principales:

  • Registro de nombres de dominio
  • Enrutar el tráfico de Internet a los recursos de su dominio
  • Comprobando la salud de sus recursos.

Del mismo modo que hemos hecho hasta ahora podemos acceder al servicio AWS Route 53.

Aquí podemos registrar nuestro dominio o transferir uno existente.

Ahora necesita crear un conjunto de registros que enrutará el tráfico de Internet a CloudFront. Para ello haremos clic en Crear conjunto de registros.

Ahora, especifique los siguientes parámetros:

  • Name. Ingresa el nombre de dominio que se usará para enrutar el tráfico a su distribución de CloudFront. En este ejemplo, escribiremos test;
  • Type.  A - dirección IPv4;
  • Alias. yes;
  • Alias Target. Aquí indicaremos el nombre de nuestra cuenta en CloudFront;
  • Routing Policy: Simple;
  • Evaluate Target Health: No.

Una vez aceptados los cambios, tendremos que esperar unos minutos hasta que el tráfico quede finalmente enrutado. Puede tardar, pero si todo es correcto, en breve podremos usar nuestro dominio para acceder a nuestro contenido.

Conclusión

Crear y mantener un sitio web con AWS es una tarea muy sencilla. Además podemos registrar ahí mismo nuestro nombre de dominio o habilitar un servicio CDN para garantizar tiempos de carga rápidos.

Esto nos permitirá no solo evaluar el servicio, también sacar algo de provecho de sus funcionalidades, y lo mejor de todo, gratis ;)

 

 

 

Tags

AWS