Buat 2 ember dengan hosting situs web statis diaktifkan dan pastikan replikasi lintas wilayah diaktifkan dan objek sedang direplikasi ke ember tujuan.
Buat distribusi CloudFront dan gunakan ember S3 primer sebagai asal.
Buat R53 Health Check menargetkan CNAME DISTRIBUSI CF (D123456789.Cloudfront.net juga bekerja) termasuk Objek Periksa Path of Health (mis. D123456789.Cloudfront.net/healthcheck.txt)
Perluas konfigurasi lanjutan di bawah pemeriksaan kesehatan dan atur interval permintaan standar (30 detik) dan ambang kegagalan setidaknya 3.
Buat alarm baru dan pilih topik SNS yang ada atau baru (harus di wilayah US-East-1)
Buat fungsi Lambda baru di wilayah mana pun selain us-east-1 menggunakan s3_site_failover.py.
Buat pemicu SNS baru untuk fungsi Lambda menggunakan perintah CLI di bawah ini.
Buat langganan SNS baru untuk fungsi lambda:
aws sns subscribe --topic-arn "YourSNSTopicARN" --protocol lambda --notification-endpoint "YourLambdaARN" --region "us-east-1"
Buat Lambda Invoke Izin untuk SNS untuk Invoke Function:
aws lambda add-permission --function-name "YourLambdaARN" --statement-id "HealthCheck_SNS_Lambda" --action "lambda:InvokeFunction" --principal "sns.amazonaws.com" --source-arn "YourSNSTopicARN"
Pastikan kedua kebijakan bucket memungkinkan akses baca publik di ember.
Unggah kesalahan baru.html ke dalam ember sumber untuk menghindari melihat 403 respons untuk kueri URI untuk objek yang tidak ada.
S3 -> Bucket -> Properties -> Static website hosting -> Error document
Unggah Objek Periksa Kesehatan ke dalam ember S3 asli dengan header kontrol cache diatur ke No-Cache (ini akan membantu meniadakan positif palsu dengan R53 HealthCheck):
aws s3 cp "local/path/healthcheck.txt" "s3://bucketName/healthcheck.txt" --cache-control no-cache
Simulasi kegagalan ember dengan mengubah izin atau menghapus objek cek kesehatan. Ini akan mengakibatkan kegagalan pemeriksaan kesehatan R53 dan memicu SNS/lambda untuk prosedur failover.