0

J'ai un site Web s3post.cf qui obtient un .json.gz d'un AWS CloudFront distribution qui a un S3 bucket comme origine.Comment vérifier si CloudFront bascule sur une autre distribution active?

J'ai activé la réplication inter-région pour ce compartiment avec another bucket et configurer un second CloudFront distribution.

Sur la route 53, je crée un bilan de santé associé à un fichier dans le premier seau cloudfront.s3post.cf et configurer un basculement CloudFront -

  • La deuxième distribution backup.s3post.cf a une politique de routage simple à son nom de domaine de la distribution de CloudFront.
  • La première distribution post.s3post.cf a une politique de basculement primaire associée à healthcheck mentionné ci-dessus.
  • post.s3post.cf a également une stratégie de basculement secondaire qui utilise backup.s3post.cf (la deuxième distribution) comme son alias.

Pour tester cette configuration, j'ai supprimé les autorisations publiques à partir du fichier de contrôle de la santé. Le bilan de santé a échoué et mon site est toujours en vie. Toutefois, le fichier .json.gz dans les deux compartiments est public, donc je ne suis pas sûr si le basculement a réussi.

Comment puis-je tester si post.s3post.cf a effectivement échoué à backup.s3post.cf? Je ne peux pas simplement supprimer le fichier .json.gz car il est également supprimé dans le deuxième compartiment en raison de la réplication entre régions.

Répondre

1

Une vérification de vos journaux d'accès CloudFront vous indiquera que les demandes sont toujours diffusées à partir de la distribution principale. Ce que vous tentez de faire ne tient pas compte de la manière dont CloudFront décide quelle distribution gère une requête donnée - ce n'est pas via DNS.

CloudFront utilise seulement l'en-tête Host: envoyé par le navigateur, de décider quels services de distribution de chaque requête entrante.

Tant que le DNS CNAME décide de toute distribution CloudFront, la demande arrive toujours à CloudFront - mais CloudFront, comme tout serveur Web ou proxy, ne connaît toujours pas la voie de la résolution. Il sait seulement quel site le navigateur pense que vous vouliez - le nom d'hôte affiché dans la barre d'adresse. C'est la distribution qui servira vos demandes, indépendamment de la configuration du DNS.

Cette stratégie ne fonctionnera pas.

+0

Vous avez raison. Cette stratégie s'est effondrée. Est-ce que je peux y arriver? Je veux fondamentalement implémenter un scénario de basculement où si un compartiment S3 servant des fichiers via CloudFront tombe en panne dans une région, un compartiment S3 de sauvegarde dans une autre région se déclencherait. Toutes les suggestions seraient vraiment utiles. –

+0

Vous pouvez le faire avec un serveur proxy inverse dans EC2 qui gère les réécritures d'en-tête dans la région de basculement, mais il n'existe pas de solution all-native-services en ce moment - vous devrez fournir certains de vos propres composants. –