Menggunakan switchover atau failover dalam basis data global Amazon Aurora - Amazon Aurora

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

Menggunakan switchover atau failover dalam basis data global Amazon Aurora

Database global Aurora menyediakan lebih banyak kontinuitas bisnis dan perlindungan pemulihan bencana (BCDR) daripada ketersediaan standar tinggi yang disediakan oleh cluster Aurora DB dalam satu. Wilayah AWS Dengan menggunakan basis data global Aurora, Anda dapat membuat rencana dan melakukan pemulihan dari bencana Regional yang riil atau menyelesaikan pemadaman tingkat layanan dengan cepat. Pemulihan dari bencana biasanya didorong oleh dua tujuan bisnis berikut:

  • Tujuan waktu pemulihan (RTO) — Waktu yang dibutuhkan sistem untuk kembali ke keadaan kerja setelah bencana atau pemadaman layanan. Dengan kata lain, RTO mengukur downtime. Untuk database global Aurora, RTO bisa dalam urutan menit.

  • Tujuan titik pemulihan (RPO) — Jumlah data yang dapat hilang (diukur dalam waktu) setelah bencana atau pemadaman layanan. Kehilangan data tersebut biasanya disebabkan oleh keterlambatan replikasi asinkron. Untuk database global Aurora, biasanya RPO diukur dalam hitungan detik. Dengan database global SQL berbasis Aurora Postgre, Anda dapat menggunakan rds.global_db_rpo parameter untuk mengatur dan melacak batas atasRPO, tetapi hal itu dapat memengaruhi pemrosesan transaksi pada node penulis klaster utama. Untuk informasi selengkapnya, lihat Mengelola RPOs database global berbasis Aurora Postgre SQL.

Melakukan switchover atau failover terhadap basis data global Aurora melibatkan tindakan promosi klaster DB di salah satu Wilayah sekunder basis data global Anda menjadi klaster DB primer. Istilah "pemadaman regional" sering kali digunakan untuk mendeskripsikan berbagai skenario kegagalan. Skenario terburuk dapat berupa pemadaman luas karena peristiwa bencana yang memengaruhi wilayah seluas ratusan mil persegi. Namun, kebanyakan pemadaman sudah jauh lebih terlokalisasi, dengan hanya memengaruhi sebagian kecil subset layanan cloud atau sistem pelanggan. Pertimbangkan cakupan pemadaman secara menyeluruh untuk memastikan bahwa failover lintas Wilayah merupakan solusi yang tepat dan untuk memilih metode failover yang sesuai dengan situasi tersebut. Penggunaan pendekatan failover atau switchover bergantung pada skenario pemadaman tertentu:

  • Failover—Gunakan pendekatan ini untuk melakukan pemulihan dari pemadaman yang tidak direncanakan. Dengan pendekatan ini, Anda melakukan failover lintas Wilayah ke salah satu klaster DB sekunder dalam basis data global Aurora Anda. RPOUntuk pendekatan ini biasanya nilai bukan nol yang diukur dalam hitungan detik. Jumlah kehilangan data tergantung pada kelambatan replikasi database global Aurora Wilayah AWS pada saat kegagalan. Untuk mempelajari selengkapnya, lihat Memulihkan basis data global Amazon Aurora dari pemadaman yang tidak direncanakan.

  • Switchover—Operasi ini sebelumnya disebut "failover terencana terkelola". Gunakan pendekatan ini untuk skenario terkontrol, seperti pemeliharaan operasional dan prosedur operasional terencana lainnya. Karena fitur ini menyinkronkan cluster DB sekunder dengan primer sebelum membuat perubahan lain, RPO adalah 0 (tidak ada kehilangan data). Untuk mempelajari selengkapnya, lihat Melakukan switchover untuk basis data global Amazon Aurora.

catatan

Jika ingin melakukan switchover atau failover ke klaster DB Aurora sekunder headless, Anda harus terlebih dahulu menambahkan instans DB ke klaster tersebut. Untuk informasi selengkapnya tentang klaster DB headless, lihat Membuat klaster DB Aurora tanpa kepala di Wilayah sekunder.

Memulihkan basis data global Amazon Aurora dari pemadaman yang tidak direncanakan

Pada kesempatan yang sangat langka, basis data global Aurora Anda mungkin mengalami pemadaman yang tak terduga di Wilayah AWS primernya. Jika hal ini terjadi, klaster DB Aurora primer dan simpul penulisnya tidak akan tersedia, dan replikasi antara klaster DB primer dan sekunder akan terhenti. Untuk meminimalkan downtime (RTO) dan kehilangan data (RPO), Anda dapat bekerja dengan cepat untuk melakukan failover lintas wilayah.

Terdapat dua metode untuk melakukan failover dalam situasi pemulihan bencana:

  • Failover terkelola—Metode ini direkomendasikan untuk pemulihan bencana. Jika Anda menggunakan metode ini, Aurora akan secara otomatis menambahkan kembali Wilayah primer yang lama ke basis data global sebagai Wilayah sekunder saat sudah tersedia lagi. Dengan begitu, topologi asli klaster global akan dipertahankan. Untuk mempelajari cara menggunakan metode ini, lihat Melakukan failover terkelola untuk basis data global Aurora.

  • Failover manual—Metode alternatif ini dapat digunakan ketika failover terkelola bukan merupakan pilihan, misalnya, ketika Wilayah primer dan sekunder Anda menjalankan versi mesin yang tidak kompatibel. Untuk mempelajari cara menggunakan metode ini, lihat Melakukan failover manual untuk basis data global Aurora.

penting

