Servicios web de Amazon: CloudFront
CloudFront es un CDN (Content Delivery Network). Recupera datos del bucket de Amazon S3 y los distribuye a varias ubicaciones de centros de datos. Entrega los datos a través de una red de centros de datos denominadaedge locations. La ubicación de borde más cercana se enruta cuando el usuario solicita datos, lo que resulta en la latencia más baja, bajo tráfico de red, acceso rápido a los datos, etc.
¿Cómo AWS CloudFront entrega el contenido?
AWS CloudFront entrega el contenido en los siguientes pasos.
Step 1 - El usuario accede a un sitio web y solicita un objeto para descargar como un archivo de imagen.
Step 2 - DNS enruta su solicitud a la ubicación de borde de CloudFront más cercana para atender la solicitud del usuario.
Step 3- En la ubicación del borde, CloudFront comprueba su caché en busca de los archivos solicitados. Si lo encuentra, lo devuelve al usuario; de lo contrario, hace lo siguiente:
Primero, CloudFront compara la solicitud con las especificaciones y la reenvía al servidor de origen correspondiente para el tipo de archivo correspondiente.
Los servidores de origen envían los archivos a la ubicación de borde de CloudFront.
Tan pronto como llega el primer byte del origen, CloudFront comienza a reenviarlo al usuario y agrega los archivos a la caché en la ubicación del borde para la próxima vez que alguien vuelva a solicitar el mismo archivo.
Step 4- El objeto ahora está en una caché perimetral durante 24 horas o durante el tiempo proporcionado en los encabezados de los archivos. CloudFront hace lo siguiente:
CloudFront reenvía la siguiente solicitud del objeto al origen del usuario para verificar que la versión de la ubicación de borde esté actualizada o no.
Si se actualiza la versión de ubicación perimetral, CloudFront se la entrega al usuario.
Si la versión de la ubicación de borde no se actualiza, el origen envía la última versión a CloudFront. CloudFront entrega el objeto al usuario y almacena la última versión en la caché en esa ubicación de borde.
Características de CloudFront
Fast- La amplia red de ubicaciones de borde y CloudFront almacena en caché copias de contenido cerca de los usuarios finales, lo que resulta en una disminución de la latencia, altas tasas de transferencia de datos y bajo tráfico de red. Todo esto hace que CloudFront sea rápido.
Simple - Es fácil de usar.
Can be used with other AWS Services - Amazon CloudFront está diseñado de tal manera que se puede integrar fácilmente con otros servicios de AWS, como Amazon S3, Amazon EC2.
Cost-effective - Con Amazon CloudFront, pagamos solo por el contenido que entrega a través de la red, sin cargos ocultos ni tarifas iniciales.
Elastic- Con Amazon CloudFront, no debemos preocuparnos por el mantenimiento. El servicio responde automáticamente si se necesita alguna acción, en caso de que la demanda aumente o disminuya.
Reliable - Amazon CloudFront se basa en la infraestructura altamente confiable de Amazon, es decir, sus ubicaciones de borde redirigirán automáticamente a los usuarios finales a la siguiente ubicación más cercana, si es necesario en algunas situaciones.
Global - Amazon CloudFront utiliza una red global de ubicaciones de borde ubicadas en la mayoría de las regiones.
¿Cómo configurar AWS CloudFront?
AWS CloudFront se puede configurar mediante los siguientes pasos.
Step 1 - Inicie sesión en la consola de administración de AWS mediante el siguiente enlace - https://console.aws.amazon.com/
Step 2- Sube Amazon S3 y elige todos los permisos públicos. (En el capítulo 14 se analiza cómo subir contenido al bucket de S3)
Step 3 - Cree una distribución web de CloudFront mediante los siguientes pasos.
Abra la consola de CloudFront mediante el siguiente enlace: https://console.aws.amazon.com/cloudfront/
Haga clic en el botón Comenzar en la sección web de Seleccione un método de entrega para su página de contenido.
Create Distributionse abre la página. Elija el bucket de Amazon S3 creado en el nombre de dominio de origen y deje los campos restantes como predeterminados.
Se abre la página Configuración de comportamiento de caché predeterminada. Mantenga los valores por defecto y pase a la página siguiente.
Se abre una página de configuración de distribución. Complete los detalles según sus requisitos y haga clic en el botón Crear distribución.
La columna Estado cambia de En curso a Implementado. Habilite su distribución seleccionando la opción Habilitar. El nombre de dominio tardará unos 15 minutos en estar disponible en la lista de Distribuciones.
Prueba los enlaces
Después de crear la distribución, CloudFront conoce la ubicación del servidor Amazon S3 y el usuario conoce el nombre de dominio asociado con la distribución. Sin embargo, también podemos crear un enlace al contenido del bucket de Amazon S3 con ese nombre de dominio y hacer que CloudFront lo sirva. Esto ayuda a ahorrar mucho tiempo.
Los siguientes son los pasos para vincular un objeto:
Step 1- Copie el siguiente código HTML en un archivo nuevo y escriba el nombre de dominio que CloudFront asignó a la distribución en el lugar del nombre de dominio. Escriba un nombre de archivo del bucket de Amazon S3 en lugar de object-name.
<html>
<head>CloudFront Testing link</head>
<body>
<p>My Cludfront.</p>
<p><img src = "http://domain-name/object-name" alt = "test image"/>
</body>
</html>
Step 2 - Guarde el texto en un archivo con .html extensión.
Step 3- Abra la página web en un navegador para probar los enlaces y ver si funcionan correctamente. Si no es así, verifique la configuración.