Pemulihan cepat setelah failover dengan manajemen cache klaster untuk Aurora PostgreSQL - Amazon Aurora

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

Pemulihan cepat setelah failover dengan manajemen cache klaster untuk Aurora PostgreSQL

Untuk pemulihan cepat instans DB penulis di klaster Aurora PostgreSQL Anda jika terjadi failover, gunakan manajemen cache klaster untuk Amazon Aurora PostgreSQL. Manajemen cache klaster memastikan agar performa aplikasi dipertahankan jika terjadi failover.

Dalam situasi failover yang umum, Anda mungkin mendapati penurunan performa yang besar tetapi sementara setelah failover. Penurunan performa ini terjadi karena ketika instans DB failover dimulai, cache buffer kosong. Cache kosong juga dikenal sebagai cold cache. Cold cache menurunkan performa karena instans DB harus membaca dari disk yang lebih lambat, bukan memanfaatkan nilai yang tersimpan dalam cache buffer.

Dengan manajemen cache klaster, Anda menetapkan instans DB pembaca tertentu sebagai target failover. Manajemen cache klaster memastikan bahwa data dalam cache pembaca yang ditetapkan masih tersinkronisasi dengan data dalam cache instans DB penulis. Cache pembaca yang ditetapkan dengan nilai yang sudah diisi dikenal sebagai warm cache. Jika terjadi failover, pembaca yang ditetapkan akan langsung menggunakan nilai yang ada di warm cache-nya saat dipromosikan ke instans DB penulis baru. Pendekatan ini memberikan performa pemulihan yang lebih baik pada aplikasi Anda.

Manajemen cache klaster mengharuskan instans pembaca yang ditetapkan memiliki jenis kelas dan ukuran instans yang sama (contohnya, db.r5.2xlarge atau db.r5.xlarge) seperti instans penulis. Ingatlah hal ini ketika Anda membuat klaster DB Aurora PostgreSQL, sehingga klaster Anda dapat dipulihkan selama failover. Untuk daftar jenis kelas dan ukuran instans, lihat Spesifikasi perangkat keras kelas instans DB untuk Aurora.

catatan

Manajemen cache klaster tidak didukung untuk klaster DB Aurora PostgreSQL yang merupakan bagian dari basis data global Aurora. Sebaiknya beban kerja tidak berjalan pada pembaca tingkat-0 yang ditetapkan.

Mengonfigurasi manajemen cache klaster

Untuk mengonfigurasi manajemen cache klaster, lakukan proses berikut ini secara berurutan.

catatan

Berikan waktu setidaknya 1 menit setelah menyelesaikan langkah ini agar manajemen cache klaster dapat beroperasi sepenuhnya.

Mengaktifkan manajemen cache klaster

Untuk mengaktifkan manajemen cache klaster, lakukan langkah-langkah yang dijelaskan sebagai berikut.

Untuk mengaktifkan manajemen cache klaster
  1. Masuk ke AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.

  2. Di panel navigasi, pilih Grup parameter.

  3. Dalam daftar, pilih grup parameter untuk klaster DB Aurora PostgreSQL Anda.

    Klaster DB harus menggunakan grup parameter selain default karena Anda tidak dapat mengubah nilai di grup parameter default.

  4. Untuk Tindakan grup parameter, pilih Edit.

  5. Tetapkan nilai parameter klaster apg_ccm_enabled ke 1.

  6. Pilih Simpan perubahan.

Guna mengaktifkan manajemen cache klaster untuk klaster DB Aurora PostgreSQL, gunakan perintah AWS CLI modify-db-cluster-parameter-group dengan parameter yang diperlukan berikut ini:

  • --db-cluster-parameter-group-name

  • --parameters

contoh

Untuk Linux, macOS, atau Unix:

aws rds modify-db-cluster-parameter-group \ --db-cluster-parameter-group-name my-db-cluster-parameter-group \ --parameters "ParameterName=apg_ccm_enabled,ParameterValue=1,ApplyMethod=immediate"

