ApsaraDB RDS untuk PostgreSQL secara otomatis mengalihkan beban kerja dari instans utama ke instans secondary saat instans utama mengalami kegagalan. Setelah alih bencana, instans secondary menjadi instans utama yang baru, dan titik akhir koneksi tetap tidak berubah sehingga aplikasi Anda dapat terhubung kembali secara otomatis. Anda juga dapat memicu alih manual untuk latihan pemulihan bencana atau untuk mengurangi latensi pada penerapan multi-zona.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
-
Instans RDS yang menjalankan RDS Edisi Ketersediaan Tinggi atau RDS Edisi Kluster
RDS Edisi Dasar tidak menyediakan instans secondary dan tidak mendukung alih utama/secondary.
Pada instans RDS for MySQL yang menjalankan RDS Edisi Ketersediaan Tinggi, data disinkronkan antara node utama dan node secondary secara real time. Anda hanya dapat mengakses node utama instans tersebut. Node secondary hanya berjalan sebagai standby dan tidak dapat diakses secara langsung.
Dampak potensial
Sebelum memicu failover, pahami dampak berikut:
-
Gangguan layanan: Alih bencana menyebabkan downtime sekitar 30 detik. Waktu alih bencana dapat lebih lama jika instans mengalami kegagalan. Konfigurasikan aplikasi Anda agar terhubung kembali secara otomatis setelah terputus. Jika aplikasi Anda menggunakan kolam koneksi Druid, upgrade Druid ke versi 1.1.16 atau yang lebih baru untuk memastikan koneksi ulang otomatis berfungsi dengan benar.
-
Keterlambatan instansi hanya baca: Setelah alih bencana, instansi hanya baca membangun kembali koneksi replikasinya ke instans utama yang baru. Harapkan keterlambatan data selama beberapa menit pada instansi hanya baca.
-
Stabilitas titik akhir: Titik akhir koneksi tetap tidak berubah setelah alih bencana. Alamat IP yang terkait dengan titik akhir tersebut mungkin berubah, jadi lakukan koneksi menggunakan hostname titik akhir, bukan alamat IP.
Picu alih manual
Picu alih manual untuk latihan pemulihan bencana atau saat menggunakan penerapan multi-zona dan Anda ingin aplikasi terhubung ke instans di zona terdekat.
-
Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS Anda berada. Lalu temukan instans tersebut dan klik ID-nya.
-
Di panel navigasi kiri, klik Service Availability.
-
Di bagian Availability Information, klik Switch Primary/Secondary Instance.
-
Atur parameter Switching Time dan klik OK.
Kami menyarankan Anda memilih Switch Within Maintenance Window.
Option Description Switch Now Memicu alih bencana segera. Switch Within Maintenance Window Menunda failover ke jendela pemeliharaan berikutnya guna meminimalkan dampak terhadap beban kerja yang sedang berjalan.
Selama alih bencana, operasi seperti manajemen database dan akun serta perubahan jenis jaringan tidak tersedia.
Nonaktifkan sementara alih otomatis
Secara default, alih utama/secondary otomatis diaktifkan. Ketika instans utama gagal, sistem secara otomatis mengalihkan beban kerja ke instans secondary. Untuk informasi lebih lanjut tentang penyebab alih utama/secondary, lihat Reasons for primary/secondary switchovers. Anda dapat menonaktifkan sementara perilaku ini dalam skenario berikut:
-
Promosi penjualan skala besar
-
Peningkatan aplikasi kritis
-
Event besar yang memerlukan konektivitas database yang stabil
Hanya RDS Edisi Ketersediaan Tinggi dengan cloud disk dan RDS Edisi Kluster dengan cloud disk yang mendukung penonaktifan sementara alih otomatis.
Untuk menonaktifkan alih otomatis:
-
Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS Anda berada. Lalu temukan instans tersebut dan klik ID-nya.
-
Di panel navigasi kiri, klik Service Availability.
-
Di bagian Availability Information, klik Configure Primary/Secondary Switchover.
Jika Configure Primary/Secondary Switchover tidak ditampilkan, verifikasi bahwa instans Anda menjalankan RDS Edisi Ketersediaan Tinggi.
-
Pilih Disable Temporarily, atur parameter Deadline, dan klik OK.
Alih otomatis akan diaktifkan kembali saat tenggat waktu tiba. Jika Anda tidak mengatur tenggat waktu, alih otomatis dinonaktifkan selama satu hari secara default. Tenggat waktu maksimum adalah pukul 23:59:59 tujuh hari dari sekarang.
Setelah disimpan, tenggat waktu akan ditampilkan di halaman Service Availability sehingga Anda dapat memastikan kapan alih otomatis akan dilanjutkan.
Lihat log alih bencana
-
Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS Anda berada. Lalu temukan instans tersebut dan klik ID-nya.
-
Di panel navigasi kiri, klik Service Availability.
-
Di bagian Primary/Secondary Switching Logs, pilih rentang waktu untuk melihat log alih bencana yang dihasilkan selama periode tersebut.
Instansi hanya baca yang menjalankan RDS Edisi Ketersediaan Tinggi juga mendukung penampilan log alih utama/secondary.
FAQ
Apakah saya perlu mengalihkan beban kerja kembali ke instans utama asal setelah alih bencana?
Tidak. Setelah alih bencana, instans secondary menjadi instans utama yang baru dengan data yang sama. Tidak diperlukan tindakan tambahan.
Setelah alih bencana, aplikasi saya berperilaku tidak normal selama beberapa menit. Apa penyebabnya dan bagaimana cara memperbaikinya?
Hal ini biasanya terjadi ketika koneksi socket tidak dikonfigurasi dengan timeout. Tanpa timeout, aplikasi Anda menunggu tanpa batas untuk tanggapan database setelah koneksi lama tidak valid, menyebabkan pernyataan SQL mengantre dan gagal.
Atur connectTimeout dan socketTimeout pada koneksi database Anda untuk membatasi berapa lama aplikasi menunggu selama terjadi error jaringan. Untuk workload transaksi online, atur connectTimeout menjadi 1–2 detik dan socketTimeout menjadi 60–90 detik. Sesuaikan nilai-nilai ini berdasarkan workload aktual dan kebutuhan latensi Anda.
Referensi API
| Operation | Description |
|---|---|
| SwitchDBInstanceHA | Mengalihkan workload antara instans utama dan instans secondary |
| ModifyHASwitchConfig | Mengaktifkan atau menonaktifkan alih utama/secondary otomatis |
| DescribeHASwitchConfig | Menanyakan pengaturan alih otomatis untuk suatu instans |