Tutoriales de Amazon CloudFront: configuración de una distribución de contenido dinámico para Amazon S3

Cómo configurar una distribución de Amazon CloudFront para Amazon S3

Amazon CloudFront funciona a la perfección con Amazon Simple Storage Service (Amazon S3) para acelerar la entrega del contenido web y reducir la carga en los servidores de origen. Amazon S3 es una excelente opción para quienes desean almacenar datos en la nube y entregarlos como contenido web. Si prefiere ofrecer funcionalidad o contenido dinámico, consulte cómo configurar una distribución de Amazon CloudFront para Amazon Elastic Compute Cloud (Amazon EC2).

Vea esta demostración de AWS TechTips para aprender a configurar una distribución de CDN de Amazon CloudFront con su

¿Cuáles son los beneficios de configurar una distribución de Amazon CloudFront con Amazon S3?

La distribución de la red de entrega de contenido (CDN) de Amazon CloudFront ofrece a los usuarios de S3 muchos beneficios.

Velocidades rápidas de transferencia de datos

CloudFront le permite ofrecer su contenido con rapidez a espectadores de todo el mundo. Las numerosas ubicaciones periféricas de CloudFront almacenan en caché y entregan el contenido más cerca de los usuarios, lo que reduce la latencia y la capacidad de descarga del servidor de origen.

Seguridad y rendimiento mejorados

CloudFront también restringe el acceso a su bucket de S3. Al permitir que los puntos de conexión de CloudFront solo den acceso a su contenido, sus aplicaciones serán más seguras y responderán mejor.

Transferencias de datos rentables

Los precios de CloudFront le permiten personalizar la entrega según su presupuesto. AWS no cobra por las transferencias de datos entre un origen alojado en AWS, como S3 y CloudFront, por lo que las búsquedas en origen son una opción rentable.

Cómo acelerar la velocidad de carga de contenido dinámico con CloudFront y S3

Paso 1. Ir a la consola de AWS

Para empezar, inicie sesión en la consola de administración de AWS y seleccione Amazon S3 en la lista de servicios. 

Paso 2. Crear un bucket de Amazon S3

A partir de ahí, puede hacer lo siguiente:

  • Cree un depósito de S3 si aún no lo tiene; para ello, seleccione Crear bucket.
  • Especifique un nombre de bucket compatible con DNS.
  • Seleccione la región en la que desea que se ubique el bucket.

A continuación, puede crear el bucket. Con la consola o las API de S3, puede agregar más archivos al bucket o crear nuevos buckets, si lo desea. Cuando se crea inicialmente un bucket de S3, se tarda algún tiempo en propagar el cambio de nombre de DNS, normalmente hasta 15 minutos.

Paso 3. Crear una distribución de CloudFront

A continuación, vaya a CloudFront desde la sección Redes y entrega de contenido de la lista de servicios de consola de AWS. Si ya ha abierto CloudFront, es posible que también esté en su historial para acceder a esta opción con mayor rapidez. Desde aquí, puede hacer clic en Crear distribución para crear una nueva distribución web.  

Paso 4. Especificar la configuración de distribución

Ahora, puede empezar a ingresar la configuración de distribución. Para comenzar, especifique el dominio S3 que creó en el campo Nombre de dominio de origen.  

Paso 5. Configurar el origen

Ingrese el Nombre de dominio de origen. Si creó el bucket de S3 en la misma cuenta de AWS, debería aparecer en una lista desplegable dentro del campo. Si está en una cuenta diferente, compruebe la configuración del bucket para conceder permisos de acceso a CloudFront.

La concesión de permisos de acceso permite a CloudFront leer los objetos del bucket. También puede especificar una ruta de origen si coloca todos los objetos en una subcarpeta.

Paso 6. Configurar la identidad de acceso de origen

Desde aquí, puede restringir el acceso a su origen de Amazon S3. Si selecciona Sí, el sistema le pedirá que cree una identidad de acceso de origen o que seleccione una existente, lo que permitirá a CloudFront leer los objetos del bucket. También tiene la opción de permitir que CloudFront actualice la política de buckets en su nombre.

