Configuración de origen - Amazon CloudFront

Configuración de origen

Al crear o actualizar una distribución mediante la consola de CloudFront, proporciona información acerca de una o varias ubicaciones, conocidas como orígenes, donde se almacenan las versiones originales del contenido web. CloudFront obtiene el contenido web desde sus orígenes y los envía a los lectores a través de una red global de servidores periféricos.

Para obtener información sobre el número máximo actual de orígenes que puede crear para una distribución o para solicitar una cuota más alta, consulte Cuotas generales de distribuciones.

Si desea eliminar un origen, primero debe editar o eliminar los comportamientos de la caché que están asociados con dicho origen.

importante

Si elimina un origen, confirme que los archivos que se han servido anteriormente a ese origen estén disponibles en otro origen y que los comportamientos de la caché ya estén direccionando las solicitudes para dichos archivos al nuevo origen.

Al crear o actualizar una distribución deberá especificar los siguientes valores para cada origen.

Dominio de origen

El dominio del origen es el nombre del dominio de DNS del recurso donde CloudFront obtendrá objetos para el origen, por ejemplo, un bucket de Amazon S3 o un servidor HTTP. Por ejemplo:

  • Bucket de Amazon S3amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com

    nota

    Si ha creado recientemente el bucket de S3, la distribución de CloudFront podría devolver respuestas HTTP 307 Temporary Redirect durante un periodo máximo de 24 horas. El nombre del bucket de S3 puede tardar hasta 24 horas en propagarse a todas las regiones de AWS. Cuando se complete la propagación, la distribución deja de enviar automáticamente estas respuestas de redirección; no es necesario que realice ninguna acción. Para obtener más información, consulte ¿Por qué recibo una respuesta de redirección temporal HTTP 307 de Amazon S3? y Redirección temporal de solicitudes.

  • Bucket de Amazon S3 configurado como un sitio webamzn-s3-demo-bucket.s3-website.us-west-2.amazonaws.com

  • Contenedor MediaStoreexamplemediastore.data.mediastore.us-west-1.amazonaws.com

  • Punto de enlace de MediaPackageexamplemediapackage.mediapackage.us-west-1.amazonaws.com

  • Instancia Amazon EC2ec2-203-0-113-25.compute-1.amazonaws.com

  • Balanceador de carga Elastic Load Balancingexample-load-balancer-1234567890.us-west-2.elb.amazonaws.com

  • Su propio servidor webwww.example.com

Elija el nombre de dominio en el campo Origin domain (Dominio de origen) o escriba el nombre. Los recursos de las regiones registradas se deben ingresar de forma manual. El nombre de dominio no distingue entre mayúsculas y minúsculas. El dominio de origen debe tener un nombre de DNS que se resuelve públicamente que enruta las solicitudes de los clientes a destinos a través de Internet.

Si configura CloudFront para conectarse al origen a través de HTTP, uno de los nombres de dominio del certificado debe coincidir con el nombre de dominio que especifique para Nombre de dominio de origen. Si no coincide ningún nombre de dominio, CloudFront devuelve al lector un código de estado HTTP 502 (Puerta de enlace incorrecta). Para obtener más información, consulte Nombres de dominio en la distribución de CloudFront y en el certificado y Error de negociación SSL/TLS entre CloudFront y un servidor de origen personalizado.

nota

Si está usando una política de solicitud de origen que reenvía el encabezado de host de lector al origen, el origen debe responder con un certificado que coincida con el encabezado de host de lector. Para obtener más información, consulte Añadido de encabezados de solicitudes de CloudFront.

