Gambaran Umum Deployment Blue/Green Amazon RDS - Layanan Basis Data Relasional Amazon

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

Gambaran Umum Deployment Blue/Green Amazon RDS

Dengan menggunakan Deployment Blue/Green Amazon RDS, Anda dapat membuat dan menguji perubahan basis data sebelum menerapkannya di lingkungan produksi. Deployment blue/green menciptakan lingkungan pementasan yang menyalin lingkungan produksi. Dalam deployment blue/green, lingkungan biru adalah lingkungan produksi saat ini. Lingkungan hijau adalah lingkungan pementasannya. Lingkungan pementasan tetap sinkron dengan lingkungan produksi saat ini menggunakan replikasi logis.

Anda dapat membuat perubahan pada instans DB RDS di lingkungan hijau tanpa memengaruhi beban kerja produksi. Misalnya, Anda dapat meningkatkan versi mesin DB mayor atau minor, meningkatkan konfigurasi sistem file yang mendasarinya, atau mengubah parameter basis data di lingkungan pementasannya. Anda dapat menguji perubahan di lingkungan hijau secara menyeluruh. Setelah siap, Anda dapat melakukan switchover lingkungan untuk mempromosikan lingkungan hijau menjadi lingkungan produksi baru. Switchover biasanya memakan waktu kurang dari satu menit tanpa kehilangan data dan tidak perlu mengubah aplikasi.

Karena lingkungan hijau adalah salinan dari topologi lingkungan produksi, lingkungan hijau mencakup fitur yang digunakan oleh instans DB. Fitur-fitur ini termasuk replika baca, konfigurasi penyimpanan, snapshot DB, pencadangan otomatis, Wawasan Performa, dan Pemantauan yang Ditingkatkan. Jika instans DB biru adalah deployment instans DB Multi-AZ, instans DB hijau juga merupakan deployment instans DB Multi-AZ.

catatan

Saat ini, Deployment Blue/Green hanya didukung untuk RDS for MariaDB, RDS for MySQL, dan RDS for PostgreSQL. Untuk ketersediaan Amazon Aurora, lihat Menggunakan Amazon RDS Blue/Green Deployment untuk pembaruan database di Panduan Pengguna Amazon Aurora.

Wilayah dan ketersediaan versi

Ketersediaan dan dukungan fitur bervariasi di seluruh versi spesifik dari setiap mesin basis data, dan di seluruh Wilayah AWS. Untuk informasi selengkapnya, lihat Wilayah dan engine DB yang Didukung untuk Amazon RDS Blue/Green Deployment.

Manfaat menggunakan Deployment Blue/Green Amazon RDS

Dengan menggunakan Deployment Blue/Green Amazon RDS, Anda dapat tetap mengikuti perkembangan patch keamanan, meningkatkan performa basis data, dan mengadopsi fitur basis data yang lebih baru dengan waktu henti yang singkat dan dapat diprediksi. Deployment blue/green mengurangi risiko dan waktu henti untuk pembaruan basis data, seperti peningkatan versi mesin mayor atau minor.

Deployment blue/green memberikan manfaat berikut:

  • Memudahkan pembuatan lingkungan pementasan siap produksi.

  • Mereplikasi otomatis perubahan basis data dari lingkungan produksi ke lingkungan pementasan.

  • Menguji perubahan basis data di lingkungan pementasan yang aman tanpa memengaruhi lingkungan produksi.

  • Anda dapat mengikuti perkembangan terbaru dengan patch basis data dan pembaruan sistem.

  • Menerapkan dan menguji fitur basis data yang lebih baru.

  • Melakukan switchover pada lingkungan pementasan untuk menjadi lingkungan produksi baru tanpa perubahan pada aplikasi.

  • Melakukan switchover dengan aman melalui penggunaan pagar pembatas switchover default.

  • Tidak ada kehilangan data selama switchover.

  • Melakukan switchover dengan cepat, biasanya kurang dari satu menit tergantung beban kerja Anda.

Alur kerja deployment blue/green

