Topik ini menjelaskan cara meningkatkan versi utama database ApsaraDB RDS untuk PostgreSQL menggunakan metode penyebaran biru-hijau.
Prasyarat
Instans menjalankan ApsaraDB RDS for PostgreSQL 16 atau versi sebelumnya.
Instans bukan merupakan read-only instance atau dedicated cluster instance.
Babelfish tidak diaktifkan untuk instans tersebut. Nomor versi mesin minor tidak diakhiri dengan
babelfish.
Informasi latar belakang
Dalam penyebaran biru-hijau, instans sumber dipulihkan ke instans baru. Kemudian, pg_upgrade digunakan untuk meningkatkan instans baru ke versi target. Jika Anda melakukan cutover, Titik akhir dari instans sumber secara otomatis beralih ke instans baru.
Konsol ApsaraDB RDS for PostgreSQL juga mendukung peningkatan versi utama database menggunakan mode tanpa downtime dan mode peningkatan lokal. Untuk perbandingan berbagai mode, lihat Pengenalan Solusi Peningkatan Versi Utama.
Biaya Peningkatan
Saat Anda meningkatkan versi utama menggunakan penyebaran biru-hijau, sistem akan membuat instans baru berdasarkan instans sumber. Setelah peningkatan selesai:
Instans sumber dan instans baru keduanya akan ditagih.
Metode penagihan dan biaya untuk instans sumber tetap tidak berubah.
Metode penagihan untuk instans baru mungkin berbeda dari instans sumber.
Metode penagihan instans sumber
Metode penagihan instans baru
Langganan/Bayar sesuai pemakaian
Bayar sesuai pemakaian
Serverless
Serverless
CatatanUntuk menghemat biaya, setelah layanan pada instans baru berjalan stabil, kami sarankan Anda mengonversi instans baru menjadi langganan dan melepaskan atau berhenti berlangganan dari instans sumber. Namun, perhatikan hal berikut:
Jika instans sumber Anda adalah instansi langganan yang belum kedaluwarsa, instans baru tidak dapat mewarisi durasi langganan yang tersisa. Melepaskan instans sumber dapat mengakibatkan kerugian finansial. Untuk informasi lebih lanjut tentang aturan pembatalan langganan, lihat Kebijakan Pengembalian Dana.
Instans baru tidak mewarisi diskon apa pun yang diterapkan pada instans sumber. Anda dapat melihat jumlah pengembalian dana spesifik di halaman pembatalan langganan instans sebelum memutuskan apakah akan meningkatkan.
Jumlah dan waktu pengembalian dana untuk instansi langganan bergantung pada tagihan pembatalan langganan aktual. Pengembalian dana tidak diproses secara real-time.
Langkah Pencegahan
Dampak Layanan: Saat Anda melakukan peningkatan menggunakan penyebaran biru-hijau dengan alih bencana, instans sumber diatur menjadi read-only selama proses alih bencana. Hal ini menyebabkan gangguan koneksi sementara yang berlangsung selama beberapa menit. Kami sarankan Anda melakukan peningkatan selama jam-jam sepi. Jika Anda memilih untuk tidak melakukan alih bencana, layanan Anda tidak akan terpengaruh.
Durasi instans sumber dalam mode read-only bergantung pada jumlah objek basis data. Semakin banyak objek basis data yang dimiliki instans, semakin lama durasi read-only. Jika jumlah objek basis data mencapai jutaan, durasi read-only bisa mencapai puluhan menit atau bahkan jam. Anda dapat menjalankan perintah
SELECT count(1) FROM pg_class;untuk melihat jumlah objek basis data.Durasi Gangguan Koneksi Sementara yang dirasakan oleh klien bergantung pada waktu pembersihan cache DNS. Anda dapat mengalihkan vSwitch dan menggunakan durasi gangguan layanan untuk memperkirakan waktu pembersihan cache DNS klien.
Durasi Proses Peningkatan bergantung pada jumlah objek basis data dalam instans. Semakin banyak objek basis data yang dimiliki instans, semakin lama peningkatan berlangsung. Untuk peningkatan versi utama, Anda dapat melihat kemajuan tugas di Task Hub.
Untuk penyebaran biru-hijau, jika Anda tidak ingin instans sumber diatur menjadi read-only setelah alih bencana, Anda harus mengatur parameter
rds_force_trans_ro_non_supkeoffsetelah peningkatan. Untuk informasi lebih lanjut, lihat Setel Parameter Instans.
Peningkatan Lintas Versi: ApsaraDB RDS for PostgreSQL 9.4 dan 10 yang menggunakan disk lokal berkinerja tinggi hanya dapat ditingkatkan ke instans yang menggunakan cloud disk. Anda dapat meningkatkannya ke versi maksimum ApsaraDB RDS for PostgreSQL 14. Untuk meningkatkan ke PostgreSQL 15 atau versi yang lebih baru, Anda harus terlebih dahulu meningkatkan ke versi perantara (PostgreSQL 9.4 dapat ditingkatkan ke 10, 11, 12, 13, atau 14; PostgreSQL 10 dapat ditingkatkan ke 11, 12, 13, atau 14), dan kemudian tingkatkan ke PostgreSQL 15 atau versi yang lebih baru.
Slot Replikasi:
Jika instans sumber adalah publisher dengan slot replikasi, slot replikasi tersebut akan hilang setelah peningkatan.
Jika instans sumber adalah subscriber slot replikasi, peningkatan dapat menyebabkan masalah sinkronisasi data karena preemption slot replikasi. Untuk menyelesaikan masalah ini, lihat Cara Mencegah Ketidaksesuaian Data yang Disebabkan oleh Preemption Slot Replikasi Selama Peningkatan.
IP Virtual: Untuk penyebaran biru-hijau dengan alih bencana, alamat IP virtual dari instans baru berubah setelah peningkatan. Anda harus memeriksa konektivitas jaringan, seperti konfigurasi firewall.
Dampak Perubahan IP Virtual: Jika Anda telah mengonfigurasi IP virtual di aplikasi Anda, Anda harus memodifikasi konfigurasi aplikasi untuk menunjuk ke alamat IP virtual instans baru.
Rekomendasi: Untuk menghindari kompleksitas konfigurasi manual, kami sarankan Anda langsung mengonfigurasi alamat koneksi instans di aplikasi Anda. Untuk informasi lebih lanjut tentang cara mendapatkan alamat koneksi, lihat Lihat atau Modifikasi Alamat Koneksi dan Port.
Perubahan Parameter:
Jika instans sumber menggunakan parameter yang tidak didukung oleh versi tujuan, parameter tersebut secara otomatis dihapus di versi tujuan.
Jika nilai parameter di instans sumber berada di luar rentang valid untuk parameter yang sesuai di versi tujuan, parameter tersebut diatur ke nilai default dari template parameter untuk versi tujuan.
Selama peningkatan, sistem sementara mengubah nilai
statement_timeoutmenjadi 0 dan mengembalikannya ke nilai awal setelah peningkatan selesai.
Tugas DTS: Jika instans yang akan ditingkatkan adalah instans sumber atau tujuan untuk Data Transmission Service (DTS), Anda perlu membuat ulang Tugas DTS setelah peningkatan.
Masalah Kompatibilitas Plugin: Saat Anda melakukan peningkatan versi utama, sistem secara otomatis memperbarui ke versi mesin minor terbaru, dan Anda mungkin menghadapi masalah kompatibilitas plugin.
Instans baru tidak mewarisi Instance Name, tag, aturan peringatan CloudMonitor, atau data cadangan dari instans sumber.
Langkah 1: Pemeriksaan pra-peningkatan
Masuk ke Konsol ApsaraDB RDS dan buka halaman Instans. Di bilah navigasi atas, pilih Wilayah tempat Instans RDS berada. Kemudian, temukan Instans RDS dan klik ID dari instans tersebut.
(Opsional) Jika terdapat instansi hanya baca untuk instans sumber, ubah titik akhir instansi hanya baca di aplikasi Anda menjadi titik akhir instans utama, lalu hapus instansi hanya baca tersebut.
CatatanUntuk memastikan stabilitas layanan, ubah titik akhir aplikasi selama jam sepi.
Di panel navigasi di sebelah kiri, klik Major Version Upgrade.
CatatanJika Major Version Upgrade tidak ditampilkan di panel navigasi di sebelah kiri, periksa versi dan konfigurasi instans ApsaraDB RDS for PostgreSQL Anda. Untuk informasi lebih lanjut, lihat Prasyarat.
Di tab Upgrade Check, klik Create upgrade check report.
Pilih versi peningkatan, atur Upgrade Mode ke Blue-green Deployment, lalu klik OK.
Status instans berubah menjadi Maintaining Instance. Setelah pemeriksaan pra-peningkatan selesai, status instans berubah menjadi Running.
Jika hasil laporan pemeriksaan peningkatan adalah Success atau Warning, Anda dapat melanjutkan dengan peningkatan versi utama. Jika hasilnya adalah Failed, klik View Information. Perbaiki item abnormal berdasarkan laporan. Kemudian, lakukan pemeriksaan pra-peningkatan lagi. Untuk informasi lebih lanjut tentang kesalahan umum dan penyebabnya, lihat Interpretasi Laporan Pemeriksaan Peningkatan Versi Utama ApsaraDB RDS for PostgreSQL.
PentingUntuk memastikan peningkatan berhasil, jika hasil pemeriksaan adalah Warning, kami sarankan Anda memperbaiki item abnormal berdasarkan laporan dan melakukan pemeriksaan pra-peningkatan lagi hingga hasilnya adalah Success.
Setelah pemeriksaan pra-peningkatan berhasil, jika Anda membuat plugin pada instans utama, Anda harus melakukan pemeriksaan lagi.
Langkah 2: Tingkatkan versi utama
Klik tab Upgrade Instance, baca pesan peringatan, pilih versi di bawah Select An Upgrade Version, lalu klik Create Upgrade Task.
Dalam kotak dialog yang muncul, baca pesan dan klik OK.
Dalam bagian Create Major Engine Version Upgrade Task, Upgrade Mode disetel ke Blue-green Deployment. Konfigurasikan parameter peningkatan. Tabel berikut hanya menjelaskan parameter kunci.
Konfigurasi
Deskripsi
Storage type
Instans baru hanya mendukung SSD perusahaan (ESSD) dan disk berkinerja premium. Jika Anda memilih ESSD, Anda dapat mengubah tingkat kinerja (PL).
Kelas penyimpanan instans baru harus sama dengan instans sumber.
CatatanKapasitas penyimpanan minimum ESSD bervariasi berdasarkan PL. Saat Anda mengubah PL, kapasitas penyimpanan minimum instans secara otomatis disesuaikan berdasarkan PL yang dipilih. Pastikan nilai baru memenuhi persyaratan.
Jika instans sumber menggunakan disk lokal berkinerja tinggi, instans baru hanya dapat menggunakan ESSD.
The Available Zone
Sistem memungkinkan Anda mengonfigurasi instans primer dan sekunder baru di zona berbeda setelah peningkatan. Atur parameter ini sesuai kebutuhan.
For Available Zone
Primary Instance Switch
Standby Instance Switch
Cutover configuration
Pilih apakah akan mengalihkan lalu lintas ke instans baru berdasarkan kebutuhan Anda.
No cutting: Lalu lintas tidak dialihkan secara otomatis. Opsi ini biasanya digunakan untuk menguji kompatibilitas layanan Anda dengan versi baru sebelum peningkatan resmi.
Cutover: Lalu lintas dialihkan secara otomatis. Opsi ini biasanya digunakan untuk peningkatan resmi setelah Anda memastikan bahwa layanan Anda dapat berjalan stabil pada versi baru. Setelah pemotongan, aplikasi Anda secara otomatis terhubung ke instans baru. Anda tidak perlu mengubah titik akhir database dalam aplikasi Anda.
CatatanAnda tidak dapat melakukan rollback setelah pemotongan. Pilih opsi ini dengan hati-hati.
Selama pemotongan, instans sumber disetel ke mode read-only, yang menyebabkan koneksi transien yang berlangsung selama beberapa menit. Lakukan peningkatan selama jam-jam sepi. Jika Anda memilih untuk tidak melakukan pemotongan, layanan Anda tidak akan terpengaruh.
Kami sarankan Anda memilih No cutting untuk percobaan pertama Anda. Setelah Anda sepenuhnya menguji dan memverifikasi lapisan aplikasi, rilis instans baru, ulangi operasi peningkatan, lalu pilih Cutover untuk memulai peningkatan resmi.
Storage Capacity
Pilih kapasitas penyimpanan untuk instans baru.
Instance Type
Tentukan tipe instans untuk instans baru. Untuk informasi lebih lanjut, lihat Daftar Tipe Instans Utama.
Klik Create.
Saat status instans berubah menjadi Migrating, tugas peningkatan telah dimulai.
Waktu yang diperlukan untuk peningkatan sangat berkaitan dengan jumlah objek basis data dalam instans. Semakin banyak objek basis data, semakin lama peningkatan berlangsung. Selama peningkatan versi utama, Anda dapat melihat kemajuan peningkatan di Task Hub.
PentingSetelah tugas peningkatan dibuat, tugas tersebut tidak dapat dimodifikasi atau dihapus.
Saat instans sumber berada dalam status Migrating, Anda tidak dapat melakukan operasi O&M seperti memodifikasi parameter, me-restart, atau melepaskan instans.
Jika pesan Insufficient Resources muncul saat Anda membuat tugas, ubah Target Primary Zone.
Lihat hasil peningkatan.
Saat status instans sumber dan baru adalah Running, peningkatan berhasil.
CatatanUntuk penyebaran biru-hijau dengan pemotongan, lalu lintas secara otomatis dialihkan ke instans baru (versi lebih tinggi) setelah peningkatan.
Untuk penyebaran biru-hijau tanpa pemotongan, lalu lintas tidak dialihkan ke instans baru (versi lebih tinggi) setelah peningkatan.
Setelah peningkatan selesai, di tab Upgrade History, klik View Information di kolom Upgrade Log untuk tugas peningkatan target. Anda dapat melihat durasi mode read-only instans dan proses peningkatan rinci. Durasi read-only adalah periode antara Cutover Time dan Cutover End Time. Periode ini tidak termasuk waktu ketika instans tidak dapat dijangkau karena cache DNS belum diperbarui.
Untuk penyebaran biru-hijau tanpa pemotongan, sistem juga menampilkan Cutover Time dan Cutover End Time untuk referensi dan estimasi Anda dalam skenario pemotongan.
Apa yang harus dilakukan selanjutnya
Jika Anda meningkatkan instans menggunakan pola penyebaran biru-hijau (cutover), segera rilis instans sumber setelah Anda memastikan bahwa layanan Anda berjalan stabil di instans baru.
Kami juga menyarankan Anda untuk mengubah metode penagihan untuk instans baru menjadi langganan untuk penghematan biaya.
CatatanJika Anda melepaskan instans langganan sebelum tanggal kedaluwarsanya, Anda mungkin mengalami kerugian.
Jika Anda menerima diskon saat membeli instans sumber, instans baru tidak mewarisi diskon ini. Pembatalan langganan instans sumber tunduk pada halaman pembatalan langganan aktual.
Jumlah dan waktu pengembalian dana untuk instans langganan bergantung pada tagihan pembatalan langganan aktual. Pengembalian dana tidak diproses secara real-time.
(Opsional) Instans baru tidak mencakup instans hanya baca. Jika Anda menghapus instans hanya baca sebelum peningkatan, lakukan langkah-langkah berikut:
Pada instans baru, buat instans PostgreSQL hanya baca lagi.
Dalam aplikasi Anda, ubah titik akhir yang sebelumnya Anda atur ke titik akhir instans utama kembali ke titik akhir instans hanya baca baru.
Deskripsi hasil peningkatan
Kolom Upgrade Result pada tab Upgrade History menampilkan salah satu status berikut untuk tugas peningkatan.
Hasil peningkatan | Status instans | Arti | Aksi yang tersedia |
Running | Migrating | Tugas peningkatan sedang berjalan. | Tidak ada. |
Succeeded | Running | Tugas peningkatan berhasil. | Tidak ada. |
Operasi API terkait
Operasi API | Deskripsi |
Menjalankan pemeriksaan pra-peningkatan untuk peningkatan versi utama instans ApsaraDB RDS for PostgreSQL. | |
Memeriksa laporan pemeriksaan pra-peningkatan untuk peningkatan versi utama instans ApsaraDB RDS for PostgreSQL. | |
Memperbarui versi utama instans ApsaraDB RDS for PostgreSQL. | |
Memeriksa tugas-tugas historis dari peningkatan versi utama untuk instans ApsaraDB RDS for PostgreSQL. |