Si decide no restringir el acceso, es posible que los usuarios puedan omitir CloudFront y acceder a su contenido directamente a través de la URL del bucket de S3. Para cualquier contenido privado o confidencial, es importante establecer las restricciones de acceso correctas.

En esta sección, también puede especificar una Ruta de origen si almacena todos los objetos en una subcarpeta. Puede proporcionar un Encabezado personalizado de origen con un valor específico que CloudFront reenviará al origen en cada solicitud. Esto es útil para orígenes personalizados, ya que muestra qué solicitud proviene de CloudFront en lugar de otro cliente.

Paso 7. Configurar el comportamiento predeterminado de la caché

A continuación, tiene varias opciones en Configuración de comportamiento de caché predeterminada.

La política de protocolo de espectador le permite elegir cómo gestionar los protocolos HTTP y HTTPS. Puede seleccionar Redirigir solicitudes HTTP a HTTPS, por ejemplo, lo que le permitirá admitir solicitudes que utilicen cualquiera de los protocolos. También puede especificar que se admita Solo HTTPS, en cuyo caso se interrumpiría el tráfico HTTP. Esto garantiza que cumpla con las prácticas recomendadas de seguridad web.

CloudFront le permite especificar los métodos HTTP que desea que acepte. La configuración predeterminada es GET, HEAD. Al seleccionar cualquiera de las otras opciones (GET, HEAD, OPTIONS o GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE), podrá configurar la forma en que CloudFront almacena en caché el método de opciones.

A continuación, puede especificar qué encabezados HTTP desea reenviar a su origen. Por lo general, se recomienda permitir los encabezados de acuerdo con el comportamiento de solicitud y respuesta relevante para su origen de Amazon S3. En particular, si el origen busca encabezados HTTP específicos para decidir qué objeto devolver, debe permitirlos. Si reenvía todos los encabezados HTTP, CloudFront omitirá las capas de almacenamiento en caché y no intentará almacenar en caché el objeto en absoluto.

Paso 8. Configurar los TTL

En la siguiente sección, puede especificar el tiempo de vida (TTL) y administrar el tiempo que el contenido permanece en la memoria caché antes de caducar. De forma predeterminada, se seleccionará Usar encabezados de caché de origen. Como alternativa, puede personalizar los límites de tiempo superiores e inferiores para que los objetos se almacenen en la memoria caché de CloudFront.

Si decide editar esta configuración, se le pedirá que ingrese un TTL mínimo y máximo en segundos. A continuación, si el encabezado devuelve un valor fuera del valor mínimo o máximo, CloudFront utilizará el TTL mínimo o máximo. Si se encuentra dentro de esos límites, CloudFront utilizará el valor que devuelva el origen.

Si el origen no devuelve ningún encabezado de control de caché, se usará el TTL predeterminado en su lugar. En nuestro video de ejemplo, el valor predeterminado se establece en 86 400 segundos, lo que equivale a 24 horas.

Paso 9. Configurar características adicionales

En la siguiente sección, puede elegir si desea almacenar en caché el contenido en función de las cookies y los parámetros de las cadenas de consulta.

Al igual que con los encabezados HTTP, la recomendación es permitir solo las cookies o los valores de cadenas de consulta que sean relevantes para su origen. También puede reenviarlos y la CDN seguirá intentando almacenarlos en caché. Tenga cuidado si decide reenviarlo todo, ya que podría reducir considerablemente la tasa de aciertos de caché si CloudFront lo reenvía todo. Como resultado, es posible que tenga una gran cantidad de objetos en caché varias veces debido a las diferentes variaciones posibles de las consultas y los valores de las cookies.

A continuación, dispondrá de más opciones en los siguientes campos:

