

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Konfigurasikan pemeriksaan kesehatan khusus untuk failover DNS untuk API Gateway API
<a name="dns-failover"></a>

Anda dapat menggunakan pemeriksaan kesehatan Amazon Route 53 untuk mengontrol failover DNS dari API Gateway API di primer Wilayah AWS ke salah satu di Wilayah sekunder. Ini dapat membantu mengurangi dampak jika terjadi masalah Regional. Jika Anda menggunakan domain kustom, Anda dapat melakukan failover tanpa mengharuskan klien untuk mengubah titik akhir API.

Bila Anda memilih [Evaluasi Kesehatan Target](https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-EvaluateTargetHealth>Evaluate Target Health) untuk catatan alias, catatan tersebut gagal hanya jika layanan API Gateway tidak tersedia di Wilayah. Dalam beberapa kasus, API Gateway Anda sendiri APIs dapat mengalami gangguan sebelum waktu itu. Untuk mengontrol failover DNS secara langsung, konfigurasikan pemeriksaan kesehatan Route 53 kustom untuk API Gateway Anda. APIs Untuk contoh ini, Anda menggunakan CloudWatch alarm yang membantu operator mengontrol failover DNS. Untuk lebih banyak contoh dan pertimbangan lain saat Anda mengonfigurasi failover, lihat [Membuat Mekanisme Pemulihan Bencana Menggunakan Rute 53](https://aws.amazon.com/blogs/networking-and-content-delivery/creating-disaster-recovery-mechanisms-using-amazon-route-53/) dan [Melakukan pemeriksaan kesehatan Route 53 pada sumber daya pribadi di VPC](https://aws.amazon.com/blogs/networking-and-content-delivery/performing-route-53-health-checks-on-private-resources-in-a-vpc-with-aws-lambda-and-amazon-cloudwatch/) dengan dan. AWS Lambda CloudWatch

**Topics**
+ [Prasyarat](#dns-failover-prereqs)
+ [Langkah 1: Siapkan sumber daya](#dns-failover-intial-setup)
+ [Langkah 2: Memulai failover ke Wilayah sekunder](#dns-failover-initiate)
+ [Langkah 3: Uji failover](#dns-failover-test)
+ [Langkah 4: Kembali ke wilayah utama](#dns-failover-return)
+ [Langkah selanjutnya: Sesuaikan dan uji secara teratur](#dns-failover-next-steps)

## Prasyarat
<a name="dns-failover-prereqs"></a>

Untuk menyelesaikan prosedur ini, Anda harus membuat dan mengonfigurasi sumber daya berikut:
+ Nama domain yang Anda miliki.
+ Sertifikat ACM untuk nama domain itu menjadi dua Wilayah AWS. Untuk info lebih lanjut, lihat[Prasyarat untuk nama domain khusus](how-to-custom-domains.md#how-to-custom-domains-prerequisites).
+ Zona yang dihosting Route 53 untuk nama domain Anda. Untuk informasi selengkapnya, lihat [Bekerja dengan zona yang dihosting](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-working-with.html) di Panduan Pengembang Amazon Route 53.

Untuk informasi selengkapnya tentang cara membuat catatan DNS failover Route 53 untuk nama domain, lihat [Memilih kebijakan perutean](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) di Panduan Pengembang Amazon Route 53. Untuk informasi selengkapnya tentang cara memantau CloudWatch alarm, lihat [Memantau CloudWatch alarm](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-creating-values.html#health-checks-creating-values-cloudwatch) di Panduan Pengembang Amazon Route 53.

## Langkah 1: Siapkan sumber daya
<a name="dns-failover-intial-setup"></a>

Dalam contoh ini, Anda membuat sumber daya berikut untuk mengonfigurasi failover DNS untuk nama domain Anda:
+ API Gateway APIs menjadi dua Wilayah AWS
+ API Gateway nama domain kustom dengan nama yang sama dalam dua Wilayah AWS
+ Pemetaan API Gateway API yang menghubungkan API Gateway Anda APIs ke nama domain khusus
+ Route 53 catatan DNS failover untuk nama domain
+  CloudWatch Alarm di Wilayah sekunder
+ Pemeriksaan kesehatan Rute 53 berdasarkan CloudWatch alarm di Wilayah sekunder

Pertama, pastikan Anda memiliki semua sumber daya yang diperlukan di Wilayah primer dan sekunder. Wilayah sekunder harus berisi alarm dan pemeriksaan kesehatan. Dengan cara ini, Anda tidak bergantung pada Wilayah utama untuk melakukan failover. Misalnya CloudFormation template yang membuat sumber daya ini, lihat [samples/primary.zip](samples/primary.zip)dan [samples/secondary.zip](samples/secondary.zip).

**penting**  
Sebelum failover ke Wilayah sekunder, pastikan bahwa semua sumber daya yang diperlukan tersedia. Jika tidak, API Anda tidak akan siap untuk lalu lintas di Wilayah sekunder. 

## Langkah 2: Memulai failover ke Wilayah sekunder
<a name="dns-failover-initiate"></a>

Dalam contoh berikut, Region siaga menerima CloudWatch metrik dan memulai failover. Kami menggunakan metrik khusus yang memerlukan intervensi operator untuk memulai failover.

```
aws cloudwatch put-metric-data \
    --metric-name Failover \
    --namespace HealthCheck \
    --unit Count \
    --value 1 \
    --region us-west-1
```

Ganti data metrik dengan data yang sesuai untuk CloudWatch alarm yang Anda konfigurasikan.

## Langkah 3: Uji failover
<a name="dns-failover-test"></a>

Panggil API Anda dan verifikasi bahwa Anda mendapatkan respons dari Wilayah sekunder. Jika Anda menggunakan contoh templat di langkah 1, respons berubah dari `{"message": "Hello from the primary Region!"}` ke `{"message": "Hello from the secondary Region!"}` setelah failover.

```
curl https://my-api.example.com

{"message": "Hello from the secondary Region!"}
```

## Langkah 4: Kembali ke wilayah utama
<a name="dns-failover-return"></a>

Untuk kembali ke Wilayah utama, kirim CloudWatch metrik yang menyebabkan pemeriksaan kesehatan lulus.

```
aws cloudwatch put-metric-data \
    --metric-name Failover \
    --namespace HealthCheck \
    --unit Count \
    --value 0 \
    --region us-west-1
```

Ganti data metrik dengan data yang sesuai untuk CloudWatch alarm yang Anda konfigurasikan.

Panggil API Anda dan verifikasi bahwa Anda mendapatkan respons dari Wilayah utama. Jika Anda menggunakan contoh templat di langkah 1, respons berubah dari `{"message": "Hello from the secondary Region!"}` ke`{"message": "Hello from the primary Region!"}`.

```
curl https://my-api.example.com

{"message": "Hello from the primary Region!"}
```

## Langkah selanjutnya: Sesuaikan dan uji secara teratur
<a name="dns-failover-next-steps"></a>

Contoh ini menunjukkan salah satu cara untuk mengkonfigurasi failover DNS. Anda dapat menggunakan berbagai CloudWatch metrik atau titik akhir HTTP untuk pemeriksaan kesehatan yang mengelola failover. Uji mekanisme failover Anda secara teratur untuk memastikan bahwa mereka bekerja seperti yang diharapkan, dan operator terbiasa dengan prosedur failover Anda.