Kedua metode failover tersebut dapat mengakibatkan hilangnya data transaksi tulis yang tidak direplikasi ke tujuan sekunder yang dipilih sebelum peristiwa failover terjadi. Namun, proses pemulihan yang mempromosikan instans DB pada klaster DB sekunder pilihan menjadi instans DB penulis primer akan memastikan bahwa data berada dalam kondisi yang konsisten secara transaksional.

Melakukan failover terkelola untuk basis data global Aurora

Pendekatan ini ditujukan untuk kelangsungan bisnis saat terjadi bencana alam Regional yang riil atau pemadaman tingkat layanan secara menyeluruh.

Selama failover terkelola, klaster primer Anda melakukan failover ke Wilayah sekunder yang dipilih sekaligus mempertahankan topologi replikasi yang ada pada basis data global Aurora. Klaster sekunder yang dipilih mempromosikan salah satu simpul hanya-bacanya ke status penulis penuh. Langkah ini memungkinkan klaster untuk mengambil peran sebagai klaster primer. Basis data Anda tidak akan tersedia untuk sementara saat klaster ini mengambil peran barunya. Data yang tidak direplikasi dari klaster primer lama ke klaster sekunder pilihan akan hilang saat klaster sekunder ini menjadi klaster primer yang baru.

catatan

Anda hanya dapat melakukan failover basis data lintas Wilayah terkelola pada basis data global Aurora jika klaster DB primer dan sekunder memiliki versi mesin tingkat utama, minor, dan patch yang sama. Namun, tingkat patch bisa berbeda, tergantung versi mesin kecil. Untuk informasi selengkapnya, lihat Kompatibilitas tingkat patch untuk switchover dan failover lintas wilayah yang dikelola. Jika versi mesin Anda tidak kompatibel, Anda dapat melakukan failover secara manual dengan mengikuti langkah-langkah dalam Melakukan failover manual untuk basis data global Aurora.

Untuk meminimalkan kehilangan data, sebaiknya lakukan hal berikut sebelum menggunakan fitur ini:

  • Buat aplikasi menjadi offline untuk mencegah penulisan dikirim ke klaster primer basis data global Aurora.

  • Periksa waktu keterlambatan untuk semua klaster DB Aurora sekunder dalam basis data global Aurora. Memilih Wilayah sekunder dengan keterlambatan replikasi minimum dapat meminimalkan kehilangan data dari Wilayah primer yang mengalami kegagalan. Untuk semua basis data global berbasis Aurora Postgre dan untuk basis data global SQL berbasis Aurora SQL My yang dimulai dengan versi mesin 3.04.0 dan lebih tinggi, atau 2.12.0 dan lebih tinggi, gunakan Amazon untuk melihat metrik untuk semua cluster DB sekunder. CloudWatch AuroraGlobalDBRPOLag Untuk versi minor yang lebih rendah dari database global SQL berbasis Aurora My, lihat metrik sebagai AuroraGlobalDBReplicationLag gantinya. Metrik ini menunjukkan seberapa terlambatnya (dalam milidetik) replikasi ke klaster sekunder dibandingkan ke klaster DB primer.

    Untuk informasi selengkapnya tentang CloudWatch metrik untuk Aurora, lihat. Metrik tingkat klaster untuk Amazon Aurora

Selama failover terkelola, klaster DB sekunder yang dipilih dipromosikan ke peran barunya sebagai klaster primer. Namun, klaster ini tidak mewarisi berbagai opsi konfigurasi klaster DB primer. Ketidakcocokan dalam konfigurasi dapat menyebabkan masalah performa, inkompatibilitas beban kerja, dan perilaku anomali lainnya. Untuk mencegah masalah tersebut, sebaiknya atasi perbedaan di antara klaster basis data global Aurora untuk konfigurasi berikut:

  • Konfigurasi grup parameter klaster DB Aurora untuk klaster primer yang baru jika diperlukan—Anda dapat mengonfigurasi grup parameter klaster DB Aurora secara independen untuk masing-masing klaster Aurora dalam basis data global Aurora Anda. Karena itu, ketika Anda mempromosikan klaster DB sekunder untuk mengambil alih peran sebagai klaster primer, grup parameter dari klaster sekunder mungkin memiliki konfigurasi yang berbeda dengan klaster primer. Jika demikian, ubah grup parameter klaster DB sekunder yang dipromosikan agar sesuai dengan pengaturan klaster primer Anda. Untuk mempelajari caranya, lihat Memodifikasi parameter basis data global Aurora.

  • Konfigurasikan alat dan opsi pemantauan, seperti Amazon CloudWatch Events dan alarm — Konfigurasikan cluster DB yang dipromosikan dengan kemampuan logging, alarm, dan sebagainya yang sama sesuai kebutuhan untuk database global. Seperti grup parameter, konfigurasi untuk fitur ini tidak diwariskan dari klaster primer selama proses failover berlangsung. Beberapa CloudWatch metrik, seperti replikasi lag, hanya tersedia untuk Wilayah sekunder. Karena itu, failover akan mengubah cara Anda melihat metrik tersebut dan mengatur alarmnya, serta mengharuskan adanya perubahan pada dasbor yang ditentukan sebelumnya. Untuk informasi selengkapnya tentang klaster DB Aurora dan pemantauan, lihat Ikhtisar pemantauan Amazon Aurora.

  • Konfigurasikan integrasi dengan AWS layanan lain — Jika database global Aurora Anda terintegrasi AWS dengan layanan, AWS Secrets Manager seperti, AWS Identity and Access Management Amazon S3, AWS Lambda dan, Anda perlu memastikan ini dikonfigurasi sesuai kebutuhan. Untuk informasi selengkapnya tentang mengintegrasikan database global Aurora dengan IAM Amazon S3 dan Lambda, lihat. Menggunakan basis data global Amazon Aurora dengan layanan AWS lainnya Untuk mempelajari Secrets Manager selengkapnya, lihat Cara mengotomatiskan replikasi rahasia secara AWS Secrets Manager keseluruhan. Wilayah AWS