Selesaikan langkah-langkah utama berikut saat Anda menggunakan deployment blue/green untuk pembaruan basis data.

  1. Identifikasi lingkungan produksi yang membutuhkan pembaruan.

    Misalnya, lingkungan produksi dalam gambar ini memiliki deployment instans DB multi-AZ (mydb1) dan replika baca (mydb2).

    Lingkungan produksi (biru) dalam deployment blue/green
  2. Buat deployment blue/green. Untuk petunjuknya, lihat Membuat deployment blue/green.

    Gambar berikut menunjukkan contoh deployment blue/green pada lingkungan produksi dari langkah 1. Saat membuat deployment blue/green, RDS menyalin topologi lengkap dan konfigurasi instans DB primer untuk menciptakan lingkungan hijau. Nama instans DB yang disalin ditambahkan dengan -green-random-characters. Lingkungan pementasan dalam gambar berisi deployment instans DB Multi-AZ (mydb1-green-abc123) dan replika baca (mydb2-green-abc123).

    Deployment blue/green

    Saat membuat deployment blue/green, Anda dapat meningkatkan versi mesin DB Anda dan menentukan grup parameter DB yang berbeda untuk instans DB di lingkungan hijau. RDS juga mengonfigurasi replikasi logis dari instans DB primer di lingkungan biru ke instans DB primer di lingkungan hijau.

    Setelah Anda membuat deployment blue/green, instans DB di lingkungan hijau bersifat hanya baca secara default.

  3. Buat perubahan tambahan pada lingkungan pementasan, jika diperlukan.

    Misalnya, Anda dapat membuat perubahan skema pada basis data Anda atau mengubah kelas instans DB yang digunakan oleh satu atau beberapa instans DB di lingkungan hijau.

    Untuk informasi tentang memodifikasi instans DB, lihat Memodifikasi instans DB Amazon RDS.

  4. Uji lingkungan pementasan Anda.

    Selama pengujian, sebaiknya pertahankan basis data Anda di lingkungan hijau agar hanya dapat dibaca saja. Aktifkan operasi tulis di lingkungan hijau dengan hati-hati karena dapat mengakibatkan konflik replikasi. Hal ini juga dapat menghasilkan data yang tidak diinginkan dalam basis data produksi setelah switchover. Untuk mengaktifkan operasi tulis untuk RDS untuk MySQL, atur read_only parameternya 0 ke, lalu reboot instance DB. Untuk RDS untuk PostgreSQL, atur parameter default_transaction_read_only ke level sesi. off

  5. Saat siap, lakukan switchover untuk mempromosikan lingkungan pementasan menjadi lingkungan produksi baru. Untuk petunjuknya, lihat Mengganti deployment blue/green.

    Switchover menyebabkan waktu henti. Waktu henti biasanya kurang dari satu menit, tetapi bisa lebih lama tergantung beban kerja Anda.

    Gambar berikut menunjukkan instans DB setelah switchover.

    Instans DB setelah melakukan switchover pada deployment blue/green

    Setelah switchover, instans DB yang berada di lingkungan hijau menjadi instans DB produksi baru. Nama dan titik akhir di lingkungan produksi saat ini ditetapkan ke lingkungan produksi yang baru dipromosikan, sehingga Anda tidak perlu melakukan perubahan pada aplikasi. Akibatnya, lalu lintas produksi Anda sekarang mengalir ke lingkungan produksi baru. Instans DB di lingkungan biru sebelumnya diganti namanya dengan menambahkan -oldn ke nama saat ini, dengan n adalah angka. Misalnya, anggap nama instans DB di lingkungan biru adalah mydb1. Setelah switchover, nama instans DB bisa jadi mydb1-old1.

    Dalam contoh pada gambar, perubahan berikut terjadi selama switchover:

    • Deployment instans DB Multi-AZ lingkungan hijau bernama mydb1-green-abc123 menjadi deployment instans DB Multi-AZ produksi bernama mydb1.

    • Replika baca lingkungan hijau bernama mydb2-green-abc123 menjadi replika baca produksi mydb2.

    • Deployment instans DB Multi-AZ lingkungan biru bernama mydb1 menjadi mydb1-old1.

    • Replika baca lingkungan biru bernama mydb2 menjadi mydb2-old1.

  6. Jika Anda tidak lagi memerlukan deployment blue/green, Anda dapat menghapusnya. Untuk petunjuknya, lihat Menghapus deployment blue/green.

    Setelah switchover, lingkungan produksi sebelumnya tidak dihapus sehingga Anda dapat menggunakannya untuk pengujian regresi, jika perlu.

