CloudFront – Redes de Distribución de Contenido o CDNs

CloudFront es el servicio de Amazon AWS para crear una red de contenido distribuido. Por ejemplo, tenemos un sitio WEB al que acceden desde muchas partes del mundo. Si nuestra página WEB está ubicada en servidores de Irlanda, un australiano tendrá que conectarse a Irlanda, con la consecuente pérdida de tiempo entre el tráfico de ida y vuelta.

En este caso, nos interesaría replicar nuestro contenido a una red de distribución en Australia, para mejorar los tiempos de acceso a nuestra página para los internautas australianos.

Para poder construir una red de distribución, hay que entender los siguientes conceptos:

  • UL – Ubicación límite: Es la ubicación donde nuestro contenido será almacenado en caché.
  • Origen: Desde dónde distribuiremos los datos (contenedor S3, instancia EC2, balanceador de carga o DNS).
  • Distribución: El nombre que le damos a la colección de ubicaciones límite.

Actualmente, Amazon tiene más de 50 ubicaciones límite repartidas por el mundo pero se van añadiendo más periódicamente. Podemos consultarlas en este enlace

5450 Cloudfront Map v7
Infraestructura de Amazon CloudFront

¿Cómo funciona una red de distribución de contenido?

Si asumimos que ya tenemos configurada nuestra red de distribución, un usuario de Australia se conectará a la ubicación límite más cercana desde donde solicitará el contenido. El primer usuario que realice la petición no notará ninguna mejora de rendimiento, pero los sucesivos sí porque éste ya se habrá descargado y almacenado en el caché de la ubicación límite.

El contenido quedará almacenado en caché durante el tiempo que hayamos configurado en el TTL (Time To Live).

Cloudfront Esquema de funcionamiento

Creación de una red de distribución de contenido

Como siempre, vamos a la consola de AWS y, en este caso, vamos a CloudFront.

Cloudfront Acceso
Cloudfront Crear 1

Para este ejemplo, utilizaremos una distribución WEB:

Cloudfront Crear 2

Distribuiremos el contenido del contenedor S3 que creamos anteriormente:

Cloudfront Crear 3
Cloudfront Crear 4
Cloudfront Crear 5
Cloudfront Crear 6
Cloudfront Crear 7
Cloudfront Crear 8

Los datos más relevantes del formulario anterior son:

  • Origin path: Podemos distribuir solamente un directorio o un archivo del contenedor S3.
  • TTL: Expresado en segundos. Por defecto, nuestro contenido permanecerá en caché 86400 segundos (24h), dependiendo del uso de los objetos.
  • Alternate Domain CNAMES: La URL por defecto que crea la CDN es compleja. Este campo sirve para personalizarla. Por ejemplo, cdn.miweb.com.
  • Restrict Viewer Access: Podemos restringir nuestro contenido a unas URLs o coockies concretas. Por ejemplo, para que solamente nuestros empleados puedan acceder al contenido.

Un vez que le damos al botón “Create Distribution”, esperamos unos 10 minutos a que se cree la CDN.

Una vez creada, podemos ver el nombre de dominio:

Cloudfront Nombre de dominio

He modificado los permisos del contenedor para hacerlo de acceso público, así podemos comprobar como el contenido del contenedor y del CDN es exactamente el mismo:

Cloudfront Accesible al publico
Cloudfront Accesible al publico 2

Comentar que podemos configurar diferentes orígenes para esta distribución CDN:

Cloudfront Origenes 1
Cloudfront Origenes 2

Podemos configurar expresiones regulares:

Cloudfront Expresiones regulares

O restringir contenido basándonos en el área geográfica de acceso:

Cloudfront Restringir area geografica

También puedes utilizar un servicio externo a Amazon para crear redes de distribución de contenido como, por ejemplo, CloudFlare o KeyCDN.

COMPÁRTEME

Deja un comentario