En Configuración de distribución, puede especificar qué partes de la red de CloudFront desea usar. De forma predeterminada, CloudFront utilizará todas las ubicaciones periféricas para obtener el mejor rendimiento. Esto ayudará a publicar el contenido lo más rápido posible en todo el mundo.

Si solo espera ver espectadores en regiones específicas, como EE. UU., Canadá y Europa, puede especificar solo esas regiones como una clase de precio más baja. Esto no significa que los espectadores de fuera de esas regiones no puedan acceder a su contenido; CloudFront simplemente los dirigiría a la ubicación periférica más cercana. Si va a utilizar AWS Web Application Firewall (AWS WAF) con CloudFront, también puede configurar esos ajustes aquí.

Antes de guardar la distribución, es importante administrar el certificado de capa de sockets seguros (SSL). Tiene hay dos opciones:

  • Utilice el certificado predeterminado de CloudFront.
  • Cargue o solicite un certificado SSL personalizado de AWS Certificate Manager (ACM) y asócielo a su distribución de CloudFront. Esta opción es adecuada si utiliza un dominio personalizado.

Por último, puede usar la configuración restante para especificar lo siguiente:

  • Qué Versiones de HTTP compatibles desea utilizar.
  • Si usará Registros y qué Bucket para registros debe usar CloudFront para almacenar cualquier registro de acceso.
  • Si el Registro de cookies está activo.

Desde allí, puede ingresar una descripción y crear la distribución. Una vez guardada, la distribución tardará aproximadamente 15 minutos en implementarse en todo el mundo.

Paso 10. Elegir la distribución de CloudFront

Una vez que la distribución esté lista, puede hacer clic en ella para revisar su configuración. La primera pantalla mostrará una serie de pestañas y los ajustes de configuración que ha especificado. Desde allí, puede agregar orígenes adicionales y varios comportamientos de caché, si es necesario.

CloudFront también le permite crear páginas de error personalizadas o cambiar el tiempo que las respuestas de error permanecen en la caché. Para ello, seleccione Crear respuesta de error del cliente. Puede adaptar esta configuración para cada código de error HTTP. Si suponemos que quiere volver a intentarlo para cada código de error 403, puede especificar un TTL mínimo de 0 segundos. De forma predeterminada, CloudFront lo almacena todo en caché durante 300 segundos para aliviar parte de la carga en el origen. También puede crear respuestas de error personalizadas para cada código de error, si lo desea.

En la pestaña Restricciones, puede Habilitar las restricciones geográficas para permitir o impedir que los espectadores de ubicaciones específicas vean el contenido. La pestaña Invalidaciones le permitirá eliminar objetos personalizados de las cachés periféricas de CloudFront. Por último, puede utilizar la pestaña Etiquetas para aplicar etiquetas personalizadas, lo que le ayudará a organizar e identificar sus distribuciones.

Una vez completado, copie el dominio y péguelo en el navegador para ver la distribución en acción. También puede aprender a entregar el contenido dinámico de la aplicación mediante CloudFront con una instancia de servidor web de Amazon EC2.

Plantilla de Amazon CloudFormation para ayudarle a empezar a utilizar CloudFront

La plantilla de Amazon CloudFormation también le ayudará a empezar a utilizar CloudFront. Esta plantilla lanzará un bucket de S3 para almacenar sus archivos estáticos a escala y, a continuación, entregará ese contenido a sus usuarios a través de la CDN de CloudFront.

Para obtener más información, lea la entrada del blog titulada Amazon S3 + Amazon CloudFront: A Match Made in the Cloud y obtenga la plantilla de CloudFormation.

Recursos adicionales sobre la entrega de contenido con CloudFront

¿No sabe cómo comenzar a usar CloudFront? Consulte nuestra guía de introducción a las redes de entrega de contenido o diríjase al centro de documentación de la red de entrega de contenido de Amazon Web Services.

Consulte estos recursos sobre cómo administrar su distribución de CloudFront en S3 en el Centro de conocimientos de Premium Support:

Conozca más recursos de Amazon CloudFront

Visite la página de recursos