View a markdown version of this page

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 CloudFront basculement 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, bascule CloudFront automatiquement vers 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, consultez Création d’un groupe d’origine.

Après avoir configuré le basculement à l'origine pour un comportement de cache, effectuez les CloudFront opérations suivantes pour les requêtes des spectateurs :

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

  • En cas d'échec du 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, elle transmet 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 (lorsque 503 est défini comme code de basculement)

    • La réponse de l’origine principale dépasse le délai d’attente (délai dépassé) (lorsque le code 504 est défini comme code de basculement)

    CloudFront Achemine 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 basculer rapidement vers l'origine secondaire. Pour ajuster la rapidité CloudFront du basculement vers l'origine secondaire, consultezContrôle des délais d’expiration et des tentatives de l’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 en cas d'échec d'une demande à l'origine principale.

CloudFront bascule vers l'origine secondaire uniquement lorsque la méthode HTTP de la demande du visualiseur est GETHEAD, ouOPTIONS. CloudFront ne bascule pas lorsque l'utilisateur envoie une méthode HTTP différente (par exemple POSTPUT, et ainsi de suite).

Note

CloudFront ne basculera pas si ce paramètre OPTIONS n'est pas défini Méthodes HTTP mises en cache dans le comportement de votre cache.

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 à Console de gestion AWS et ouvrez la CloudFront console à 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, 429, 500, 502, 503 ou 504. Lorsque CloudFront reçoit une réponse contenant l'un des codes d'état que vous avez spécifiés, elle bascule vers l'origine secondaire.

    Note

    CloudFront bascule vers l'origine secondaire uniquement lorsque la méthode HTTP de la demande du visualiseur est GETHEAD, ouOPTIONS. CloudFront ne bascule pas lorsque l'utilisateur envoie une méthode HTTP différente (par exemple POSTPUT, et ainsi de suite).

  9. Dans Critères de sélection des origines, indiquez comment vos origines sont sélectionnées lorsque votre distribution achemine les demandes des utilisateurs. Vous pouvez choisir les options suivantes.

    Par défaut

    CloudFront utilisera la priorité d'origine par défaut que vous spécifiez sur la page Paramètres.

    Score de qualité des médias

    CloudFront suit et utilise ce score pour déterminer la première origine à laquelle transmettre la demande. Cela autorise également CloudFront à envoyer des HEAD requêtes asynchrones à l'origine alternative du groupe d'origine afin de déterminer son score de qualité multimédia. Vous ne pouvez choisir cette option que pour les origines de la AWS Elemental MediaPackage v2. Pour plus d’informations, consultez Résilience tenant compte de la qualité média.

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

Assurez-vous de définir votre groupe d’origines comme origine pour le comportement de cache de votre distribution. Pour plus d’informations, consultez Nom.

Contrôle des délais d’expiration et des tentatives de l’origine

Par défaut, CloudFront essaie de se connecter à l'origine principale d'un groupe d'origine pendant 30 secondes (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 basculer plus rapidement vers l'origine secondaire. Vous pouvez ajuster les paramètres suivants pour modifier la rapidité du CloudFront basculement vers l'origine secondaire. Si l'origine est une origine secondaire ou une origine qui ne fait pas partie d'un groupe d'origine, ces paramètres influent sur la rapidité CloudFront avec laquelle une réponse HTTP 504 est renvoyée à l'utilisateur.

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 à l'origine affecte la durée d' CloudFront attente lors de la tentative d'établissement d'une connexion avec l'origine. Par défaut, le CloudFront délai d'attente est de 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 à l'origine affecte le nombre de CloudFront tentatives de connexion à l'origine. Par défaut, CloudFront essaie de se connecter 3 fois, 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 d'un délai de réponse d'origine.

Délai de réponse de l’origine

Le délai de réponse de l'origine, également appelé délai de lecture de l'origine, affecte le temps d' CloudFront attente avant de recevoir une réponse (ou de recevoir la réponse complète) de l'origine. Par défaut, le CloudFront délai d'attente est de 30 secondes, mais vous pouvez spécifier 1 à 120 secondes (inclus). Pour plus d’informations, consultez Délai de réponse.

Comment modifier ces paramètres

Pour modifier ces paramètres dans la console CloudFront

  • 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 plus d’informations, consultez Référence de tous les 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 requête à 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 lors de l' CloudFront envoi de la même requête à 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 Ajout de déclencheurs pour une fonction Lambda@Edge.

Pour plus d’informations sur la gestion du basculement DNS, consultez Configuration du basculement DNS dans le Guide du développeur Amazon Route 53.

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) :

  • Renvoie 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 utilisateurs.

  • Renvoie une page d'erreur personnalisée pour l'origine secondaire  : si l'origine secondaire CloudFront reçoit un code d'état d'échec, 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ération de réponses aux·erreurs personnalisées.