Cree 2 cubos con alojamiento de sitios web estático habilitado y garantice que la replicación de región cruzada esté habilitada y los objetos se están replicando al cubo de destino.
Cree una distribución de Cloudfront y use el cubo S3 primario como origen.
Cree una nueva verificación de salud R53 dirigida a CNAME de CF Distribution (D123456789.Cloudfront.net también funciona), incluida la ruta del objeto de verificación de salud (por ejemplo, D123456789.cloudfront.net/Healthcheck.txt)
Amplíe la configuración avanzada bajo verificación de salud y establecer el intervalo de solicitud de estándar (30 segundos) y el umbral de falla de al menos 3.
Cree una nueva alarma y seleccione un tema SNS existente o un nuevo (debe estar en la región estadounidense-East-1)
Cree una nueva función Lambda en cualquier región que no sea US-East-1 usando el S3_Site_FaIlover.py.
Cree un nuevo disparador SNS para la función Lambda utilizando los comandos CLI a continuación.
Cree una nueva suscripción SNS para la función Lambda:
aws sns subscribe --topic-arn "YourSNSTopicARN" --protocol lambda --notification-endpoint "YourLambdaARN" --region "us-east-1"
Cree permisos de invocación Lambda para que SNS invoque la función:
aws lambda add-permission --function-name "YourLambdaARN" --statement-id "HealthCheck_SNS_Lambda" --action "lambda:InvokeFunction" --principal "sns.amazonaws.com" --source-arn "YourSNSTopicARN"
Asegúrese de que ambas políticas de cubo permitan acceso de lectura pública en el cubo.
Cargue una nueva página de error.
S3 -> Bucket -> Properties -> Static website hosting -> Error document
Cargue un objeto de verificación de salud en el cubo S3 original con encabezado de control de caché establecido en no caché (esto ayudará a negar falsos positivos con R53 HealthCheck):
aws s3 cp "local/path/healthcheck.txt" "s3://bucketName/healthcheck.txt" --cache-control no-cache
Simule una falla en el cubo cambiando el permiso o eliminando el objeto de verificación de salud. Esto dará como resultado una falla de verificación de salud R53 y activar SNS/Lambda para el procedimiento de conmutación por error.