Optimisez la haute disponibilité grâce au basculement CloudFront d'origine - Amazon CloudFront

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Optimisez la haute disponibilité grâce au basculement CloudFront d'origine

Vous pouvez configurer le basculement CloudFront d'origine pour les scénarios nécessitant une haute disponibilité. Pour commencer, vous créez un groupe d'origine avec deux origines : une principale et une secondaire. Si l'origine principale n'est pas disponible ou renvoie des codes d'état de réponse HTTP spécifiques indiquant un échec, passe CloudFront automatiquement à l'origine secondaire.

Pour configurer le basculement d'origine, vous devez avoir une distribution avec au moins deux origines. Ensuite, vous créez un groupe d'origine pour votre distribution incluant deux origines, en en définissant une comme la principale. Enfin, vous créez ou mettez à jour un comportement de cache pour utiliser le groupe d'origine.

Pour voir les étapes de configuration des groupes d'origine et des options de basculement pour une origine spécifique, veuillez consulter Création d'un groupe d'origine.

Après avoir configuré le basculement d'origine pour un comportement de cache, CloudFront procédez comme suit pour les demandes des utilisateurs :

  • En cas d'accès au cache, CloudFront renvoie l'objet demandé.

  • En cas de perte de cache, CloudFront achemine la demande vers l'origine principale du groupe d'origine.

  • Lorsque l'origine principale renvoie un code d'état qui n'est pas configuré pour le basculement, tel qu'un code d'état HTTP 2xx ou 3xx, envoie l'objet CloudFront demandé au visualiseur.

  • Lorsque l'une des situations suivantes se produit :

    • L'origine principale renvoie un code d'état HTTP que vous avez configuré pour le basculement

    • CloudFront ne parvient pas à se connecter à l'origine principale

    • La réponse de l'origine principale met trop de temps à arriver (temps d'attente)

    CloudFront Route ensuite la demande vers l'origine secondaire du groupe d'origine.

    Note

    Dans certains cas d'utilisation, tels que le streaming de contenu vidéo, vous CloudFront souhaiterez peut-être passer rapidement à l'origine secondaire. Pour régler la rapidité CloudFront du basculement vers l'origine secondaire, voirContrôlez les délais et les tentatives d'origine.

CloudFront achemine toutes les demandes entrantes vers l'origine principale, même lorsqu'une demande précédente a échoué vers l'origine secondaire. CloudFront envoie des demandes à l'origine secondaire uniquement après l'échec d'une demande à l'origine principale.

CloudFront bascule vers l'origine secondaire uniquement lorsque la méthode HTTP de la demande du spectateur est GETHEAD, ouOPTIONS. CloudFront ne bascule pas lorsque le visualiseur envoie une autre méthode HTTP (par exemple POSTPUT,, etc.).

Le graphique suivant illustre le fonctionnement du basculement d'origine

Comment fonctionne le basculement d'origine

Création d'un groupe d'origine