Biasanya, klaster sekunder yang dipilih akan mengasumsikan peran primer dalam beberapa menit. Segera setelah simpul penulis Wilayah primer baru tersedia, Anda dapat menghubungkan aplikasi Anda ke simpul tersebut dan melanjutkan beban kerja Anda. Setelah mempromosikan klaster primer yang baru, Aurora secara otomatis membangun ulang semua klaster Wilayah sekunder tambahan.

Karena basis data global Aurora menggunakan replikasi asinkron, keterlambatan replikasi di masing-masing Wilayah sekunder dapat bervariasi. Aurora membangun kembali Wilayah sekunder ini untuk memiliki point-in-time data yang sama persis dengan cluster Region primer yang baru. Durasi penyelesaian tugas pembangunan ulang dapat memerlukan waktu beberapa menit hingga beberapa jam, bergantung pada ukuran volume penyimpanan dan jarak di antara Wilayah. Saat klaster Wilayah sekunder selesai dibuat ulang dari Wilayah primer yang baru, klaster ini menjadi tersedia untuk akses baca.

Segera setelah penulis primer baru dipromosikan dan tersedia, klaster Wilayah primer yang baru dapat menangani operasi baca dan tulis untuk basis data global Aurora. Pastikan Anda mengubah titik akhir untuk aplikasi agar dapat menggunakan titik akhir yang baru. Jika Anda menyetujui nama yang disediakan saat membuat basis data global Aurora, Anda dapat mengubah titik akhir dengan menghapus -ro dari string titik akhir klaster yang dipromosikan dalam aplikasi Anda.

Sebagai contoh, titik akhir klaster sekunder my-global.cluster-ro-aaaaaabbbbbb.us-west-1.rds.amazonaws.com menjadi my-global.cluster-aaaaaabbbbbb.us-west-1.rds.amazonaws.com ketika klaster tersebut dipromosikan menjadi klaster primer.

Jika Anda menggunakan RDS Proxy, pastikan untuk mengalihkan operasi penulisan aplikasi Anda ke titik akhir baca/tulis proxy yang sesuai yang terkait dengan cluster utama baru. Titik akhir proksi ini mungkin merupakan titik akhir default atau titik akhir baca/tulis kustom. Untuk informasi selengkapnya, lihat Cara kerja titik akhir Proksi RDS dengan basis data global.

Untuk memulihkan topologi asli klaster basis data global, Aurora memantau ketersediaan Wilayah primer yang lama. Segera setelah Wilayah tersebut normal dan tersedia kembali, Aurora secara otomatis menambahkannya kembali ke klaster global sebagai Wilayah sekunder. Sebelum membuat volume penyimpanan baru di Wilayah primer yang lama, Aurora mencoba mengambil snapshot dari volume penyimpanan lama pada titik kegagalan. Hal ini dilakukan agar Anda dapat menggunakannya untuk memulihkan setiap data yang hilang. Jika operasi ini berhasil, Aurora menempatkan snapshot ini bernama “rds: - unplanned-global-failovername-of-old-primary-DB-cluster-timestamp“di bagian snapshot dari. AWS Management Console Anda juga dapat melihat snapshot ini tercantum dalam informasi yang dikembalikan oleh operasi D escribeDBCluster SnapshotsAPI.

catatan

Snapshot dari volume penyimpanan lama adalah snapshot sistem yang tunduk pada periode retensi pencadangan yang dikonfigurasi pada klaster primer yang lama. Untuk mempertahankan snapshot ini di luar periode retensi, Anda dapat menyalin snapshot untuk disimpan sebagai snapshot manual. Untuk mempelajari selengkapnya tentang cara menyalin snapshot, termasuk harga, lihat Penyalinan snapshot cluster DB.

Setelah topologi asli dipulihkan, Anda dapat mengembalikan basis data global ke Wilayah primer asli dengan melakukan operasi switchover jika dianggap sebagai tindakan terbaik untuk bisnis dan beban kerja Anda. Untuk melakukannya, ikuti langkah-langkah yang ada di Melakukan switchover untuk basis data global Amazon Aurora.

Anda dapat gagal atas basis data global Aurora Anda menggunakan AWS Management Console, AWS CLI, atau. RDS API

Untuk melakukan failover terkelola pada basis data global Aurora:
  1. Masuk ke AWS Management Console dan buka RDS konsol Amazon di https://console.aws.amazon.com/rds/.

  2. Pilih Basis Data, lalu temukan basis data global Aurora yang ingin Anda terapkan failover.

  3. Pilih Alihkan atau lakukan failover basis data global dari menu Tindakan.

    Menampilkan daftar Basis Data dengan basis data global yang dipilih dan menu Tindakan terbuka yang menampilkan opsi Alihkan atau lakukan failover basis data global.
  4. Pilih Failover (memungkinkan kehilangan data).

    Dialog Alihkan atau lakukan failover basis data global, dengan Failover (memungkinkan kehilangan data) dipilih.
  5. Untuk klaster primer baru, pilih klaster aktif di salah satu cluster sekunder Anda Wilayah AWS untuk menjadi cluster primer baru.

  6. Masukkan confirm, lalu pilih Konfirmasi.

Setelah failover selesai, Anda dapat melihat klaster DB Aurora dan statusnya saat ini di daftar Basis Data, sebagaimana ditunjukkan pada gambar berikut.