Si su origen es un bucket de Amazon S3, tenga en cuenta lo siguiente:

  • Si el bucket está configurado como sitio web, ingrese el punto de conexión de alojamiento de sitios web estáticos de Amazon S3 del bucket. No seleccione el nombre del bucket en la lista del campo Origin domain (Dominio de origen). Este punto de conexión de alojamiento del sitio web aparecerá en la consola de Amazon S3 en la página Properties (Propiedades), en Static Website Hosting (Alojamiento de sitio web estático). Para obtener más información, consulte Uso de un bucket de Amazon S3 configurado como punto de conexión del sitio web.

  • Si ha configurado Amazon S3 Transfer Acceleration en su bucket, no especifique el punto de conexión s3-accelerate para Origin domain (Dominio de origen).

  • Si utiliza un bucket de otra cuenta de AWS y el bucket no está configurado como un sitio web, escriba el nombre en el siguiente formato:

    bucket-name.s3.region.amazonaws.com

    Si su bucket se encuentra en una región de EE. UU. y desea que Amazon S3 direccione las solicitudes a una instalación en el norte de Virginia, utilice el siguiente formato:

    bucket-name.s3.us-east-1.amazonaws.com

  • Los archivos deben ser legibles públicamente a no ser que proteja su contenido en Amazon S3 mediante un control de acceso de origen de CloudFront. Para obtener más información sobre el control de acceso, consulte Restricción del acceso a un origen de Amazon S3.

importante

Si el origen es un bucket de Amazon S3, el nombre del bucket debe cumplir los requisitos de nomenclatura de DNS. Para obtener más información, consulte Restricciones y limitaciones de buckets en la Guía del usuario de Amazon Simple Storage Service.

Al cambiar el valor de Origin Domain (Dominio de origen) por un origen, CloudFront inmediatamente comienza a replicar el cambio en las ubicaciones de borde de CloudFront. Hasta que la configuración de la distribución se actualiza en una ubicación de borde determinada, CloudFront continúa reenviando solicitudes al servidor HTTP o al origen anterior. Tan pronto como la configuración de la distribución se actualiza en esa ubicación de borde, CloudFront comienza a reenviar solicitudes al nuevo origen.

Cambiar el origen no requiere que CloudFront vuelva a incluir las cachés periféricas con objetos del nuevo origen. Siempre que las solicitudes de los lectores en su aplicación no cambien, CloudFront sigue ofreciendo objetos que ya estén en una caché de borde hasta que el TTL de cada objeto caduque o hasta que los objetos poco solicitados sean desalojados.

Protocolo (solo orígenes personalizados)

nota

Esto solo se aplica a los orígenes personalizados.

La política de protocolo que desea que CloudFront utilice cuando solicite objetos del origen.

Elija uno de los valores siguientes:

  • HTTP Only (Solo HTTP): CloudFront utiliza solo HTTP para acceder al origen.

    importante

    HTTP Only (Solo HTTP): es la configuración predeterminada cuando el origen es un punto de conexión de alojamiento de sitio web estático de Amazon S3, ya que Amazon S3 no admite conexiones HTTPS para puntos de conexión de alojamiento de sitio web estático. La consola de CloudFront no admite el cambio de esta configuración para los puntos de enlace de alojamiento de sitios web estáticos de Amazon S3.

  • HTTPS Only (Solo HTTPS): CloudFront solo utiliza HTTPS para obtener acceso al origen.

  • Match Viewer (Coincidir con lector): CloudFront se comunica con el origen mediante HTTP o HTTPS, en función del protocolo de la solicitud del lector. Tenga en cuenta que CloudFront almacena en caché el objeto solo una vez, incluso si los lectores realizan solicitudes a través de los protocolos HTTP y HTTPS.

    importante

    En el caso de la solicitudes HTTPS de lector que CloudFront reenvía a este origen, uno de los nombres de dominio del certificado SSL/TLS en su servidor de origen debe coincidir con el nombre de dominio que especifique en Origin domain (Dominio de origen). En caso contrario, CloudFront responde a las solicitudes del lector con un código de estado HTTP 502 (Gateway incorrecta) en lugar de devolver el objeto solicitado. Para obtener más información, consulte Requisitos para la utilización de certificados SSL/TLS con CloudFront.

Puerto HTTP

nota

Esto solo se aplica a los orígenes personalizados.

(Opcional) Puede especificar el puerto HTTP en el que escucha el origen personalizado. Los valores válidos son los puertos 80, 443 y 1024 y 65535. El valor predeterminado es el puerto 80.

importante