Mengizinkan akses ke operasi deployment blue/green

Pengguna harus memiliki izin yang diperlukan untuk melakukan operasi yang terkait dengan deployment blue/green. Anda dapat membuat kebijakan IAM yang memberi izin kepada pengguna dan peran untuk menjalankan operasi API tertentu pada sumber daya yang diperlukan. Anda kemudian dapat melampirkan kebijakan tersebut ke set izin IAM atau peran yang memerlukan izin tersebut. Untuk informasi selengkapnya, lihat Manajemen identitas dan akses untuk Amazon RDS.

Pengguna yang membuat deployment blue/green harus memiliki izin untuk menjalankan operasi RDS berikut:

  • rds:AddTagsToResource

  • rds:CreateDBInstanceReadReplica

Pengguna yang melakukan switchover pada deployment blue/green harus memiliki izin untuk menjalankan operasi RDS berikut:

  • rds:ModifyDBInstance

  • rds:PromoteReadReplica

Pengguna yang menghapus deployment blue/green harus memiliki izin untuk menjalankan operasi RDS berikut:

  • rds:DeleteDBInstance

Amazon RDS menyediakan dan memodifikasi sumber daya di lingkungan pementasan atas nama Anda. Sumber daya ini mencakup instance DB yang menggunakan konvensi penamaan yang ditentukan secara internal. Oleh karena itu, kebijakan IAM terlampir tidak dapat berisi pola nama sumber daya sebagian sepertimy-db-prefix-*. Hanya wildcard (*) yang didukung. Secara umum, sebaiknya gunakan tag sumber daya dan atribut lain yang didukung untuk mengontrol akses ke sumber daya ini, bukan wildcard. Untuk informasi selengkapnya, lihat Kunci tindakan, sumber daya, dan kondisi untuk Amazon RDS.

Pertimbangan untuk deployment blue/green

Amazon RDS melacak sumber daya di deployment blue/green dengan DbiResourceId dari setiap sumber daya. ID sumber daya ini adalah pengenal Wilayah AWS-unik dan tidak dapat diubah untuk sumber daya.

ID sumber daya terpisah dari ID klaster DB:

Membuat deployment blue/green

Nama (ID instans) sumber daya berubah saat Anda switchover deployment blue/green, tetapi setiap sumber daya menyimpan ID sumber daya yang sama. Misalnya, pengidentifikasi instans DB mungkin adalah mydb di lingkungan biru. Setelah switchover, instans DB yang sama mungkin diganti namanya menjadi mydb-old1. Namun, ID sumber daya instans DB tidak berubah selama switchover. Jadi, ketika sumber daya hijau dipromosikan menjadi sumber daya produksi baru, ID sumber dayanya tidak cocok dengan ID sumber daya biru yang sebelumnya diproduksi.