Pour créer un groupe d'origine
  1. Connectez-vous à la CloudFront console AWS Management Console et ouvrez-la à l'adressehttps://console.aws.amazon.com/cloudfront/v4/home.

  2. Choisissez la distribution pour laquelle vous souhaitez créer le groupe d'origine.

  3. Choisissez l’onglet Origines.

  4. Assurez-vous qu’il existe plusieurs origines pour la distribution. Si ce n'est pas le cas, ajoutez une deuxième origine.

  5. Sous l'onglet Origins (Origines) du volet Origin groups (Groupes d'origines), choisissez Create origin group (Créer un groupe d'origines).

  6. Choisissez les origines du groupe d'origine. Après avoir ajouté des origines, utilisez les flèches pour définir la priorité, c'est-à-dire l'origine principale et l'origine secondaire.

  7. Saisissez un nom pour le groupe d’origines.

  8. Choisissez les codes d'état HTTP à utiliser comme critères de basculement. Vous pouvez choisir n'importe quelle combinaison des codes d'état suivants : 400, 403, 404, 416, 500, 502, 503 ou 504. Lorsqu'il CloudFront reçoit une réponse avec l'un des codes d'état que vous spécifiez, il bascule vers l'origine secondaire.

    Note

    CloudFront bascule vers l'origine secondaire uniquement lorsque la méthode HTTP de la demande du spectateur est GETHEAD, ouOPTIONS. CloudFront ne bascule pas lorsque le visualiseur envoie une autre méthode HTTP (par exemple POSTPUT,, etc.).

  9. Choisissez Create origin group (Créer un groupe d'origines).

Assurez-vous d'attribuer votre groupe d'origine comme origine du comportement du cache de votre distribution. Pour plus d’informations, consultez Nom.

Contrôlez les délais et les tentatives d'origine

Par défaut, CloudFront essaie de se connecter à l'origine principale dans un groupe d'origine pendant 30 secondes maximum (3 tentatives de connexion de 10 secondes chacune) avant de basculer vers l'origine secondaire. Dans certains cas d'utilisation, tels que le streaming de contenu vidéo, vous CloudFront souhaiterez peut-être passer plus rapidement à l'origine secondaire. Vous pouvez ajuster les paramètres suivants pour déterminer la rapidité avec laquelle vous CloudFront basculez vers l'origine secondaire. Si l'origine est une origine secondaire ou une origine ne faisant pas partie d'un groupe d'origine, ces paramètres affectent la rapidité CloudFront avec laquelle une réponse HTTP 504 est renvoyée au lecteur.

Pour basculer plus rapidement, spécifiez un délai d'expiration de connexion plus court, moins de tentatives de connexion, ou les deux. Pour les origines personnalisées (y compris les origines de compartiment Amazon S3 qui sont configurées avec un hébergement de site web statique), vous pouvez également ajuster le délai d'expiration de la réponse d'origine.

Délai d'expiration de la connexion d'origine

Le paramètre de délai d'expiration de la connexion d'origine affecte le temps d' CloudFront attente lors de la tentative d'établissement d'une connexion avec l'origine. Par défaut, CloudFront attend 10 secondes pour établir une connexion, mais vous pouvez spécifier 1 à 10 secondes (inclus). Pour plus d’informations, consultez Délai de connexion.

Tentatives de connexion de l'origine

Le paramètre Tentatives de connexion d'origine affecte le nombre de CloudFront tentatives de connexion à l'origine. Par défaut, CloudFront essaie 3 fois de se connecter, mais vous pouvez spécifier 1 à 3 (inclus). Pour plus d’informations, consultez Tentatives de connexion.

Pour une origine personnalisée (y compris un compartiment Amazon S3 configuré avec un hébergement de site Web statique), ce paramètre affecte également le nombre de CloudFront tentatives d'obtention d'une réponse de la part de l'origine en cas d'expiration du délai de réponse d'origine.

Délai de réponse de l'origine
Note

Ceci s'applique uniquement aux origines personnalisées.

Le paramètre de délai d'expiration de la réponse d'origine affecte le temps d' CloudFront attente pour recevoir une réponse (ou pour recevoir la réponse complète) de la part de l'origine. Par défaut, CloudFront attend 30 secondes, mais vous pouvez spécifier 1 à 60 secondes (incluses). Pour plus d’informations, consultez Délai de réponse (origines personnalisées uniquement).

Comment modifier ces paramètres

Pour modifier ces paramètres dans la CloudFront console

  • Pour une nouvelle origine ou une nouvelle distribution, vous spécifiez ces valeurs lorsque vous créez la ressource.

  • Pour une origine existante dans une distribution existante, vous spécifiez ces valeurs lorsque vous modifiez l'origine.

Pour de plus amples informations, veuillez consulter Référence des paramètres de distribution.

Utilisation du basculement d'origine avec les fonctions Lambda@Edge

Vous pouvez utiliser les fonctions Lambda @Edge avec des CloudFront distributions que vous avez configurées avec des groupes d'origine. Pour utiliser une fonction Lambda, spécifiez-la dans une demande d'origine ou un déclencheur de réponse de l'origine pour un groupe d'origine lorsque vous créez le comportement de cache. Lorsque vous utilisez une fonction Lambda@Edge avec un groupe d'origine, la fonction peut être déclenchée deux fois pour une seule demande d'utilisateur. Par exemple, envisagez le scénario suivant :

  1. Vous créez une fonction Lambda@Edge avec un déclencheur de demande d'origine.

  2. La fonction Lambda est déclenchée une fois lors de l' CloudFront envoi d'une demande à l'origine principale (en cas d'échec du cache).

  3. L'origine principale répond avec un code d'état HTTP configuré pour le basculement.

  4. La fonction Lambda est à nouveau déclenchée lorsqu'elle CloudFront envoie la même demande à l'origine secondaire.

Le schéma suivant illustre la façon dont le basculement d'origine fonctionne lorsque vous incluez une fonction Lambda@Edge dans une requête d'origine ou un déclencheur de réponse.

Comment fonctionne le basculement d'origine avec les fonctions Lambda@Edge

Pour plus d'informations sur l'utilisation des déclencheurs Lambda@Edge, consultez Ajouter des déclencheurs pour une fonction Lambda @Edge.

Pour plus d'informations sur la gestion du basculement DNS, consultez la section Configuration du basculement DNS dans le manuel Amazon Route 53 Developer Guide.

Utilisation des pages d'erreur personnalisées avec le basculement d'origine

Vous pouvez utiliser des pages d'erreur personnalisées avec des groupes d'origine de la même façon dont vous les utiliseriez avec des origines qui ne sont pas configurées pour le basculement d'origine.

Lorsque vous utilisez le basculement d'origine, vous pouvez configurer CloudFront pour renvoyer une page d'erreur personnalisée pour l'origine principale ou secondaire (ou les deux) :

  • Renvoyer une page d'erreur personnalisée pour l'origine principale : si l'origine principale renvoie un code d'état HTTP qui n'est pas configuré pour le basculement, CloudFront renvoie la page d'erreur personnalisée aux lecteurs.

  • Renvoie une page d'erreur personnalisée pour l'origine secondaire : si CloudFront l'origine secondaire envoie un code d'état de défaillance, CloudFront renvoie la page d'erreur personnalisée.

Pour plus d'informations sur l'utilisation de pages d'erreur personnalisées avec CloudFront, consultezGénérez des réponses d'erreur personnalisées.