Aceleración de su sitio web con Amazon CloudFront - Amazon Simple Storage Service

Aceleración de su sitio web con Amazon CloudFront

Puede usar Amazon CloudFront para mejorar el rendimiento del sitio web de Amazon S3. CloudFront pone los archivos de su sitio web (archivos HTML, imágenes y vídeos) a disposición desde los centros de datos de todo el mundo. Estos centros de datos se conocen como ubicaciones de borde. Cuando un visitante solicita un archivo de su sitio web, CloudFront redirecciona automáticamente la solicitud a una copia del archivo en la ubicación de borde más cercana. Esto genera tiempos de descarga menores que los que se obtendrían si el visitante solicitara el contenido desde un centro de datos más lejano.

CloudFront copia en caché el contenido en las ubicaciones de borde durante el período que usted especifique. Si un visitante solicita contenido que se ha copiado en caché y ha excedido la fecha de vencimiento, CloudFront accede al servidor de origen para verificar si hay disponible una versión más reciente del contenido. Si se encuentra una versión más reciente, CloudFront copiará esta nueva versión en la ubicación de borde. Los cambios que realice en el contenido original se replicarán en las ubicaciones de borde a medida que los visitantes soliciten el contenido.

Uso de CloudFront sin Route 53

En los tutoriales de esta página, se utiliza Route 53 para apuntar a la distribución de CloudFront. Sin embargo, si quiere ofrecer contenido alojado en un bucket de Amazon S3 mediante CloudFront sin utilizar Route 53, consulte Amazon CloudFront Tutorials: Setting up a Dynamic Content Distribution for Amazon S3 (Tutoriales de Amazon CloudFront: Configuración de una distribución dinámica de contenido para Amazon S3). Al ofrecer contenido alojado en un bucket de Amazon S3 mediante CloudFront, puede utilizar cualquier nombre de bucket y se admite tanto HTTP como HTTPS.

Automatizar la configuración con una plantilla de AWS CloudFormation

Con el fin de obtener más información acerca del uso de una plantilla de AWS CloudFormation para configurar un sitio web estático seguro que cree una distribución de CloudFront para dar servicio al sitio web, consulte Introducción a un sitio web estático seguro en la Guía para desarrolladores de Amazon CloudFront.

Paso 1: crear una distribución de CloudFront

Primero, cree una distribución de CloudFront. Esto habilita el acceso a su sitio web desde los centros de datos de todo el mundo.

Para crear una distribución con un origen de Amazon S3, realice las siguientes acciones:
  1. Abra la consola de CloudFront en https://console.aws.amazon.com/cloudfront/v4/home.

  2. Elija Crear distribución.

  3. En la página Crear distribución, sección Configuración del origen, para Nombre de dominio de origen, escriba el punto de conexión del sitio web de Amazon S3 para su bucket, por ejemplo, example.com.s3-website.us-west-1.amazonaws.com.

    CloudFront completa el campo Origin ID (ID de origen) por usted.

  4. En Configuración predeterminada de comportamiento de caché, conserve los valores predeterminados.

    Con la configuración predeterminada de Viewer Protocol Policy (Política del protocolo del lector), puede usar HTTPS para el sitio web estático. Para obtener más información de estas opciones de configuración, consulte Valores que deben especificarse al crear o actualizar una distribución web en la guía para desarrolladores de Amazon CloudFront.

  5. En Distribution Settings (Configuración de distribución), haga lo siguiente:

    1. En Price Class (Clase de precio), deje la opción Use All Edge Locations (Best Performance) (Usar todas las ubicaciones de borde [mejor rendimiento]).

    2. Establezca Alternate Domain Names (CNAMEs) (Nombres del dominio alternativos [CNAME]) en el dominio raíz y el subdominio www. En este tutorial, estos son example.com y www.example.com.

      importante

      Antes de realizar este paso, tenga en cuenta los requisitos para el uso de nombres de dominio alternativos, en concreto la necesidad de tener un certificado SSL/TLS válido.

    3. En SSL Certificate (Certificado SSL), elija Custom SSL Certificate (example.com) (Certificado SSL personalizado [ejemplo.com]) y elija el certificado personalizado que cubra los nombres de dominio y subdominio.

      Para obtener más información, consulte Certificado SSL en la guía para desarrolladores de Amazon CloudFront.

    4. En Objeto raíz predeterminado, introduzca el nombre del documento de índice, por ejemplo, index.html.

      Si la dirección URL utilizada para acceder a la distribución no contiene un nombre de archivo, la distribución de CloudFront devuelve el documento de índice. El objeto raíz predeterminado debe coincidir exactamente con el nombre del documento de índice de su sitio web estático. Para obtener más información, consulte Configurar un documento de índice.

    5. En Logging (Registro), seleccione la opción On (Activado).

      importante

      Al crear o actualizar una distribución y habilitar el registro de CloudFront, CloudFront actualiza la lista de control de acceso (ACL) del bucket para conceder a la cuenta awslogsdelivery permisos FULL_CONTROL para que escriba registros en el bucket. Para obtener más información, consulte Permisos necesarios para configurar el registro estándar y acceder a los archivos de registro en la Guía para desarrolladores de Amazon CloudFront. Si el bucket que almacena los registros utiliza la configuración de propietario del bucket obligatorio de S3 Object Ownership para desactivar las ACL, CloudFront no puede escribir registros en el bucket. Para obtener más información, consulte Control de la propiedad de los objetos y desactivación de las ACL del bucket.

    6. En Bucket for Logs (Bucket para registros), seleccione el bucket de registro que creó.

      Para obtener más información acerca de la configuración de un bucket de registro, consulte (Opcional) Registro del tráfico web.

    7. Si desea almacenar los registros generados por el tráfico en la distribución en una carpeta de CloudFront, en Log Prefix (Prefijo de registro), escriba el nombre de la carpeta.

    8. No cambie ningún otro valor predeterminado.

  6. Seleccione Create Distribution (Crear distribución).

  7. Para ver el estado de la distribución, busque la distribución en la consola y revise la columna Status (Estado).

    El estado InProgress indica que la implementación de la distribución no ha finalizado aún.

    Una vez que haya implementado la distribución, puede hacer referencia al contenido con el nuevo nombre del dominio de CloudFront.

  8. Registre el valor de Domain Name (Nombre de dominio) que se muestra en la consola de CloudFront, por ejemplo, dj4p1rv6mvubz.cloudfront.net.

  9. Para verificar que la distribución de CloudFront funcione correctamente, escriba el nombre del dominio de la distribución en el navegador web.

    Si su sitio web es visible, la distribución de CloudFront funciona. Si su sitio web tiene un dominio personalizado registrado con Amazon Route 53, necesitará el nombre de dominio de CloudFront para actualizar el registro establecido en el siguiente paso.