Menampilkan daftar Basis Data dengan basis data global yang dipilih. Klaster sekunder yang dipilih kini menunjukkan telah memiliki peran klaster primer dan klaster primer yang lama memiliki peran klaster sekunder.

Untuk melakukan failover terkelola pada basis data global Aurora:

Gunakan failover-global-cluster CLI perintah untuk gagal atas database global Aurora Anda. Dengan perintah tersebut, loloskan nilai untuk parameter berikut.

  • --region— Tentukan Wilayah AWS di mana cluster DB sekunder yang Anda inginkan menjadi primer baru untuk database global Aurora berjalan.

  • --global-cluster-identifier—Tentukan nama basis data global Aurora.

  • --target-db-cluster-identifier— Tentukan Nama Sumber Daya Amazon (ARN) dari cluster Aurora DB yang ingin Anda promosikan menjadi primer baru untuk database global Aurora.

  • --allow-data-loss—Secara eksplisit jadikan tindakan ini sebagai operasi failover, bukan operasi switchover. Operasi failover dapat membuat Anda kehilangan sejumlah data jika komponen replikasi asinkron belum selesai mengirim semua data yang direplikasi ke Wilayah sekunder.

Untuk Linux, macOS, atau Unix:

aws rds --region region_of_selected_secondary \ failover-global-cluster --global-cluster-identifier global_database_id \ --target-db-cluster-identifier arn_of_secondary_to_promote \ --allow-data-loss

Untuk Windows:

aws rds --region region_of_selected_secondary ^ failover-global-cluster --global-cluster-identifier global_database_id ^ --target-db-cluster-identifier arn_of_secondary_to_promote ^ --allow-data-loss

Untuk gagal atas database global Aurora, jalankan operasi. FailoverGlobalClusterAPI

Melakukan failover manual untuk basis data global Aurora

Dalam skenario tertentu, Anda mungkin tidak dapat menggunakan proses failover terkelola. Salah satu contohnya adalah jika klaster DB primer dan sekunder tidak menjalankan versi mesin yang kompatibel. Dalam kasus ini, Anda dapat mengikuti proses manual ini untuk melakukan failover basis data global ke Wilayah sekunder tujuan Anda.

Tip

Sebaiknya Anda memahami proses ini sebelum menggunakannya. Siapkan rencana untuk segera memulai saat pertama kali muncul tanda masalah tingkat Wilayah. Anda dapat siap mengidentifikasi Wilayah sekunder dengan kelambatan replikasi paling sedikit dengan menggunakan Amazon CloudWatch secara teratur untuk melacak waktu jeda untuk klaster sekunder. Pastikan Anda menguji rencana untuk memastikan prosedur sudah lengkap dan akurat, dan bahwa staf Anda terlatih untuk melakukan failover pemulihan bencana sebelum bencana benar-benar terjadi.

Untuk melakukan failover ke klaster sekunder secara manual setelah terjadi pemadaman tak terduga di Wilayah primer:
  1. Berhenti mengeluarkan DML pernyataan dan operasi penulisan lainnya ke cluster Aurora DB utama di with Wilayah AWS the outage.

  2. Identifikasi cluster Aurora DB dari sekunder Wilayah AWS untuk digunakan sebagai cluster DB primer baru. Jika Anda memiliki dua atau lebih sekunder Wilayah AWS dalam database global Aurora Anda, pilih cluster sekunder yang memiliki kelambatan replikasi paling sedikit.

  3. Lepaskan klaster DB sekunder pilihan Anda dari basis data global Aurora.

    Pelepasan klaster DB sekunder dari basis data global Aurora akan segera menghentikan replikasi dari klaster primer ke klaster sekunder tersebut dan mempromosikannya menjadi klaster DB Aurora yang berdiri sendiri dengan kapabilitas baca/tulis penuh. Klaster DB Aurora sekunder lainnya yang terkait dengan klaster primer di Wilayah yang mengalami pemadaman akan tetap tersedia dan dapat menerima panggilan dari aplikasi Anda. Klaster tersebut juga mengonsumsi sumber daya. Karena Anda membuat ulang basis data global Aurora, hapus klaster DB sekunder lainnya sebelum membuat basis data global Aurora yang baru dengan mengikuti langkah-langkah berikut. Tindakan ini akan mencegah inkonsistensi data di antara klaster DB dalam basis data global Aurora (masalah split-brain).

    Untuk langkah-langkah pelepasan terperinci, lihat Menghapus klaster dari basis data global Amazon Aurora.

  4. Konfigurasi ulang aplikasi Anda untuk mengirim semua operasi tulis ke klaster DB Aurora yang kini berdiri sendiri ini menggunakan titik akhir barunya. Jika Anda menyetujui nama yang disediakan ketika Anda membuat basis data global Aurora, Anda dapat mengubah titik akhir dengan menghapus -ro dari string titik akhir klaster dalam aplikasi Anda.

    Sebagai contoh, titik akhir klaster sekunder my-global.cluster-ro-aaaaaabbbbbb.us-west-1.rds.amazonaws.com menjadi my-global.cluster-aaaaaabbbbbb.us-west-1.rds.amazonaws.com saat klaster tersebut dilepas dari basis data global Aurora.

    Klaster DB Aurora ini menjadi klaster primer untuk basis data global Aurora yang baru ketika Anda mulai menambahkan Wilayah ke dalamnya pada langkah berikutnya.

    Jika Anda menggunakan RDS Proxy, pastikan untuk mengalihkan operasi penulisan aplikasi Anda ke titik akhir baca/tulis proxy yang sesuai yang terkait dengan cluster utama baru. Titik akhir proksi ini mungkin merupakan titik akhir default atau titik akhir baca/tulis kustom. Untuk informasi selengkapnya, lihat Cara kerja titik akhir Proksi RDS dengan basis data global.

  5. Tambahkan Wilayah AWS ke cluster DB. Saat Anda melakukannya, proses replikasi dari klaster primer ke klaster sekunder akan dimulai. Untuk langkah menambahkan Wilayah secara mendetail, lihat Menambahkan Wilayah AWS ke database global Amazon Aurora.

  6. Tambahkan lebih banyak Wilayah AWS sesuai kebutuhan untuk membuat ulang topologi yang diperlukan untuk mendukung aplikasi Anda.