Setelah switchover deployment blue/green, sebaiknya perbarui ID sumber daya ke sumber daya produksi yang baru dipromosikan untuk fitur dan layanan terintegrasi yang Anda gunakan dengan sumber daya produksi. Secara khusus, pertimbangkan pembaruan berikut:

  • Jika Anda melakukan pemfilteran menggunakan API RDS dan ID sumber daya, sesuaikan ID sumber daya yang digunakan dalam pemfilteran setelah switchover.

  • Jika Anda menggunakan CloudTrail untuk mengaudit sumber daya, sesuaikan konsumen CloudTrail untuk melacak ID sumber daya baru setelah peralihan. Untuk informasi selengkapnya, lihat Memantau panggilan API Amazon RDS di AWS CloudTrail.

  • Jika Anda menggunakan API Wawasan Performa, sesuaikan ID sumber daya dalam panggilan ke API setelah switchover. Untuk informasi selengkapnya, lihat Memantau muatan DB dengan Wawasan Performa di Amazon RDS.

    Anda dapat memantau basis data dengan nama yang sama setelah switchover, tetapi basis data tersebut tidak berisi data sebelum switchover.

  • Jika menggunakan ID sumber daya dalam kebijakan IAM, pastikan Anda menambahkan ID sumber daya dari sumber daya yang baru dipromosikan jika diperlukan. Untuk informasi selengkapnya, lihat Manajemen identitas dan akses untuk Amazon RDS.

  • Jika Anda memiliki peran IAM yang terkait dengan instans Anda, pastikan untuk mengasosiasikannya kembali setelah peralihan. Peran terlampir tidak secara otomatis disalin ke lingkungan hijau.

  • Jika Anda mengautentikasi instans DB menggunakan autentikasi basis data IAM, pastikan kebijakan IAM yang digunakan untuk akses basis data memiliki basis data biru dan hijau yang tercantum di elemen Resource kebijakan. Ini diperlukan agar dapat terhubung ke basis data hijau setelah switchover. Untuk informasi selengkapnya, lihat Membuat dan menggunakan kebijakan IAM untuk akses basis data IAM.

  • Jika Anda menggunakannya AWS Backup untuk mengelola pencadangan otomatis sumber daya dalam penerapan biru/hijau, sesuaikan ID sumber daya yang digunakan setelah peralihan. AWS Backup Untuk informasi selengkapnya, lihat Menggunakan AWS Backup untuk mengelola backup otomatis.

  • Jika Anda ingin memulihkan snapshot DB manual atau otomatis untuk instans DB yang merupakan bagian dari deployment blue/green, pastikan Anda memulihkan snapshot DB yang benar dengan memeriksa waktu ketika snapshot diambil. Untuk informasi selengkapnya, lihat Memulihkan dari snapshot DB.

  • Jika Anda ingin menjelaskan pencadangan otomatis instans DB lingkungan biru sebelumnya atau memulihkannya ke waktu tertentu, gunakan ID sumber daya untuk operasi tersebut.

    Karena nama instans DB berubah selama switchover, Anda tidak dapat menggunakan nama sebelumnya untuk operasi DescribeDBInstanceAutomatedBackups atau RestoreDBInstanceToPointInTime.

    Untuk informasi selengkapnya, lihat Memulihkan instans DB dengan waktu yang ditentukan.

  • Saat Anda menambahkan replika baca ke instans DB di lingkungan hijau dari deployment blue/green, replika baca baru tidak akan menggantikan replika baca di lingkungan biru saat Anda switch over. Namun, replika baca baru dipertahankan di lingkungan produksi baru setelah switchover.

  • Jika Anda menghapus instans DB di lingkungan hijau deployment blue/green, Anda tidak dapat membuat instans DB baru untuk menggantikannya dalam deployment blue/green.

    Jika Anda membuat instans DB baru dengan nama yang sama dan Amazon Resource Name (ARN) dengan instans DB yang dihapus, instans tersebut memiliki DbiResourceId yang berbeda, jadi instans tersebut bukan bagian dari lingkungan hijau.

    Perilaku berikut akan terjadi jika Anda menghapus instans DB di lingkungan hijau:

    • Jika ada instans DB di lingkungan biru dengan nama yang sama, instans tersebut tidak akan switchover ke instans DB di lingkungan hijau. Instans DB ini tidak akan diganti namanya dengan menambahkan -oldn ke nama instans DB tersebut.

    • Aplikasi apa pun yang menunjuk ke instans DB di lingkungan biru terus menggunakan instans DB yang sama setelah switchover.

    Perilaku yang sama berlaku untuk instans DB dan replika baca.

Praktik terbaik untuk deployment blue/green

Berikut ini adalah praktik terbaik untuk deployment blue/green:

Praktik terbaik umum

  • Uji instans DB secara menyeluruh di lingkungan hijau sebelum switchover.

  • Simpan basis data Anda di lingkungan hijau dengan kondisi hanya baca. Sebaiknya Anda mengaktifkan operasi tulis di lingkungan hijau dengan hati-hati karena dapat mengakibatkan konflik replikasi. Hal ini juga dapat menghasilkan data yang tidak diinginkan dalam basis data produksi setelah switchover.

  • Saat menggunakan deployment blue/green untuk mengimplementasikan perubahan skema, hanya buat perubahan yang kompatibel dengan replikasi.

    Misalnya, Anda dapat menambahkan kolom baru di akhir tabel tanpa mengganggu replikasi dari penerapan biru ke penerapan hijau. Namun, perubahan skema, seperti penggantian nama kolom atau nama tabel, memecah replikasi ke deployment hijau.

    Untuk informasi selengkapnya tentang perubahan yang kompatibel dengan replikasi, lihat Replication with Differing Table Definitions on Source and Replica di dokumentasi MySQL dan Restrictions dalam dokumentasi replikasi logis PostgreSQL.

  • Setelah Anda membuat deployment blue/green, tangani pemuatan lambat jika perlu. Pastikan pemuatan data selesai sebelum switchover. Untuk informasi selengkapnya, lihat Menangani pemuatan lambat saat Anda membuat deployment blue/green.

  • Saat Anda mengalihkan deployment blue/green, ikuti praktik terbaik switchover. Untuk informasi selengkapnya, lihat Praktik terbaik switchover.