Untuk Windows:

aws rds modify-db-cluster-parameter-group ^ --db-cluster-parameter-group-name my-db-cluster-parameter-group ^ --parameters "ParameterName=apg_ccm_enabled,ParameterValue=1,ApplyMethod=immediate"

Mengatur prioritas tingkat promosi untuk instans DB penulis

Untuk manajemen cache klaster, pastikan bahwa prioritas promosi adalah tingkat-0 untuk instans DB penulis pada klaster DB Aurora PostgreSQL. Prioritas tingkat promosi adalah nilai yang menentukan urutan promosi pembaca Aurora ke instans DB penulis setelah kegagalan. Nilai yang valid adalah 0–15, dengan 0 adalah prioritas pertama dan 15 adalah prioritas terakhir. Untuk informasi selengkapnya tentang tingkat promosi, lihat Toleransi kesalahan untuk klaster DB Aurora.

Untuk mengatur prioritas promosi instans DB penulis ke tingkat-0
  1. Masuk ke AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.

  2. Di panel navigasi, pilih Basis Data.

  3. Pilih instans DB Penulis pada klaster DB Aurora PostgreSQL.

  4. Pilih Ubah. Halaman Modifikasi Instans DB akan muncul.

  5. Di panel Konfigurasi tambahan, pilih tingkat-0 untuk Prioritas failover.

  6. Pilih Lanjutkan dan periksa ringkasan modifikasi.

  7. Untuk segera menerapkan perubahan setelah Anda menyimpannya, pilih Terapkan segera.

  8. Pilih Modifikasi Instans DB untuk menyimpan perubahan Anda.

Untuk menetapkan prioritas tingkat promosi ke 0 untuk instans DB penulis menggunakanAWS CLI, panggil modify-db-instanceperintah dengan parameter wajib berikut:

  • --db-instance-identifier

  • --promotion-tier

  • --apply-immediately

contoh

Untuk Linux, macOS, atau Unix:

aws rds modify-db-instance \ --db-instance-identifier writer-db-instance \ --promotion-tier 0 \ --apply-immediately

Untuk Windows:

aws rds modify-db-instance ^ --db-instance-identifier writer-db-instance ^ ---promotion-tier 0 ^ --apply-immediately

Mengatur prioritas tingkat promosi untuk instans DB pembaca

Anda harus menetapkan hanya satu instans DB pembaca untuk manajemen cache cluster. Untuk melakukannya, pilih pembaca dari klaster Aurora PostgreSQL yang memiliki kelas dan ukuran instans yang sama dengan instans DB penulis. Misalnya, jika penulis menggunakan db.r5.xlarge, pilih pembaca yang menggunakan jenis kelas dan ukuran instans yang sama ini. Kemudian, atur prioritas tingkat promosinya ke 0.

Prioritas tingkat promosi adalah nilai yang menentukan urutan promosi pembaca Aurora ke instans DB penulis setelah kegagalan. Nilai yang valid adalah 0–15, dengan 0 adalah prioritas pertama dan 15 adalah prioritas terakhir.

Untuk menetapkan prioritas promosi instans DB pembaca ke tingkat-0
  1. Masuk ke AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.

  2. Di panel navigasi, pilih Basis Data.

  3. Pilih instans DB Pembaca pada klaster DB Aurora PostgreSQL yang memiliki kelas instans yang sama dengan instans DB penulis.

  4. Pilih Ubah. Halaman Modifikasi Instans DB akan muncul.

  5. Di panel Konfigurasi tambahan, pilih tingkat-0 untuk Prioritas failover.

  6. Pilih Lanjutkan dan periksa ringkasan modifikasi.

  7. Untuk segera menerapkan perubahan setelah Anda menyimpannya, pilih Terapkan segera.

  8. Pilih Modifikasi Instans DB untuk menyimpan perubahan Anda.