El puerto 80 es la configuración predeterminada cuando el origen es un punto de enlace de alojamiento de sitio web estático de Amazon S3, ya que Amazon S3 solo admite el puerto 80 para los puntos de enlace de alojamiento de sitio web estático. La consola de CloudFront no admite el cambio de esta configuración para los puntos de enlace de alojamiento de sitios web estáticos de Amazon S3.

Puerto HTTPS

nota

Esto solo se aplica a los orígenes personalizados.

(Opcional) Puede especificar el puerto HTTPS en el que escucha el origen personalizado. Los valores válidos son los puertos 80, 443 y 1024 y 65535. El valor predeterminado es el puerto 443. Cuando Protocol (Protocolo) se establece en HTTP only (Solo HTTP), no puede especificar un valor para HTTPS port (Puerto HTTPS).

Protocolo SSL mínimo del origen

nota

Esto solo se aplica a los orígenes personalizados.

Elija el protocolo TLS/SSL que CloudFront puede utilizar como mínimo cuando establece una conexión HTTPS con el origen. Los protocolos TLS inferiores son menos seguros, por lo que le recomendamos que elija el protocolo TLS más reciente que admita el origen. Cuando Protocol (Protocolo) se establece en HTTP only (Solo HTTP), no puede especificar un valor para Minimum origin SSL protocol (Protocolo SSL de origen mínimo).

Si utiliza la API de CloudFront para establecer el protocolo TLS/SSL para que CloudFront lo utilice, no podrá establecer un protocolo mínimo. En su lugar, debe especificar todos los protocolos TLS/SSL que CloudFront puede utilizar con su origen. Para obtener más información, consulte OriginSslProtocols en la Referencia de la API de Amazon CloudFront.

Ruta de origen

Si desea que CloudFront solicite el contenido de un directorio en su origen, ingrese la ruta del directorio comenzando por una barra diagonal (/). CloudFront agrega la ruta del directorio al valor de Origin domain (Dominio de origen), por ejemplo, cf-origin.example.com/production/images. No añada una barra inclinada (/) al final de la ruta.

Por ejemplo, suponga que ha especificado los siguientes valores para su distribución:

  • Origin domain (Dominio de origen): un bucket de Amazon S3 llamado amzn-s3-demo-bucket

  • Origin path (Ruta de origen): /production

  • Alternate domain names (CNAME) (Nombres de dominio alternativos (CNAME)): example.com

Cuando un usuario escribe example.com/index.html en un navegador, CloudFront envía una solicitud a Amazon S3 de amzn-s3-demo-bucket/production/index.html.

Cuando un usuario escribe example.com/acme/index.html en un navegador, CloudFront envía una solicitud a Amazon S3 de amzn-s3-demo-bucket/production/acme/index.html.

Nombre

Un nombre es una cadena que identifica de forma exclusiva este origen en esta distribución. Si crea comportamientos de caché además del comportamiento de caché predeterminado, utilice el nombre que especifique aquí para identificar el origen al que desea que CloudFront dirija una solicitud cuando esta coincida con el patrón de ruta de ese comportamiento de caché.

Acceso de origen (solo orígenes de Amazon S3)

nota

Esto solo se aplica a los orígenes del bucket de Amazon S3 (aquellos que no utilizan el punto de enlace del sitio web estático de S3).

Elija Origin access control settings (recommended) (Configuración de control de acceso de origen [recomendada]) si desea que sea posible restringir el acceso a un origen de bucket de Amazon S3 solo a determinadas distribuciones de CloudFront.

Elija Public (Público) si el origen del bucket de Amazon S3 es de acceso público.

Para obtener más información, consulte Restricción del acceso a un origen de Amazon S3.

Para obtener información acerca de cómo exigir a los usuarios a obtener acceso a los objetos de un origen personalizado empleando solo URL de CloudFront, consulte Restricción del acceso a archivos en orígenes personalizados.

Agregar encabezado personalizado

Si desea que CloudFront agregue encabezados personalizados cada vez que envía una solicitud al origen, especifique el encabezado y su valor. Para obtener más información, consulte Añadido de encabezados personalizados a solicitudes de origen.

Para ver la cantidad máxima actual de encabezados personalizados que puede agregar, la longitud máxima de los nombres de encabezado personalizados y sus valores, y la longitud máxima total de todos los nombres y valores de encabezados, consulte Cuotas.