Praktik terbaik RDS for MySQL

  • Hindari menggunakan mesin penyimpanan non-transaksional, seperti MyISAM, yang tidak dioptimalkan untuk replikasi.

  • Optimalkan replika baca untuk replikasi log biner.

    Misalnya, jika versi mesin DB Anda mendukungnya, sebaiknya gunakan replikasi GTID, replikasi paralel, dan replikasi aman dari crash di lingkungan produksi Anda sebelum men-deploy deployment blue/green. Opsi ini mendukung konsistensi dan daya tahan data Anda sebelum switchover deployment blue/green. Untuk informasi selengkapnya tentang replikasi GTID untuk replika baca, lihat Penggunaan replikasi berbasis GTID.

Praktik terbaik RDS for PostgreSQL

  • Jika database Anda memiliki memori freeable yang cukup, tingkatkan nilai parameter logical_decoding_work_mem DB di lingkungan biru. Tindakan ini memungkinkan lebih sedikit decoding pada disk, alih-alih menggunakan memori. Anda dapat memantau memori yang dapat dibebaskan dengan FreeableMemory CloudWatch metrik. Untuk informasi selengkapnya, lihat Metrik CloudWatch tingkat instans Amazon untuk Amazon RDS.

  • Perbarui semua ekstensi PostgreSQL Anda ke versi terbaru sebelum membuat deployment blue/green. Untuk informasi selengkapnya, lihat Meningkatkan ekstensi PostgreSQL.

  • Jika Anda menggunakan ekstensi aws_s3, pastikan Anda memberikan akses instans DB hijau ke Amazon S3 melalui peran IAM setelah lingkungan hijau dibuat. Hal ini memungkinkan perintah impor dan ekspor untuk terus berfungsi setelah switchover. Untuk petunjuknya, lihat Menyiapkan akses ke bucket Amazon S3.

  • Jika Anda menentukan versi engine yang lebih tinggi untuk lingkungan hijau, jalankan ANALYZE operasi di semua database untuk menyegarkan pg_statistic tabel. Statistik pengoptimal tidak ditransfer selama peningkatan versi utama, jadi Anda harus membuat ulang semua statistik untuk menghindari masalah kinerja. Untuk praktik terbaik tambahan selama peningkatan versi utama, lihat Cara melakukan peningkatan versi mayor.

  • Hindari mengonfigurasi pemicu sebagai ENABLE REPLICA atau ENABLE ALWAYS jika pemicu digunakan pada sumber untuk memanipulasi data. Jika tidak, sistem replikasi menyebarkan perubahan dan mengeksekusi pemicu, yang mengarah ke duplikasi.

  • Transaksi yang berjalan lama dapat menyebabkan kelambatan replika yang signifikan. Untuk mengurangi lag replika, pertimbangkan untuk melakukan hal berikut:

    • Kurangi transaksi jangka panjang yang dapat ditunda hingga setelah lingkungan hijau menyusul lingkungan biru.

    • Memulai operasi pembekuan vakum manual pada tabel sibuk sebelum membuat penerapan biru/hijau.

    • Untuk PostgreSQL versi 12 dan lebih tinggi, nonaktifkan parameter index_cleanup pada tabel besar atau sibuk untuk meningkatkan tingkat pemeliharaan normal pada database biru. Untuk informasi selengkapnya, lihat Melakukan vakum di tabel secepat mungkin.

  • Replikasi yang lambat dapat menyebabkan pengirim dan penerima sering memulai ulang, yang menunda sinkronisasi. Untuk memastikan bahwa mereka tetap aktif, nonaktifkan batas waktu dengan menyetel wal_sender_timeout parameter ke 0 dalam lingkungan biru, dan wal_receiver_timeout parameter ke 0 dalam lingkungan hijau.

  • Untuk mencegah segmen write-ahead log (WAL) dihapus dari lingkungan biru, atur wal_keep_segments parameter ke 15625 untuk PostgreSQL versi 13 dan yang lebih rendah. Untuk versi 14 dan lebih tinggi, atur wal_keep_size parameternya juga 1 TiB, jika ada cukup ruang penyimpanan kosong.

