Optimización de la alta disponibilidad con la conmutación por error de CloudFront Origin - Amazon CloudFront

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Optimización de la alta disponibilidad con la conmutación por error de CloudFront Origin

Puede configurar la conmutación por error CloudFront de Origin para situaciones que requieran una alta disponibilidad. Para empezar, cree un grupo de origen con dos orígenes: uno primario y otro secundario. Si el origen principal no está disponible o devuelve códigos de estado de respuesta HTTP específicos que indican un error, cambia CloudFront automáticamente al origen secundario.

Para configurar la conmutación por error de origen, debe tener una distribución con al menos dos orígenes. A continuación, cree un grupo de origen para su distribución que incluya dos orígenes, configurando uno como principal. Por último, cree o actualice un comportamiento de caché para utilizar el grupo de origen.

Para consultar los pasos para configurar grupos de origen y configurar opciones de conmutación por error de origen específicas, consulte Creación de un grupo de origen.

Tras configurar la conmutación por error de origen para un comportamiento de caché, CloudFront hace lo siguiente para las solicitudes de los espectadores:

  • Cuando se produce un error en la caché, CloudFront devuelve el objeto solicitado.

  • Cuando se produce un error en la memoria caché, CloudFront enruta la solicitud al origen principal del grupo de origen.

  • Cuando el origen principal devuelve un código de estado que no está configurado para la conmutación por error, como un código de estado HTTP 2xx o 3xx, envía CloudFront el objeto solicitado al espectador.

  • Cuando se produce cualquiera de las siguientes situaciones:

    • El origen principal devuelve un código de estado HTTP que ha configurado para la conmutación por error

    • CloudFront no se conecta al origen principal

    • La respuesta del origen primario tarda demasiado (se agota el tiempo de espera)

    A continuación, CloudFront dirige la solicitud al origen secundario del grupo de orígenes.

    nota

    En algunos casos de uso, como la transmisión de contenido de vídeo, es posible que desees CloudFront realizar rápidamente la conmutación por error al origen secundario. Para ajustar la rapidez con la que se realiza la conmutación por CloudFront error al origen secundario, consulteControl de los tiempos de espera de origen y los intentos.

CloudFront enruta todas las solicitudes entrantes al origen principal, incluso cuando una solicitud anterior se haya transferido erróneamente al origen secundario. CloudFront solo envía las solicitudes al origen secundario después de que se produzca un error en una solicitud al origen principal.

CloudFront la conmutación por error al origen secundario solo cuando el método HTTP de la solicitud del espectador es GETHEAD, oOPTIONS. CloudFront no realiza la conmutación por error cuando el espectador envía un método HTTP diferente (por ejemplo POSTPUT,, etc.).

El siguiente diagrama ilustra el funcionamiento de la conmutación por error de origen.


				Cómo funciona la conmutación por error de origen

Creación de un grupo de origen

Para crear un grupo de origen
  1. Inicie sesión en AWS Management Console y abra la CloudFront consola enhttps://console.aws.amazon.com/cloudfront/v4/home.

  2. Elija la distribución para la que desea crear el grupo de origen.

  3. Elija la pestaña Orígenes.

  4. Asegúrese de que la distribución tenga más de un origen. Si no lo tiene, agregue un segundo origen.

  5. En la pestaña Origins (Orígenes), en el panel Origin Groups (Grupos de origen), elija Create origin group (Crear grupo de origen).

  6. Elija los orígenes del grupo de origen. Después de agregar orígenes, utilice las flechas para establecer la prioridad, es decir, qué origen es primario y cuál secundario.

  7. Ingrese un nombre para el grupo de origen.

  8. Elija los códigos de estado HTTP que desea utilizar como criterios de conmutación por error. Puede elegir cualquier combinación de los siguientes códigos de estado: 400, 403, 404, 416, 500, 502, 503 o 504. Cuando CloudFront reciba una respuesta con uno de los códigos de estado que especifique, se conmutará por error al origen secundario.

    nota

    CloudFront la conmutación por error al origen secundario solo cuando el método HTTP de la solicitud del espectador es GETHEAD, oOPTIONS. CloudFront no realiza la conmutación por error cuando el espectador envía un método HTTP diferente (por ejemplo POSTPUT,, etc.).

  9. Elija Create origin group (Crear grupo de origen).

Para obtener información sobre cómo especificar un grupo de origen para una distribución, consulte Nombre.

Control de los tiempos de espera de origen y los intentos