Pastikan penulisan aplikasi dikirim ke klaster DB Aurora yang benar, baik sebelum, selama, maupun sesudah membuat perubahan ini. Tindakan ini akan mencegah inkonsistensi data di antara klaster DB dalam basis data global Aurora (masalah split-brain).

Jika Anda mengonfigurasi ulang sebagai respons terhadap pemadaman di sebuah Wilayah AWS, Anda dapat menjadikannya primer lagi setelah pemadaman diselesaikan. Wilayah AWS Untuk melakukannya, Anda harus menambahkan Wilayah AWS yang lama ke basis data global baru, lalu menggunakan proses switchover untuk mengalihkan perannya. Database global Aurora Anda harus menggunakan versi Aurora Postgre atau SQL Aurora My yang mendukung switchover. SQL Untuk informasi selengkapnya, lihat Melakukan switchover untuk basis data global Amazon Aurora.

Melakukan switchover untuk basis data global Amazon Aurora

catatan

Switchover sebelumnya disebut "failover terencana terkelola".

Dengan menggunakan switchover, Anda dapat mengubah Wilayah cluster utama Anda secara rutin. Pendekatan ini ditujukan untuk skenario yang terkontrol, seperti pemeliharaan operasional dan prosedur operasional terencana lainnya.

Terdapat tiga kasus umum untuk penggunaan switchover.

  • Untuk persyaratan "rotasi regional" yang diberlakukan pada industri tertentu. Misalnya, peraturan layanan keuangan mungkin menginginkan sistem tier-0 untuk beralih ke Wilayah yang berbeda selama beberapa bulan untuk memastikan prosedur pemulihan bencana dilaksanakan secara teratur.

  • Untuk aplikasi Multi-region follow-the-sun "”. Misalnya, suatu bisnis mungkin ingin menyediakan penulisan dengan latensi lebih rendah di berbagai Wilayah berdasarkan jam kerja di zona waktu yang berbeda.

  • Sebagai zero-data-loss metode untuk gagal kembali ke Wilayah primer asli setelah failover.

catatan

Switchover dirancang untuk digunakan pada basis data global Aurora yang berfungsi baik. Untuk pulih dari pemadaman yang tak terduga, ikuti prosedur yang sesuai di Memulihkan basis data global Amazon Aurora dari pemadaman yang tidak direncanakan.

Untuk melakukan switchover, klaster DB sekunder target Anda harus menjalankan versi mesin yang sama persis dengan klaster primer, termasuk tingkat patch-nya, tergantung pada versi mesin. Untuk informasi selengkapnya, lihat Kompatibilitas tingkat patch untuk switchover dan failover lintas wilayah yang dikelola. Sebelum Anda memulai switchover, periksa versi mesin di klaster global untuk memastikan versi mesin tersebut mendukung switchover lintas Wilayah terkelola, lalu tingkatkan jika diperlukan.

Selama proses switchover, Aurora mengalihkan klaster primer Anda ke Wilayah sekunder pilihan sambil mempertahankan topologi replikasi yang ada pada basis data global Anda. Sebelum memulai proses switchover, Aurora menunggu hingga semua klaster Wilayah sekunder disinkronkan sepenuhnya dengan klaster Wilayah primer. Selanjutnya, klaster DB di Wilayah primer menjadi klaster hanya-baca, dan klaster sekunder yang dipilih akan mempromosikan salah satu simpul hanya-bacanya menjadi status penulis penuh. Mempromosikan simpul ini menjadi penulis memungkinkan klaster sekunder mengambil peran klaster primer. Karena semua klaster sekunder disinkronkan dengan klaster primer pada awal proses, klaster primer yang baru akan melanjutkan operasi untuk basis data global Aurora tanpa kehilangan data apa pun. Basis data Anda tidak tersedia untuk sementara selama klaster primer dan klaster sekunder yang dipilih mengambil peran barunya masing-masing.

Untuk mengoptimalkan ketersediaan aplikasi, sebaiknya lakukan hal berikut sebelum menggunakan fitur ini:

  • Lakukan operasi ini di luar jam sibuk atau pada waktu lainnya saat operasi penulisan ke klaster DB primer tidak banyak.

  • Buat aplikasi menjadi offline untuk mencegah penulisan dikirim ke klaster primer basis data global Aurora.

  • Periksa waktu keterlambatan untuk semua klaster DB Aurora sekunder dalam basis data global Aurora. Untuk semua basis data global berbasis Aurora Postgre dan untuk basis data global SQL berbasis Aurora SQL My yang dimulai dengan versi mesin 3.04.0 dan lebih tinggi atau 2.12.0 dan lebih tinggi, gunakan Amazon untuk melihat metrik untuk semua cluster DB sekunder. CloudWatch AuroraGlobalDBRPOLag Untuk versi minor yang lebih rendah dari database global SQL berbasis Aurora My, lihat metrik sebagai AuroraGlobalDBReplicationLag gantinya. Metrik ini menunjukkan seberapa terlambatnya (dalam milidetik) replikasi ke klaster sekunder dibandingkan ke klaster DB primer. Nilai ini berbanding lurus dengan waktu yang diperlukan Aurora untuk menyelesaikan switchover. Karena itu, semakin besar nilai keterlambatan, semakin lama durasi switchover.

    Untuk informasi selengkapnya tentang CloudWatch metrik untuk Aurora, lihat. Metrik tingkat klaster untuk Amazon Aurora

