Tengo un sitio web s3post.cf que obtiene un .json.gz de una distribución de AWS CloudFront que tiene un depósito S3 como origen.
Habilité la replicación entre regiones para ese depósito con otro depósito y configuré una segunda distribución de CloudFront .
En Route 53, creé una verificación de estado asociada con un archivo en el primer depósito cloudfront.s3post.cf y configuré una conmutación por error de CloudFront:
backup.s3post.cf , tiene una política de enrutamiento simple al nombre de dominio de su distribución CloudFront.post.s3post.cf , tiene una política de conmutación por error principal asociada con el control de salud mencionado anteriormente.post.s3post.cf también tiene una política de conmutación por error secundaria que usa backup.s3post.cf (la segunda distribución) como su alias. Para probar esta configuración, eliminé los permisos públicos del archivo de verificación de estado. La verificación de salud falló y mi sitio aún está activo. Sin embargo, el archivo .json.gz en ambos depósitos es público, por lo que no estoy seguro de si la conmutación por error tuvo éxito.
¿Cómo puedo probar si post.s3post.cf realmente se conmutó a backup.s3post.cf ? No puedo simplemente eliminar el archivo .json.gz , ya que también se elimina en el segundo depósito debido a la replicación entre regiones.
Una verificación de sus registros de acceso de CloudFront le mostrará que las solicitudes aún se están atendiendo desde la distribución principal. Lo que está intentando no tiene en cuenta cómo CloudFront decide qué distribución maneja una solicitud determinada; no es a través de DNS.
CloudFront usa solo el encabezado Host: enviado por el navegador, para decidir qué servicios de distribución recibe cada solicitud entrante.
Siempre que el DNS CNAME se resuelva en cualquier distribución de CloudFront, la solicitud seguirá llegando a CloudFront, pero CloudFront, al igual que cualquier servidor web o proxy, desconoce la ruta de resolución. Solo sabe qué sitio cree el navegador que desea : el nombre de host que se muestra en la barra de direcciones. Esa es la distribución que atenderá sus solicitudes, independientemente de cómo esté configurado el DNS.
Esta estrategia no funcionará.
Creo que ahora puede lograr esto usando Grupos de origen y conmutación por error de origen de CloudFront. https://aws.amazon.com/about-aws/whats-new/2018/11/amazon-cloudfront-announces-support-for-origin-failover/