View a markdown version of this page

Praktik terbaik untuk Amazon RDS blue/green penyebaran - Amazon Relational Database Service

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

Praktik terbaik untuk Amazon RDS blue/green penyebaran

Berikut ini adalah praktik terbaik untuk pener blue/green apan.

Praktik terbaik umum untuk pener blue/green apan

Pertimbangkan praktik terbaik umum berikut saat Anda membuat blue/green penerapan.

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

  • Jika Anda menggunakan penerapan untuk meng blue/green implementasikan perubahan skema, buat hanya 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.

    catatan

    Batasan ini tidak berlaku untuk RDS untuk penerapan PostgreSQL yang menggunakan blue/green replikasi fisik. Untuk informasi selengkapnya, lihat Batasan RDS untuk PostgreSQL untuk penerapan dengan replikasi blue/green fisik.

  • Setelah Anda membuat blue/green penerapan, tangani pemuatan lambat jika perlu. Pastikan pemuatan data selesai sebelum switchover. Untuk informasi selengkapnya, lihat Pemuatan lambat dan inisialisasi penyimpanan untuk penerapan blue/green.

  • Saat Anda mengurangi penyimpanan yang dialokasikan dengan blue/green penerapan, ikuti panduan ukuran penyimpanan. Untuk informasi selengkapnya, lihat Ubah pengaturan penyimpanan dan kinerja.

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

RDS for MySQL praktik terbaik untuk pener blue/green apan

Pertimbangkan praktik terbaik berikut saat Anda membuat blue/green penerapan dari RDS untuk instans MySQL DB .

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

  • Optimalkan replika baca dan lingkungan hijau untuk replikasi log biner. Jika didukung oleh mesin DB Anda, aktifkan replikasi GTID, paralel, dan anti-crash untuk memastikan konsistensi dan daya tahan data sebelum Anda membuat penerapan. blue/green Untuk informasi selengkapnya, lihat Menggunakan GTID-based replikasi.

  • Jika lingkungan hijau mengalami lag replika, pertimbangkan hal berikut:

    • Setel sementara innodb_flush_log_at_trx_commit parameter ke 2 dalam grup parameter DB hijau. Setelah replikasi selesai, kembalikan ke nilai default 1 sebelum peralihan. Jika shutdown atau crash yang tidak terduga terjadi dengan nilai parameter sementara, bangun kembali lingkungan hijau untuk menghindari kerusakan data yang tidak terdeteksi.

  • Pantau CloudWatch metrik berikut untuk mengidentifikasi periode aktivitas rendah di lingkungan produksi Anda:

    • DatabaseConnections

    Jadwal blue/green kan peralihan selama jendela pemeliharaan yang direncanakan atau selama periode aktivitas rendah.

  • Blue/Green durasi peralihan bervariasi berdasarkan beban kerja Anda dan jumlah wilayah sekunder. Saat Anda memulai per blue/green alihan, layanan menunggu replika lag mencapai nol sebelum melanjutkan. Sebaiknya periksa lag replika sebelum memulai peralihan.

  • Jika Anda bermaksud menggunakan parameter DB atau grup parameter Cluster DB selain yang default untuk lingkungan hijau Anda, buat grup parameter yang diinginkan dengan nama yang sama di semua wilayah sekunder sebelum memulai blue/green penerapan.

Praktik terbaik RDS untuk PostgreSQL untuk penerapan blue/green

Pertimbangkan praktik terbaik berikut saat Anda membuat blue/green penerapan dari instans DB RDS untuk PostgreSQL.

Praktik terbaik umum RDS untuk PostgreSQL untuk penerapan blue/green