Habilitar Origin Shield

Elija Yes (Sí) para habilitar CloudFront Origin Shield. Para obtener más información sobre Origin Shield, consulte Uso de Amazon CloudFront Origin Shield.

Intentos de conexión

Puede configurar el número de veces que CloudFront intenta conectarse al origen. Puede especificar 1, 2 o 3 como el número de intentos. El número predeterminado (si no especifica lo contrario) es 3.

Utilice esta configuración junto con Connection Timeout (Tiempo de espera de conexión) para especificar cuánto tiempo debe esperar CloudFront antes de intentar conectarse al origen secundario o devolver una respuesta de error al lector. De forma predeterminada, CloudFront espera hasta 30 segundos (3 intentos de 10 segundos cada uno) antes de intentar conectarse al origen secundario o devolver una respuesta de error. Puede reducir este tiempo si especifica menos intentos, un tiempo de espera de conexión más corto o ambas opciones.

Si se produce un error en el número especificado de intentos de conexión, CloudFront realiza una de las acciones siguientes:

  • Si el origen forma parte de un grupo de orígenes, CloudFront intenta conectarse al origen secundario. Si se produce un error en el número especificado de intentos de conexión al origen secundario, CloudFront devuelve una respuesta de error al lector.

  • Si el origen no forma parte de un grupo de orígenes, CloudFront devuelve una respuesta de error al lector.

En el caso de un origen personalizado (incluido un bucket de Amazon S3 configurado con alojamiento de sitio web estático), esta configuración también especifica el número de veces que CloudFront intenta obtener una respuesta del origen. Para obtener más información, consulte Tiempo de espera de respuesta.

Tiempo de espera de conexión

El tiempo de espera de conexión de origen es el número de segundos que CloudFront espera al intentar establecer una conexión con el origen. Puede especificar un número de segundos entre 1 y 10 (ambos inclusive). El tiempo de espera predeterminado (si no especifica lo contrario) es de 10 segundos.

Utilice esta configuración junto con Connection attempts (Intentos de conexión) para especificar cuánto tiempo debe esperar CloudFront antes de intentar conectarse al origen secundario o antes de devolver una respuesta de error al lector. De forma predeterminada, CloudFront espera hasta 30 segundos (3 intentos de 10 segundos cada uno) antes de intentar conectarse al origen secundario o devolver una respuesta de error. Puede reducir este tiempo si especifica menos intentos, un tiempo de espera de conexión más corto o ambas opciones.

Si CloudFront no establece una conexión con el origen en el número de segundos especificado, CloudFront realiza una de las acciones siguientes:

  • Si el número especificado de Connection attempts (Intentos de conexión) es superior a 1, CloudFront intenta de nuevo establecer una conexión. CloudFront lo intenta hasta tres veces, según lo determinado por el valor de Connection attempts (Intentos de conexión).

  • Si fallan todos los intentos de conexión y el origen forma parte de un grupo de orígenes, CloudFront intenta conectarse al origen secundario. Si se produce un error en el número especificado de intentos de conexión al origen secundario, CloudFront devuelve una respuesta de error al lector.

  • Si fallan todos los intentos de conexión y el origen no forma parte de un grupo de orígenes, CloudFront devuelve una respuesta de error al lector.

Tiempo de espera de respuesta

El tiempo de espera de respuesta del origen, también conocido como tiempo de espera de lectura de origen y tiempo de espera de solicitud de origen, se aplica a los dos valores siguientes:

  • Tiempo (en segundos) que CloudFront espera una respuesta después de enviar una solicitud al origen.

  • Tiempo (en segundos) que CloudFront espera después de recibir el paquete de una respuesta desde el origen y antes de recibir el paquete siguiente.

sugerencia

Si desea aumentar el valor de tiempo de espera porque los lectores están experimentando errores de código de estado HTTP 504, considere la posibilidad de explorar otras formas de eliminar dichos errores antes de cambiar el valor del tiempo de espera. Consulte las sugerencias de resolución de problemas en Código de estado HTTP 504 (Tiempo de espera de puerta de enlace agotado).