De forma predeterminada, CloudFront intenta conectarse al origen principal de un grupo de orígenes durante 30 segundos (3 intentos de conexión de 10 segundos cada uno) antes de realizar la conmutación por error al origen secundario. En algunos casos de uso, como la transmisión de contenido de vídeo, es posible que desee CloudFront realizar la conmutación por error al origen secundario más rápidamente. Puedes ajustar la siguiente configuración para determinar la rapidez con la que se realiza la conmutación por CloudFront error al origen secundario. Si el origen es un origen secundario o un origen que no forma parte de un grupo de orígenes, esta configuración afecta a la rapidez con la que se CloudFront devuelve una respuesta HTTP 504 al espectador.

Para conmutar por error más rápidamente, especifique un tiempo de espera de conexión más breve, menos intentos de conexión o ambas opciones. Para orígenes personalizados (incluidos los orígenes de bucket de Amazon S3 configurados con alojamiento de sitio web estático), también puede ajustar el tiempo de espera de respuesta de origen.

Tiempo de espera de conexión de origen

La configuración del tiempo de espera de la conexión de origen afecta a la duración de las CloudFront esperas al intentar establecer una conexión con el origen. De forma predeterminada, CloudFront espera 10 segundos para establecer una conexión, pero puede especificar entre 1 y 10 segundos (ambos incluidos). Para obtener más información, consulte Tiempo de espera de conexión.

Intentos de conexión de origen

La configuración de intentos de conexión de origen afecta al número de veces que se CloudFront intenta conectarse al origen. De forma predeterminada, CloudFront intenta conectarse 3 veces, pero puede especificar de 1 a 3 (inclusive). Para obtener más información, consulte Intentos de conexión.

En el caso de un origen personalizado (incluido un bucket de Amazon S3 configurado con alojamiento de sitios web estáticos), esta configuración también afecta al número de veces que se CloudFront intenta obtener una respuesta del origen en caso de que se agote el tiempo de espera de la respuesta del origen.

Tiempo de espera de respuesta de origen
nota

Esto solo se aplica a los orígenes personalizados.

La configuración del tiempo de espera de la respuesta de origen afecta al tiempo de CloudFront espera para recibir una respuesta (o para recibir la respuesta completa) del origen. De forma predeterminada, CloudFront espera 30 segundos, pero puede especificar de 1 a 60 segundos (ambos incluidos). Para obtener más información, consulte Tiempo de espera de respuesta (solo orígenes personalizados).

Cómo cambiar esta configuración

Para cambiar esta configuración en la consola de CloudFront

  • Para un nuevo origen o una nueva distribución, especifique estos valores al crear el recurso.

  • En el caso de un origen existente en una distribución existente, debe especificar estos valores al editar el origen.

Para obtener más información, consulte Valores que deben especificarse al crear o actualizar una distribución.

Utilizar la conmutación por error de origen con funciones de Lambda@Edge

Puede utilizar las funciones de Lambda @Edge con CloudFront distribuciones que haya configurado con grupos de origen. Para utilizar una función Lambda, especifíquela en una solicitud de origen o un desencadenador de respuesta de origen para un grupo de origen al crear el comportamiento de la caché. Cuando se utiliza una función Lambda@Edge con un grupo de origen, la función se puede activar dos veces para una sola solicitud de visor. Por ejemplo, considere esta situación:

  1. Se crea una función Lambda@Edge con un desencadenador de solicitud de origen.

  2. La función Lambda se activa una vez cuando se CloudFront envía una solicitud al origen principal (en caso de fallo de caché).

  3. El origen principal responde con un código de estado HTTP configurado para la conmutación por error.

  4. La función Lambda se vuelve a activar cuando se CloudFront envía la misma solicitud al origen secundario.

El siguiente diagrama ilustra cómo funciona la conmutación por error de origen cuando se incluye una función de Lambda@Edge en una solicitud de origen o desencadenador de respuesta.


					Cómo utilizar la conmutación por error de origen con funciones de Lambda@Edge

Para obtener más información sobre el uso de desencadenadores de Lambda@Edge, consulte Agregado de desencadenadores para una función de Lambda@Edge.

Utilizar páginas de error personalizadas con conmutación por error de origen

Puede utilizar páginas de error personalizadas con grupos de origen de forma similar a cómo utilizarlos con orígenes que no están configuradas para la conmutación por error de origen.

Cuando utilizas la conmutación por error de origen, puedes configurarla CloudFront para que devuelva una página de error personalizada para el origen principal o secundario (o para ambos):

  • Devuelve una página de error personalizada para el origen principal: si el origen principal devuelve un código de estado HTTP que no está configurado para la conmutación por error, CloudFront devuelve la página de error personalizada a los espectadores.

  • Devuelve una página de error personalizada para el origen secundario: si CloudFront recibe un código de estado de error del origen secundario, CloudFront devuelve la página de error personalizada.

Para obtener más información sobre el uso de páginas de error personalizadas con CloudFront, consulteGeneración de respuestas de error personalizadas.