Amazon CloudFront
Guía del desarrollador (Versión de API 2016-09-29)

¿Qué es Amazon CloudFront?

Amazon CloudFront es un servicio web que acelera la distribución de contenido web estático y dinámico, como archivos .html, .css, .js y de imágenes, a los usuarios. CloudFront entrega el contenido a través de una red mundial de centros de datos denominados ubicaciones de borde. Cuando un usuario solicita contenido que se distribuye con CloudFront, el usuario se redirige a la ubicación de borde que ofrece la mínima latencia (retardo), de modo que el contenido se distribuya con el mejor desempeño posible.

  • Si el contenido ya se encuentra en la ubicación de borde con menor latencia, CloudFront lo entrega inmediatamente.

  • Si el contenido no se encuentra en dicha ubicación de borde, CloudFront lo recupera de un origen que ha definido como, por ejemplo, un bucket de Amazon S3, un canal de MediaPackage o un servidor HTTP (por ejemplo, un servidor web) que se haya identificado como origen de la versión definitiva del contenido.

Por ejemplo, supongamos que distribuye una imagen desde un servidor web tradicional, en lugar de hacerlo desde CloudFront. Por ejemplo, puede distribuir una imagen, sunsetphoto.png, utilizando la URL http://example.com/sunsetphoto.png.

Sus usuarios podrían navegar fácilmente a esta URL y ver la imagen. Pero probablemente no saben que su solicitud se ha dirigido de una red a otra, a través de la compleja colección de redes interconectadas que componen Internet, hasta que se llega a la imagen.

CloudFront agiliza la distribución de su contenido dirigiendo cada solicitud de usuario a través de la red troncal de AWS hasta la ubicación de borde que mejor ofrezca su contenido. Por lo general, se trata de un servidor de borde de CloudFront que proporciona la entrega más rápida al espectador. Utilizando la red de AWS se reduce drásticamente la cantidad de redes que tienen que atravesar las solicitudes de los usuarios, lo que mejora el desempeño. Los usuarios experimentan una menor latencia (el tiempo que se tarda en cargar el primer byte del archivo) y una mayor velocidad de transferencia de datos.

También logra mayor confiabilidad y disponibilidad, ya que las copias de los archivos (también conocidos como objetos) ahora se guardan (o se almacenan en caché) en varias ubicaciones de borde en todo el mundo.

Cómo configurar CloudFront para entregar contenido

Crea una distribución de CloudFront para indicar a CloudFront desde dónde desea entregar el contenido y los detalles acerca de cómo realizar un seguimiento y administrar la entrega de contenido. A continuación, CloudFront utiliza equipos (servidores de borde) que se encuentran próximos a los espectadores para entregar dicho contenido rápidamente cuando alguien quiere verlo o utilizarlo.

 
				Cómo funciona CloudFront

Cómo configurar CloudFront para entregar su contenido

  1. Debe especificar los servidores de origen, como un bucket de Amazon S3 o su propio servidor HTTP, desde el que CloudFront obtiene sus archivos que después se distribuirán desde ubicaciones de borde de CloudFront de todo el mundo.

    Un servidor de origen almacena la versión original y definitiva de sus objetos. Si ofrece contenido a través de HTTP, su servidor de origen es un bucket de Amazon S3 o un servidor HTTP, como un servidor web. Su servidor HTTP puede ejecutarse en una instancia Amazon Elastic Compute Cloud (Amazon EC2) o en un servidor que administre; estos servidores también se conocen como orígenes personalizados.

    Si utiliza el protocolo RTMP de Adobe Media Server para distribuir archivos multimedia bajo demanda, su servidor de origen es siempre un bucket de Amazon S3.

  2. Cargue sus archivos en sus servidores de origen. Sus archivos, también conocidos como objetos, suelen ser páginas web, imágenes y archivos multimedia, pero puede ser cualquier otra cosa que pueda ofrecerse a través de HTTP o una versión compatible de Adobe RTMP, el protocolo de Adobe Flash Media Server.

    Si utiliza un bucket de Amazon S3 como servidor de origen, puede hacer que los objetos del bucket sean legibles públicamente para que cualquiera que conozca las URL de CloudFront de sus objetos pueda obtener acceso a ellos. También puede mantener los objetos privados y controlar quién obtiene acceso a ellos. Consulte Distribución de contenido privado con URL firmadas y cookies firmadas.

  3. Cree una distribución de CloudFront que indique a CloudFront desde qué servidores de origen obtener los archivos cuando los usuarios los soliciten archivos a través de su aplicación o sitio web. También debe especificar detalles como si desea que CloudFront registre todas las solicitudes y que la distribución esté habilitada tan pronto como se crea.

  4. CloudFront asigna un nombre de dominio a su nueva distribución que puede ver en la consola de CloudFront o que se devuelve en respuesta a una solicitud programada, por ejemplo, una solicitud de API.

  5. CloudFront envía la configuración de su distribución (pero no el contenido) a todas sus ubicaciones de borde, conjuntos de servidores en centros de datos dispersos geográficamente, en los que de CloudFront almacena en caché las copias de los objetos.

A medida que desarrolle su sitio web o aplicación, utilice el nombre de dominio que CloudFront ofrece para sus URL. Por ejemplo, si CloudFront devuelve d111111abcdef8.cloudfront.net como el nombre de dominio de la distribución, la URL de logo.jpg en su bucket de Amazon S3 (o en el directorio raíz de un servidor HTTP) sería http://d111111abcdef8.cloudfront.net/logo.jpg.

O puede configurar su distribución de CloudFront para usar su propio nombre de dominio. En ese caso, la URL sería http://www.example.com/logo.jpg.

También puede configurar su servidor de origen para añadir encabezados a los archivos, para indicar el tiempo durante el que desea que los archivos se mantengan en la caché en las ubicaciones de borde de CloudFront. De forma predeterminada, cada uno de los objetos permanece en una ubicación de borde durante 24 horas antes de caducar. El tiempo de vencimiento mínimo es de 0 segundos y no hay límite máximo. Para obtener más información, consulte Administración de cuánto tiempo se mantiene el contenido en una caché perimetral (Vencimiento).