Praktik terbaik untuk deployment blue/green - 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.

Praktik terbaik untuk deployment blue/green

Berikut ini adalah praktik terbaik untuk penerapan biru/hijau.

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 Replikasi dengan Definisi Tabel yang Berbeda pada Sumber dan Replika dalam SQL dokumentasi dan Pembatasan Saya dalam dokumentasi replikasi logis Postgre. SQL

  • 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.

RDSuntuk SQL Aurora Saya

  • 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, pertimbangkan untuk menggunakan GTID replikasi, replikasi paralel, dan replikasi aman kerusakan di lingkungan produksi Anda sebelum menerapkan penerapan biru/hijau Anda. Opsi ini mendukung konsistensi dan daya tahan data Anda sebelum switchover deployment blue/green. Untuk informasi lebih lanjut tentang GTID replikasi untuk replika baca, lihat. Menggunakan replikasi GTID berbasis

RDSuntuk praktik terbaik Postgre SQL Postgre SQL

  • 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 SQL ekstensi Postgre Anda ke versi terbaru sebelum Anda membuat penerapan biru/hijau. Untuk informasi selengkapnya, lihat Meningkatkan SQL ekstensi Postgre untuk database Postgre RDS SQL.

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

  • Jika Anda menentukan versi mesin 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 upgrade versi utama RDS untuk Postgre SQL.

  • 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 Postgre SQL versi 12 dan lebih tinggi, nonaktifkan index_cleanup parameter 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 SQL Postgre 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.