Batasan untuk deployment blue/green

Batasan berikut berlaku untuk deployment blue/green.

Batasan umum untuk deployment blue/green

Batasan umum berikut berlaku untuk deployment blue/green:

  • MySQL versi 8.0.11 hingga 8.0.13 memiliki bug komunitas yang mencegahnya mendukung deployment blue/green.

  • Versi berikut dari RDS for PostgreSQL didukung sebagai versi target dan sumber peningkatan: 11.21 dan yang lebih tinggi, 12.16 dan yang lebih tinggi, 13.12 dan yang lebih tinggi, 14.9 dan yang lebih tinggi, serta 15.4 dan yang lebih tinggi. Untuk versi yang lebih rendah, Anda dapat melakukan peningkatan versi minor ke versi yang didukung.

  • Penerapan biru/hijau tidak mendukung pengelolaan kata sandi pengguna utama dengan. AWS Secrets Manager

  • Jika volume log khusus (DLV) diaktifkan pada database biru, itu harus diaktifkan pada semua instance DB, termasuk replika baca.

  • Untuk RDS for PostgreSQL, tabel yang tidak tercatat tidak direplikasi ke lingkungan hijau.

  • Untuk , instans DB lingkungan biru tidak dapat berupa sumber logis (penerbit) atau replika (pelanggan) yang dikelola sendiri.

  • Selama switchover, lingkungan biru dan hijau tidak boleh memiliki integrasi nol-ETL dengan Amazon Redshift. Anda harus menghapus integrasi tersebut terlebih dahulu dan switchover, lalu membuat ulang integrasi.

  • Penjadwal Peristiwa (parameter event_scheduler) harus dinonaktifkan di lingkungan hijau saat Anda membuat deployment blue/green. Ini mencegah peristiwa dihasilkan di lingkungan hijau dan menyebabkan inkonsistensi.

  • Penerapan biru/hijau tidak mendukung Driver AWS JDBC untuk MySQL. Untuk informasi selengkapnya, lihat Batasan yang Diketahui pada GitHub.

  • Deployment blue/green tidak didukung untuk fitur berikut:

    • Proksi Amazon RDS

    • Replika baca kaskade

    • Replika baca Lintas Wilayah

    • AWS CloudFormation

    • Deployment klaster DB Multi-AZ

      Deployment blue/green didukung untuk deployment instans DB Multi-AZ. Untuk informasi selengkapnya tentang deployment Multi-AZ, lihat Mengonfigurasi dan mengelola deployment Multi-AZ.

Batasan ekstensi PostgreSQL untuk deployment blue/green

Batasan berikut berlaku untuk ekstensi PostgreSQL:

  • Ekstensi pg_partman harus dinonaktifkan di lingkungan biru saat Anda membuat deployment blue/green. Ekstensi tersebut menjalankan operasi DDL seperti CREATE TABLE, yang memecah replikasi logis dari lingkungan biru ke lingkungan hijau.

  • Ekstensi pg_cron harus tetap dinonaktifkan di semua basis data hijau setelah deployment blue/green dibuat. Ekstensi tersebut memiliki pekerja latar belakang yang berjalan sebagai superuser dan melewati pengaturan hanya baca di lingkungan hijau, yang dapat menyebabkan konflik replikasi.

  • Jika instans DB biru dikonfigurasi sebagai server asing dari ekstensi pembungkus data asing (FDW), Anda harus menggunakan nama titik akhir instans, alih-alih alamat IP. Hal ini memungkinkan konfigurasi untuk tetap berfungsi setelah switchover.

  • Ekstensi pg_active dan pglogical harus dinonaktifkan di lingkungan biru saat Anda membuat deployment blue/green. Setelah Anda mempromosikan lingkungan hijau menjadi lingkungan produksi baru, Anda dapat mengaktifkan ekstensi lagi. Selain itu, basis data biru tidak bisa menjadi pelanggan logis dari instans eksternal.

  • Jika Anda menggunakan pgAudit ekstensi, ekstensi harus tetap berada di pustaka bersama (shared_preload_libraries) pada grup parameter DB khusus untuk instance DB biru dan hijau. Untuk informasi selengkapnya, lihat Menyiapkan ekstensi pgAdit.

