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.
Optimisation de la haute disponibilité avec le basculement d’origine CloudFront
Vous pouvez configurer CloudFront avec le basculement d'origine pour les scénarios qui nécessitent 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 une défaillance, CloudFront bascule 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.
Une fois que vous avez configuré le basculement d'origine pour un comportement de cache, CloudFront exécute les opérations suivantes pour les demandes utilisateur :
-
En cas de correspondance dans le cache, CloudFront renvoie l’objet demandé.
-
Lorsqu'il y a un échec de cache, CloudFront achemine la demande vers l'origine principale dans le 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, CloudFront sert l’objet demandé à l'utilisateur.
-
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 le code 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 alors la demande vers l'origine secondaire dans le groupe d'origine.
Note
Dans certains cas d'utilisation, comme le streaming de contenu vidéo, vous voudrez que CloudFront bascule vers l'origine secondaire. Pour ajuster la vitesse de basculement de CloudFront vers l'origine secondaire, consultez Contrô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 basculé sur l'origine secondaire. CloudFront n'envoie des demandes à l'origine secondaire qu'après l'échec d'une demande à l'origine principale.
CloudFront ne passe pas à l'origine secondaire que lorsque la méthode HTTP de la demande utilisateur est GET, HEAD ou OPTIONS. CloudFront ne bascule pas lorsque une autre méthode HTTP (par exemple POST, PUT, et ainsi de suite) est envoyée.
Le graphique suivant illustre le fonctionnement du basculement d'origine
Rubriques
Création d’un groupe d’origine
Pour créer un groupe d'origine
Connectez-vous à AWS Management Console et ouvrez la console CloudFront à l’adresse https://console.aws.amazon.com/cloudfront/v4/home
. -
Choisissez la distribution pour laquelle vous souhaitez créer le groupe d'origine.
-
Choisissez l’onglet Origines.
-
Assurez-vous qu’il existe plusieurs origines pour la distribution. Si ce n'est pas le cas, ajoutez une deuxième origine.
-
Sous l'onglet Origins (Origines) du volet Origin groups (Groupes d'origines), choisissez Create origin group (Créer un groupe d'origines).
-
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.
-
Saisissez un nom pour le groupe d’origines.
-
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. Lorsque 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 ne passe pas à l'origine secondaire que lorsque la méthode HTTP de la demande utilisateur est
GET,HEADouOPTIONS. CloudFront ne bascule pas lorsque une autre méthode HTTP (par exemplePOST,PUT, et ainsi de suite) est envoyée. -
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 transférer la demande. CloudFront est également autorisé à effectuer des requêtes
HEADasynchrones vers l’origine alternative du groupe d’origines afin de déterminer son score de qualité des médias. Vous pouvez choisir cette option uniquement pour les origines AWS Elemental MediaPackage v2. Pour plus d’informations, consultez Résilience tenant compte de la qualité média.
-
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 Name.
Contrôle des délais d’expiration et des tentatives de l’origine
Par défaut, CloudFront tente 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. Pour certains cas d'utilisation, comme le streaming de contenu vidéo, vous voudrez peut-être que CloudFront bascule plus rapidement vers l'origine secondaire. Vous pouvez définir les paramètres suivants pour régler la vitesse de basculement de CloudFront 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 affectent la rapidité avec laquelle CloudFront renvoie une réponse HTTP 504 à 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 d'origine affecte le temps d'attente de CloudFront lors de la tentative d'établissement d'une connexion à l'origine. Par défaut, CloudFront attend 10 secondes pour établir une connexion, mais vous pouvez spécifier entre 1 et 10 secondes (incluses). Pour plus d’informations, consultez Délai de connexion.
- Tentatives de connexion de l'origine
-
Le paramètre de tentatives de connexion de l'origine affecte le nombre de tentatives de connexion à l'origine réalisées par CloudFront. Par défaut, CloudFront effectue trois tentatives de connexion, mais vous pouvez en spécifier entre 1 et 3 (incluses). 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), cette valeur spécifie également le nombre de tentatives de CloudFront pour obtenir une réponse de la part de l'origine en cas de délai de réponse de l'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, détermine la durée pendant laquelle CloudFront attend une réponse (ou la réponse complète) de l’origine. Par défaut, CloudFront attend 30 secondes, mais vous pouvez spécifier entre 1 et 120 secondes (incluses). 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 les distributions CloudFront 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 :
-
Vous créez une fonction Lambda@Edge avec un déclencheur de demande d'origine.
-
La fonction Lambda est déclenchée une fois lorsque CloudFront envoie une demande à l'origine principale (en cas d'échec du cache).
-
L'origine principale répond avec un code d'état HTTP configuré pour le basculement.
-
La fonction Lambda est déclenchée à nouveau lorsque 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.
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) :
-
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 utilisateurs.
-
Renvoyer une page d'erreur personnalisée pour l'origine secondaire : si CloudFront reçoit un code d'état d'échec de l'origine secondaire, CloudFront renvoie la page d'erreur personnalisée.
Pour plus d'informations sur l'utilisation des pages d'erreur personnalisées avec CloudFront, consultez Génération de réponses d’erreur personnalisées.