Selama proses switchover, klaster DB sekunder yang dipilih akan dipromosikan ke peran barunya sebagai primer. Namun, klaster ini tidak mewarisi berbagai opsi konfigurasi klaster DB primer. Ketidakcocokan dalam konfigurasi dapat menyebabkan masalah performa, inkompatibilitas beban kerja, dan perilaku anomali lainnya. Untuk mencegah masalah tersebut, sebaiknya atasi perbedaan di antara klaster basis data global Aurora untuk konfigurasi berikut:

  • Konfigurasi grup parameter klaster DB Aurora untuk klaster primer yang baru jika diperlukan—Anda dapat mengonfigurasi grup parameter klaster DB Aurora secara independen untuk masing-masing klaster Aurora dalam basis data global Aurora Anda. Hal ini berarti ketika Anda mempromosikan klaster DB sekunder untuk mengambil alih peran primer, grup parameter dari klaster sekunder mungkin memiliki konfigurasi yang berbeda dengan klaster primer. Jika demikian, ubah grup parameter klaster DB sekunder yang dipromosikan agar sesuai dengan pengaturan klaster primer Anda. Untuk mempelajari caranya, lihat Memodifikasi parameter basis data global Aurora.

  • Konfigurasikan alat dan opsi pemantauan, seperti Amazon CloudWatch Events dan alarm — Konfigurasikan cluster DB yang dipromosikan dengan kemampuan logging, alarm, dan sebagainya yang sama sesuai kebutuhan untuk database global. Seperti grup parameter, konfigurasi untuk fitur ini tidak diwariskan dari klaster primer selama proses switchover berlangsung. Beberapa CloudWatch metrik, seperti replikasi lag, hanya tersedia untuk Wilayah sekunder. Karena itu, switchover akan mengubah cara Anda melihat metrik tersebut dan mengatur alarmnya, serta mengharuskan adanya perubahan pada dasbor yang ditentukan sebelumnya. Untuk informasi selengkapnya tentang klaster DB Aurora dan pemantauan, lihat Ikhtisar pemantauan Amazon Aurora.

  • Konfigurasikan integrasi dengan AWS layanan lain — Jika database global Aurora Anda terintegrasi AWS dengan layanan, AWS Secrets Manager seperti, AWS Identity and Access Management Amazon S3, AWS Lambda dan, pastikan untuk mengonfigurasi integrasi Anda dengan layanan ini sesuai kebutuhan. Untuk informasi selengkapnya tentang mengintegrasikan database global Aurora dengan IAM Amazon S3 dan Lambda, lihat. Menggunakan basis data global Amazon Aurora dengan layanan AWS lainnya Untuk mempelajari Secrets Manager selengkapnya, lihat Cara mengotomatiskan replikasi rahasia secara AWS Secrets Manager keseluruhan. Wilayah AWS

catatan

Biasanya, switchover peran dapat memerlukan waktu hingga beberapa menit. Namun, membangun klaster sekunder tambahan dapat berlangsung selama beberapa menit hingga beberapa jam, bergantung pada ukuran basis data dan jarak fisik di antara Wilayah.

Saat proses switchover selesai, klaster DB Aurora yang dipromosikan dapat menangani operasi penulisan untuk basis data global Aurora. Pastikan Anda mengubah titik akhir untuk aplikasi agar dapat menggunakan titik akhir yang baru. Jika Anda menyetujui nama yang disediakan saat membuat basis data global Aurora, Anda dapat mengubah titik akhir dengan menghapus -ro dari string titik akhir klaster yang dipromosikan dalam aplikasi Anda.

Sebagai contoh, titik akhir klaster sekunder my-global.cluster-ro-aaaaaabbbbbb.us-west-1.rds.amazonaws.com menjadi my-global.cluster-aaaaaabbbbbb.us-west-1.rds.amazonaws.com ketika klaster tersebut dipromosikan menjadi klaster primer.

Jika Anda menggunakan RDS Proxy, pastikan untuk mengalihkan operasi penulisan aplikasi Anda ke titik akhir baca/tulis proxy yang sesuai yang terkait dengan cluster utama baru. Titik akhir proksi ini mungkin merupakan titik akhir default atau titik akhir baca/tulis kustom. Untuk informasi selengkapnya, lihat Cara kerja titik akhir Proksi RDS dengan basis data global.

Anda dapat beralih ke basis data global Aurora Anda menggunakan AWS Management Console, AWS CLI, atau. RDS API

Cara melakukan switchover pada basis data global Aurora
  1. Masuk ke AWS Management Console dan buka RDS konsol Amazon di https://console.aws.amazon.com/rds/.

  2. Pilih Basis Data, lalu temukan basis data global Aurora yang ingin Anda terapkan switchover.

  3. Pilih Alihkan atau lakukan failover basis data global dari menu Tindakan.

    Menampilkan daftar Basis Data dengan basis data global yang dipilih dan menu Tindakan terbuka yang menampilkan opsi Alihkan atau lakukan failover basis data global.
  4. Pilih Switchover.

    Dialog Alihkan atau lakukan failover basis data global, dengan Failover (memungkinkan kehilangan data) dipilih.
  5. Untuk klaster primer baru, pilih klaster aktif di salah satu cluster sekunder Anda Wilayah AWS untuk menjadi cluster primer baru.

  6. Pilih Konfirmasi.

Setelah switchover selesai, Anda dapat melihat klaster DB Aurora dan perannya saat ini di daftar Basis Data, sebagaimana ditunjukkan pada gambar berikut.