Batasan untuk perubahan dalam deployment blue/green

Berikut ini adalah batasan untuk perubahan dalam deployment blue/green:

  • Anda tidak dapat mengubah instans DB yang tidak terenkripsi menjadi instans DB yang terenkripsi.

  • Anda tidak dapat mengubah instans DB yang terenkripsi menjadi instans DB yang tidak terenkripsi.

  • Anda tidak dapat mengubah instans DB lingkungan biru ke versi mesin yang lebih tinggi daripada instans DB lingkungan hijau yang sesuai.

  • Sumber daya di lingkungan biru dan lingkungan hijau harus berada dalam Akun AWS yang sama.

  • Untuk RDS for MySQL, jika basis data sumber dikaitkan dengan grup opsi kustom, Anda tidak dapat menentukan peningkatan versi mayor saat Anda membuat deployment blue/green.

    Dalam hal ini, Anda dapat membuat deployment blue/green tanpa menentukan peningkatan versi mayor. Kemudian, Anda dapat meningkatkan basis data di lingkungan hijau. Untuk informasi selengkapnya, lihat Meningkatkan versi mesin instans DB.

Batasan replikasi logis PostgreSQL untuk deployment blue/green

Deployment blue/green menggunakan replikasi logis agar lingkungan pementasan tetap sinkron dengan lingkungan produksi. PostgreSQL memiliki batasan tertentu yang terkait dengan replikasi logis, yang diterjemahkan ke batasan saat membuat deployment blue/green untuk instans DB RDS for PostgreSQL.

Tabel berikut menjelaskan batasan replikasi logis yang berlaku untuk deployment blue/green RDS for PostgreSQL.

Batasan Penjelasan
Pernyataan bahasa definisi data (DDL), seperti CREATE TABLE dan CREATE SCHEMA, tidak direplikasi dari lingkungan biru ke lingkungan hijau.

Jika Amazon RDS mendeteksi perubahan DDL di lingkungan biru, basis data hijau Anda memasukkan status Replikasi terdegradasi.

Anda menerima peristiwa yang memberi tahu bahwa perubahan DDL di lingkungan biru tidak dapat direplikasi ke lingkungan hijau. Anda harus menghapus deployment blue/green dan semua basis data hijau, lalu buat kembali semuanya. Jika tidak, Anda tidak dapat switchover deployment blue/green.

Operasi NEXTVAL pada objek urutan tidak disinkronkan antara lingkungan biru dan lingkungan hijau.

Selama switchover, Amazon RDS menambah nilai urutan di lingkungan hijau agar sesuai dengan yang ada di lingkungan biru. Jika Anda memiliki ribuan urutan, hal ini dapat menunda switchover.

Pembuatan atau perubahan objek besar di lingkungan biru tidak direplikasi ke lingkungan hijau.

Jika Amazon RDS mendeteksi pembuatan atau perubahan objek besar di lingkungan biru yang disimpan dalam tabel sistem pg_largeobject, basis data hijau Anda memasukkan status Replikasi terdegradasi.

RDS menghasilkan peristiwa yang memberi tahu Anda bahwa perubahan objek besar di lingkungan biru tidak dapat direplikasi ke lingkungan hijau. Anda harus menghapus deployment blue/green dan semua basis data hijau, lalu buat kembali semuanya. Jika tidak, Anda tidak dapat switchover deployment blue/green.

Tampilan terwujud tidak secara otomatis disegarkan di lingkungan hijau.

Menyegarkan tampilan terwujud di lingkungan biru tidak akan menyegarkannya di lingkungan hijau. Setelah switchover, Anda dapat menjadwalkan penyegaran tampilan terwujud.

Operasi UPDATE dan DELETE tidak diizinkan pada tabel yang tidak memiliki kunci primer.

Sebelum Anda membuat deployment blue/green, pastikan semua tabel di instans DB memiliki kunci primer.

Untuk informasi selengkapnya, lihat Restrictions di dokumentasi replikasi logis PostgreSQL.