El comportamiento CloudFront depende del método HTTP en la solicitud del lector.

  • Solicitudes GET y HEAD: si el origen no responde o deja de responder durante el tiempo de espera de la respuesta, CloudFront interrumpe la conexión. CloudFront intenta de nuevo conectarse de acuerdo con el valor de Intentos de conexión.

  • Solicitudes DELETE, OPTIONS, PATCH, PUT y POST: si el origen no responde mientras dura el tiempo de espera de lectura, CloudFront interrumpe la conexión y no vuelve a intentar ponerse en contacto con el origen. El cliente puede volver a enviar la solicitud en caso de que sea necesario.

Tiempo de espera de finalización de la respuesta

nota

El tiempo de espera de finalización de la respuesta no admite la característica de implementación continua.

El tiempo (en segundos) que una solicitud de CloudFront al origen puede permanecer abierta y esperar una respuesta. Si en ese tiempo no se recibe la respuesta completa del origen, CloudFront finaliza la conexión.

A diferencia de Tiempo de espera de respuesta, que es el tiempo de espera de los paquetes de respuesta individuales, Tiempo de espera de finalización de respuesta es el tiempo máximo permitido que CloudFront espera a que se complete la respuesta. Puede usar esta configuración para asegurarse de que CloudFront no espere indefinidamente un origen lento o que no responda, incluso si otras opciones de configuración de tiempo de espera permiten una espera más larga.

Este tiempo de espera máximo incluye lo que ha especificado para otras opciones de configuración de tiempo de espera y el número de intentos de conexión por cada reintento. Puede usar estas opciones juntas a fin de especificar cuánto tiempo espera CloudFront para recibir la solicitud completa y cuándo finalizarla, independientemente de si se ha completado o no.

Por ejemplo, si establece las siguientes opciones:

  • Intentos de conexión es 3

  • Tiempo de espera de conexión es 10 segundos

  • Tiempo de espera de respuesta es 30 segundos

  • Tiempo de espera de finalización de respuesta es 60 segundos

Esto significa que CloudFront intentará conectarse al origen (hasta tres intentos en total) y que cada intento de conexión caducará a los 10 segundos. Una vez conectado, CloudFront esperará un máximo de 30 segundos a que el origen responda a la solicitud hasta que reciba el último paquete de la respuesta.

Independientemente del número de intentos de conexión o del tiempo de espera de la respuesta, CloudFront finalizará la conexión si la respuesta completa del origen tarda más de 60 segundos en completarse. CloudFront devolverá al lector una respuesta de error Código de estado HTTP 504 (Tiempo de espera de puerta de enlace agotado) o una respuesta de error personalizada si usted ha especificado una.

Notas

Tiempo de espera de keep-alive (solo orígenes personalizados y de VPC)

El tiempo de espera de keep-alive es el tiempo (en segundos) que CloudFront intenta mantener una conexión con el origen personalizado después de que obtenga el último paquete de una respuesta. Garantizar una conexión persistente ahorra el tiempo necesario para restablecer la conexión TCP y realizar otro protocolo de enlace TLS para solicitudes posteriores. Aumentar el tiempo de keep-alive ayuda a mejorar la métrica de solicitud por conexión en distribuciones.

nota

Para que el valor de Keep-alive timeout (Tiempo de espera de keep-alive) tenga efecto, el origen debe estar configurado para permitir las conexiones persistentes.

Cuotas de tiempo de espera de respuesta y de keep-alive

Si solicita un aumento del tiempo de espera para la Cuenta de AWS, actualice los orígenes de la distribución para que tengan los valores de tiempo de espera de respuesta y keep-alive que desee. Al aumentar la cuota para su cuenta, no se actualizan automáticamente sus orígenes. Por ejemplo, si utiliza una función de Lambda@Edge para establecer un tiempo de espera de keep-alive de 90 segundos, su origen ya debe tener un tiempo de espera de keep-alive de 90 segundos o más. De lo contrario, es posible que la función de Lambda@Edge no se ejecute.

Para obtener más información sobre las cuotas de distribución, incluido cómo solicitar un aumento, consulte Cuotas generales de distribuciones.