Untuk menetapkan prioritas tingkat promosi ke 0 untuk instans DB pembaca menggunakanAWS CLI, panggil modify-db-instanceperintah dengan parameter wajib berikut:

  • --db-instance-identifier

  • --promotion-tier

  • --apply-immediately

contoh

Untuk Linux, macOS, atau Unix:

aws rds modify-db-instance \ --db-instance-identifier reader-db-instance \ --promotion-tier 0 \ --apply-immediately

Untuk Windows:

aws rds modify-db-instance ^ --db-instance-identifier reader-db-instance ^ ---promotion-tier 0 ^ --apply-immediately

Memantau cache buffer

Setelah mengatur manajemen cache klaster, Anda dapat memantau status sinkronisasi antara cache buffer instans DB penulis dan warm cache buffer pembaca yang ditetapkan. Untuk memeriksa konten cache buffer di instans DB penulis dan instans DB pembaca yang ditetapkan, gunakan modul pg_buffercache PostgreSQL. Untuk informasi selengkapnya, lihat Dokumentasi pg_buffercache PostgreSQL.

Menggunakan Fungsi aurora_ccm_status

Manajemen cache klaster juga menyediakan fungsi aurora_ccm_status. Gunakan fungsi aurora_ccm_status pada instans DB penulis untuk mendapatkan informasi berikut tentang progres cache warming pada pembaca yang ditetapkan:

  • buffers_sent_last_minute – Jumlah buffer yang telah dikirim ke pembaca yang ditetapkan dalam satu menit terakhir.

  • buffers_found_last_minute – Jumlah buffer yang sering diakses yang diidentifikasi selama beberapa menit terakhir.

  • buffers_sent_last_scan – Jumlah buffer yang telah dikirim ke pembaca yang ditetapkan selama pemindaian lengkap cache buffer.

  • buffers_found_last_scan – Jumlah buffer yang telah diidentifikasi sering diakses dan perlu dikirim selama pemindaian lengkap terakhir cache buffer. Buffer yang sudah di-cache pada pembaca yang ditetapkan tidak akan dikirimkan.

  • buffers_sent_current_scan – Jumlah buffer yang telah dikirim sejauh ini selama pemindaian saat ini.

  • buffers_found_current_scan – Jumlah buffer yang telah diidentifikasi sering diakses dalam pemindaian saat ini.

  • current_scan_progress – Jumlah buffer yang telah diakses sejauh ini selama pemindaian saat ini.

Contoh berikut menunjukkan cara menggunakan fungsi aurora_ccm_status untuk mengonversi sebagian output-nya menjadi warm rate dan warm percentage.

SELECT buffers_sent_last_minute*8/60 AS warm_rate_kbps, 100*(1.0-buffers_sent_last_scan::float/buffers_found_last_scan) AS warm_percent FROM aurora_ccm_status();

Memecahkan masalah konfigurasi CCM

Ketika Anda mengaktifkan parameter apg_ccm_enabled cluster, manajemen cache cluster secara otomatis diaktifkan pada tingkat instans pada instans DB penulis dan satu instance DB pembaca pada cluster Aurora PostgreSQL DB. Instance writer dan reader harus menggunakan tipe dan ukuran kelas instance yang sama. Prioritas tingkat promosi mereka diatur ke0. Instans pembaca lain di cluster DB harus memiliki tingkat promosi bukan nol dan manajemen cache cluster dinonaktifkan untuk instance tersebut.

Alasan berikut dapat menyebabkan masalah dalam konfigurasi dan menonaktifkan manajemen cache cluster:

  • Ketika tidak ada instans DB pembaca tunggal yang disetel ke tingkat promosi 0.

  • Ketika instance DB penulis tidak disetel ke tingkat promosi 0.

  • Ketika lebih dari satu instans DB pembaca diatur ke tingkat promosi 0.

  • Ketika penulis dan satu pembaca, instans DB dengan tingkat promosi 0 tidak memiliki ukuran instans yang sama.