Paso 2: Actualizar los conjuntos de registros para su dominio y subdominio

Como ya ha creado con éxito una distribución de CloudFront, actualice el registro de alias en Route 53 para que se asocien a la nueva distribución de CloudFront.

Para actualizar el registro de alias para que apunte a una distribución de CloudFront, realice las siguientes tareas:
  1. Abra la consola de Route 53 en https://console.aws.amazon.com/route53/.

  2. En el panel de navegación izquierdo, elija Hosted zones (Zonas alojadas).

  3. En la página Hosted zones (Zonas alojadas), elija la zona alojada que creó para su subdominio, como, por ejemplo, www.example.com.

  4. En Records (Registros), seleccione el registro A que creó para el subdominio.

  5. En Record details (Detalles del registro), elija Edit record (Editar registro).

  6. En Route traffic to (Dirigir tráfico a), elija Alias to Cloudfront distribution (Alias a distribución de CloudFront).

  7. En Choose distribution (Elegir distribución), elija la distribución de CloudFront.

  8. Seleccione Save.

  9. Para redirigir el registro A del dominio raíz a la distribución de CloudFront, repita este procedimiento del dominio raíz, por ejemplo, example.com.

    La actualización de los conjuntos de registros se realiza entre 2 y 48 horas.

  10. Para ver si los nuevos registros A han entrado en vigor, en un navegador web, introduzca la URL de su subdominio, por ejemplo, http://www.example.com.

    Si el navegador ya no lo redirige al dominio raíz (por ejemplo, http://example.com), los nuevos registros A están en su lugar. Cuando se haya aplicado el nuevo registro A, el tráfico redirigido por el nuevo registro A a la distribución de CloudFront no se redirige al dominio raíz. Todos los visitantes que hagan referencia al sitio mediante http://example.com o http://www.example.com se redirigirán a la ubicación de borde de CloudFront más cercana. De esta manera, los tiempos de descarga serán más rápidos.

    sugerencia

    Los navegadores pueden copiar en caché los ajustes de redirección. Si cree que se deberían haber aplicado los ajustes del nuevo registro A, pero el navegador aún redirige http://www.example.com a http://example.com, intente borrar el historial de navegador y las copias en caché y, luego, cierre y vuelva a abrir el navegador. También puede intentar con otro navegador web.

(Opcional) Paso 3: comprobar los archivos de registro

Los registros de acceso le informan cuántas personas visitan el sitio web. También contienen datos comerciales valiosos que puede analizar con otros servicios, como Amazon EMR.

Los registros de CloudFront se almacenan en el bucket y la carpeta que elija al crear una distribución de CloudFront y habilitar el registro. CloudFront escribe registros en su bucket de registros dentro de las 24 horas en las que se realizaron las solicitudes correspondientes.

Para ver los archivos de registro de su sitio web
  1. Abra la consola de Amazon S3 en https://console.aws.amazon.com/s3.

  2. Seleccione el nombre del bucket de registro para su sitio web.

  3. Elija la carpeta de registros de CloudFront.

  4. Descargue los archivos .gzip escritos por CloudFront antes de abrirlos.

    Si creó un sitio web solo como parte de un ejercicio de aprendizaje, puede eliminar los recursos que asignó para dejar de acumular cargos. Para ello, consulte Limpiar los recursos de ejemplo. Después de que haya eliminado los recursos de AWS, el sitio web ya no estará disponible.