Pertimbangkan praktik terbaik umum berikut saat Anda membuat blue/green penerapan dari RDS untuk instans DB PostgreSQL.

  • Perbarui semua ekstensi PostgreSQL Anda ke versi terbaru sebelum Anda membuat blue/green penerapan. Untuk informasi selengkapnya, lihat Meningkatkan ekstensi PostgreSQL di RDS untuk database PostgreSQL.

  • Long-running transaksi dapat menyebabkan lag replika yang signifikan. Untuk mengurangi lag replika, pertimbangkan untuk melakukan hal berikut:

    • Kurangi transaksi jangka panjang yang dapat ditunda sampai setelah lingkungan hijau mengejar lingkungan biru.

    • Kurangi operasi massal di lingkungan biru sampai lingkungan hijau mengejar lingkungan biru.

    • Mulai operasi pembekuan vakum manual di meja sibuk sebelum membuat blue/green penerapan.

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

      catatan

      Melewatkan pembersihan indeks secara teratur selama menyedot debu dapat menyebabkan indeks kembung, yang dapat menurunkan kinerja pemindaian. Sebagai praktik terbaik, gunakan pendekatan ini hanya saat menggunakan blue/green penerapan. Setelah penerapan selesai, sebaiknya lanjutkan pemeliharaan dan pembersihan indeks secara teratur.

  • Replikasi lambat dapat menyebabkan pengirim dan penerima sering memulai ulang, yang menunda sinkronisasi. Untuk memastikan bahwa mereka tetap aktif, nonaktifkan batas waktu dengan mengatur 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 parameter juga 1 TiB, jika ada cukup ruang penyimpanan gratis.

Praktik terbaik RDS untuk PostgreSQL untuk penerapan dengan replikasi blue/green fisik

Dengan replikasi fisik, Amazon RDS membuat replika baca dari instance DB sumber. Untuk parameter terkait, pemantauan, penyetelan, dan pemecahan masalah, lihatMenggunakan replika baca untuk Amazon RDS for PostgreSQL.

Untuk penjelasan kapan penerapan menggunakan replikasi blue/green fisik alih-alih replikasi logis, lihat. Metode replikasi PostgreSQL untuk penerapan blue/green

Praktik terbaik RDS untuk PostgreSQL untuk penerapan dengan replikasi log blue/green is

Pertimbangkan praktik terbaik berikut saat Anda membuat blue/green penerapan yang menggunakan replikasi logis. Untuk penjelasan kapan penerapan menggunakan replikasi blue/green logis alih-alih replikasi fisik, lihat. Metode replikasi PostgreSQL untuk penerapan blue/green

  • Jika database Anda memiliki memori bebas 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. Untuk informasi selengkapnya, lihat Dokumentasi PostgreSQL.

    • Anda dapat memantau overflow transaksi yang ditulis ke disk menggunakan ReplicationSlotDiskUsage CloudWatch metrik. Metrik ini menawarkan wawasan tentang penggunaan disk slot replikasi, membantu mengidentifikasi kapan data transaksi melebihi kapasitas memori dan disimpan di disk. Anda dapat memantau memori bebas dengan FreeableMemory CloudWatch metrik. Untuk informasi selengkapnya, lihat Metrik CloudWatch tingkat instans Amazon untuk Amazon RDS.

    • Di RDS untuk PostgreSQL versi 14 dan lebih tinggi, Anda dapat memantau ukuran file luapan logis menggunakan tampilan sistem. pg_stat_replication_slots

  • Jika Anda menggunakan aws_s3 ekstensi, berikan 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.

  • Tinjau kinerja pernyataan UPDATE dan DELETE Anda dan evaluasi apakah membuat indeks pada kolom yang digunakan dalam klausa WHERE dapat mengoptimalkan kueri ini. Ini dapat meningkatkan kinerja ketika operasi diputar ulang di lingkungan hijau.

  • Jika Anda menggunakan pemicu, pastikan pemicu tidak mengganggu pembuatan, pembaruan, dan penghapusan pg_catalog.pg_publicationpg_catalog.pg_subscription, dan pg_catalog.pg_replication_slots objek yang namanya dimulai dengan 'rds'.

  • Jika Anda menentukan versi mesin yang lebih tinggi untuk lingkungan hijau, jalankan ANALYZE operasi pada semua database untuk menyegarkan pg_statistic tabel. Statistik pengoptimal tidak ditransfer selama pemutakhiran versi utama, jadi Anda harus membuat ulang semua statistik untuk menghindari masalah kinerja. Untuk praktik terbaik tambahan selama peningkatan versi utama, lihatCara melakukan upgrade versi utama untuk RDS untuk PostgreSQL.

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