Menampilkan daftar Basis Data dengan basis data global yang dipilih. Klaster sekunder yang dipilih kini menunjukkan telah memiliki peran klaster primer dan klaster primer yang lama memiliki peran klaster sekunder.

Untuk melakukan switchover pada basis data global Aurora:

Gunakan switchover-global-cluster CLI perintah untuk beralih ke database global Aurora Anda. Dengan perintah tersebut, loloskan nilai untuk parameter berikut.

  • --region— Tentukan Wilayah AWS di mana cluster DB utama dari database global Aurora berjalan.

  • --global-cluster-identifier—Tentukan nama basis data global Aurora.

  • --target-db-cluster-identifier— Tentukan Nama Sumber Daya Amazon (ARN) dari cluster Aurora DB yang ingin Anda promosikan menjadi yang utama untuk database global Aurora.

Untuk Linux, macOS, atau Unix:

aws rds --region region_of_primary \ switchover-global-cluster --global-cluster-identifier global_database_id \ --target-db-cluster-identifier arn_of_secondary_to_promote

Untuk Windows:

aws rds --region region_of_primary ^ switchover-global-cluster --global-cluster-identifier global_database_id ^ --target-db-cluster-identifier arn_of_secondary_to_promote

Untuk beralih ke database global Aurora, jalankan operasi. SwitchoverGlobalClusterAPI

Mengelola RPOs database global berbasis Aurora Postgre SQL

Dengan database global SQL berbasis Aurora Postgre, Anda dapat mengelola target titik pemulihan () RPO untuk basis data global Aurora Anda dengan menggunakan parameter. rds.global_db_rpo RPOmewakili jumlah maksimum data yang dapat hilang jika terjadi pemadaman.

Saat Anda menetapkan database SQL global berbasis Aurora Postgre, Aurora memantau RPOjeda waktu semua cluster sekunder untuk memastikan bahwa setidaknya satu cluster sekunder tetap berada di dalam jendela target. RPO RPO RPOjeda waktu adalah metrik berbasis waktu lainnya.

RPOIni digunakan ketika database Anda melanjutkan operasi di baru Wilayah AWS setelah failover. Aurora mengevaluasi RPO dan RPO jeda waktu untuk melakukan (atau memblokir) transaksi pada primer sebagai berikut:

  • Melakukan transaksi jika setidaknya satu cluster DB sekunder memiliki RPO jeda waktu kurang dari. RPO

  • Memblokir transaksi jika semua cluster DB sekunder memiliki waktu RPO jeda yang lebih besar dari. RPO Itu juga mencatat acara ke file SQL log Postgre dan memancarkan peristiwa “tunggu” yang menunjukkan sesi yang diblokir.

Dengan kata lain, jika semua cluster sekunder berada di belakang targetRPO, Aurora menghentikan transaksi pada cluster primer sampai setidaknya salah satu cluster sekunder menyusul. Transaksi yang dijeda dilanjutkan dan dilakukan segera setelah jeda waktu setidaknya satu cluster DB sekunder menjadi kurang dari. RPO Hasilnya adalah tidak ada transaksi yang dapat dilakukan sampai RPO terpenuhi.

Parameter rds.global_db_rpo bersifat dinamis. Jika Anda memutuskan untuk tidak menghentikan semua transaksi tulis hingga keterlambatan cukup berkurang, Anda dapat meresetnya dengan cepat. Dalam kasus ini, Aurora akan menerima dan mengimplementasikan perubahan setelah beberapa saat.

penting

Dalam basis data global yang hanya memiliki dua Wilayah, sebaiknya jangan ubah nilai default parameter rds.global_db_rpo di grup parameter Wilayah sekunder. Jika melakukannya, failover ke Wilayah ini akibat hilangnya Wilayah primer dapat menyebabkan Aurora menjeda transaksi. Sebagai gantinya, tunggu hingga Aurora menyelesaikan pembangunan kembali cluster di Region lama yang gagal sebelum mengubah parameter ini untuk menegakkan maksimum. RPO

Jika menetapkan parameter ini sebagaimana diuraikan berikutnya, Anda juga dapat memantau metrik yang dihasilkannya. Anda dapat melakukannya dengan menggunakan psql atau alat lain untuk menanyakan cluster DB utama basis data global Aurora dan mendapatkan informasi terperinci tentang operasi basis data global Aurora Postgre SQL Anda. Untuk mempelajari caranya, lihat Memantau basis data global berbasis Aurora Postgre SQL.

Mengatur sasaran titik pemulihan

rds.global_db_rpoParameter mengontrol RPO pengaturan untuk database PostgreSQL. Parameter ini didukung oleh Aurora Postgre. SQL Nilai yang valid untuk rds.global_db_rpo berkisar dari 20 detik hingga 2.147.483.647 detik (68 tahun). Pilih nilai yang realistis untuk memenuhi kasus penggunaan dan kebutuhan bisnis Anda. Misalnya, Anda mungkin ingin mengizinkan hingga 10 menit untuk AndaRPO, dalam hal ini Anda menetapkan nilainya menjadi 600.

Anda dapat menetapkan nilai ini untuk basis data global SQL berbasis Aurora Postgre Anda dengan menggunakan AWS Management Console,, atau. AWS CLI RDS API

Untuk mengatur RPO
  1. Masuk ke AWS Management Console dan buka RDS konsol Amazon di https://console.aws.amazon.com/rds/.

  2. Pilih klaster primer basis data global Aurora, lalu buka tab Konfigurasi untuk menemukan grup parameter klaster DB. Misalnya, grup parameter default untuk cluster DB primer yang menjalankan Aurora SQL Postgre 11.7 adalah. default.aurora-postgresql11

    Grup parameter tidak dapat diedit secara langsung. Sebaliknya, lakukan hal berikut:

    • Buat grup parameter klaster DB kustom menggunakan grup parameter default yang sesuai sebagai titik awal. Misalnya, buat grup parameter klaster DB kustom berdasarkan default.aurora-postgresql11.

    • Pada grup parameter klaster DB kustom, tetapkan nilai parameter rds.global_db_rpo agar sesuai dengan kasus penggunaan Anda. Nilai yang valid berkisar dari 20 detik hingga nilai integer maksimum sebesar 2.147.483.647 (68 tahun).

    • Terapkan grup parameter klaster DB yang telah dimodifikasi ke klaster DB Aurora Anda.

Untuk informasi selengkapnya, lihat Memodifikasi parameter dalam grup parameter cluster DB di Amazon Aurora.

Untuk mengatur rds.global_db_rpo parameter, gunakan CLI perintah modify-db-cluster-parameter-group. Dalam perintah, tentukan nama grup parameter cluster utama Anda dan nilai untuk RPO parameter.

Contoh berikut menetapkan 600 detik (10 menit) untuk kelompok parameter cluster DB primer bernamamy_custom_global_parameter_group. RPO

Untuk Linux, macOS, atau Unix:

aws rds modify-db-cluster-parameter-group \ --db-cluster-parameter-group-name my_custom_global_parameter_group \ --parameters "ParameterName=rds.global_db_rpo,ParameterValue=600,ApplyMethod=immediate"

Untuk Windows:

aws rds modify-db-cluster-parameter-group ^ --db-cluster-parameter-group-name my_custom_global_parameter_group ^ --parameters "ParameterName=rds.global_db_rpo,ParameterValue=600,ApplyMethod=immediate"

Untuk memodifikasi rds.global_db_rpo parameter, gunakan odifyDBCluster ParameterGroup API operasi Amazon RDS M.

Melihat sasaran titik pemulihan

Objektif titik pemulihan (RPO) dari database global disimpan dalam rds.global_db_rpo parameter untuk setiap cluster DB. Anda dapat terhubung ke titik akhir klaster sekunder yang ingin Anda lihat dan menggunakan psql untuk membuat kueri instans bagi nilai ini.

db-name=>show rds.global_db_rpo;

Jika parameter ini belum diatur, kueri akan menampilkan sebagai berikut:

rds.global_db_rpo ------------------- -1 (1 row)

Respons berikutnya adalah dari cluster DB sekunder yang memiliki RPO pengaturan 1 menit.

rds.global_db_rpo ------------------- 60 (1 row)

Anda juga dapat menggunakan CLI untuk mendapatkan nilai untuk mengetahui rds.global_db_rpo apakah aktif di salah satu cluster Aurora DB dengan menggunakan CLI untuk mendapatkan nilai dari semua user parameter untuk cluster.

Untuk Linux, macOS, atau Unix:

aws rds describe-db-cluster-parameters \ --db-cluster-parameter-group-name lab-test-apg-global \ --source user

Untuk Windows:

aws rds describe-db-cluster-parameters ^ --db-cluster-parameter-group-name lab-test-apg-global * --source user

Perintah akan menampilkan output serupa dengan yang berikut untuk semua parameter user selain parameter klaster DB default-engine atau system.

{ "Parameters": [ { "ParameterName": "rds.global_db_rpo", "ParameterValue": "60", "Description": "(s) Recovery point objective threshold, in seconds, that blocks user commits when it is violated.", "Source": "user", "ApplyType": "dynamic", "DataType": "integer", "AllowedValues": "20-2147483647", "IsModifiable": true, "ApplyMethod": "immediate", "SupportedEngineModes": [ "provisioned" ] } ] }

Untuk mempelajari selengkapnya tentang cara melihat parameter dari grup parameter klaster, lihat Melihat nilai parameter untuk grup parameter cluster DB di Amazon Aurora.

Menonaktifkan sasaran titik pemulihan

Untuk menonaktifkanRPO, setel ulang rds.global_db_rpo parameter. Anda dapat mengatur ulang parameter AWS Management Console menggunakan AWS CLI,, atau RDSAPI.

Untuk menonaktifkan RPO
  1. Masuk ke AWS Management Console dan buka RDS konsol Amazon di https://console.aws.amazon.com/rds/.

  2. Di panel navigasi, pilih Grup parameter.

  3. Dalam daftar, pilih grup parameter klaster DB primer Anda.

  4. Pilih Edit parameter.

  5. Pilih kotak di sebelah parameter rds.global_db_rpo.

  6. Pilih Reset.

  7. Saat layar menampilkan Reset parameter dalam grup parameter DB, pilih Reset parameter.

Untuk informasi selengkapnya tentang cara mereset parameter dengan konsol, lihat Memodifikasi parameter dalam grup parameter cluster DB di Amazon Aurora.

Untuk mengatur ulang rds.global_db_rpo parameter, gunakan perintah reset-db-cluster-parameter-group.

Untuk Linux, macOS, atau Unix:

aws rds reset-db-cluster-parameter-group \ --db-cluster-parameter-group-name global_db_cluster_parameter_group \ --parameters "ParameterName=rds.global_db_rpo,ApplyMethod=immediate"

Untuk Windows:

aws rds reset-db-cluster-parameter-group ^ --db-cluster-parameter-group-name global_db_cluster_parameter_group ^ --parameters "ParameterName=rds.global_db_rpo,ApplyMethod=immediate"

Untuk mengatur ulang rds.global_db_rpo parameter, gunakan esetDBCluster ParameterGroup operasi Amazon RDS API R.