

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

# Praktik terbaik untuk penerapan Amazon RDS blue/green Aurora
<a name="blue-green-deployments-best-practices"></a>

Berikut ini adalah praktik terbaik untuk blue/green penerapan.

**Topics**
+ [Praktik terbaik umum untuk blue/green penerapan](#blue-green-deployments-best-practices-general)
+ [RDS untuk MySQL Aurora MySQL untuk penerapan blue/green](#blue-green-deployments-best-practices-mysql)
+ [RDS untuk MySQL Global Database praktik terbaik untuk penerapan blue/green](#blue-green-deployments-best-practices-agd)
+ [Metode replikasi PostgreSQL untuk penerapan blue/green](blue-green-deployments-replication-type.md)

## Praktik terbaik umum untuk blue/green penerapan
<a name="blue-green-deployments-best-practices-general"></a>

Pertimbangkan praktik terbaik umum berikut saat Anda membuat penerapan biru/hijau.
+ 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 blue/green penerapan untuk mengimplementasikan 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](https://dev.mysql.com/doc/refman/8.0/en/replication-features-differing-tables.html) di dokumentasi MySQL dan [Restrictions](https://www.postgresql.org/docs/current/logical-replication-restrictions.html) dalam dokumentasi replikasi logis PostgreSQL.
**catatan**  
Batasan ini tidak berlaku untuk RDS untuk penyebaran blue/green PostgreSQL yang menggunakan replikasi fisik. Untuk informasi selengkapnya, lihat [RDS untuk batasan PostgreSQL untuk penerapan dengan replikasi fisik blue/green](blue-green-deployments-considerations.md#blue-green-deployments-limitations-postgres-physical).
+ Setelah Anda membuat blue/green penerapan, tangani pemuatan lambat jika perlu. Pastikan pemuatan data selesai sebelum switchover. Untuk informasi selengkapnya, lihat [Pemuatan malas dan inisialisasi penyimpanan untuk penerapan blue/green](blue-green-deployments-creating.md#blue-green-deployments-creating-lazy-loading).
+ Saat Anda mengalihkan blue/green penerapan, ikuti praktik terbaik peralihan. Untuk informasi selengkapnya, lihat [Praktik terbaik switchover](blue-green-deployments-switching.md#blue-green-deployments-switching-best-practices).

## RDS untuk MySQL Aurora MySQL untuk penerapan blue/green
<a name="blue-green-deployments-best-practices-mysql"></a>


+ 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, parallel, dan crash-safe untuk memastikan konsistensi dan daya tahan data sebelum Anda membuat penerapan. blue/green Untuk informasi selengkapnya, lihat [Menggunakan replikasi GTID berbasis](mysql-replication-gtid.md).
+ Jika lingkungan hijau mengalami kelambatan replika, pertimbangkan hal berikut:
  + Setel sementara `innodb_flush_log_at_trx_commit` parameter ke `2`dalam kelompok parameter DB hijau. Setelah replikasi menyusul, kembalikan ke nilai default sebelum peralihan. `1` Jika terjadi shutdown atau crash yang tidak terduga dengan nilai parameter sementara, bangun kembali lingkungan hijau untuk menghindari kerusakan data yang tidak terdeteksi. 
  + Untuk mengurangi latensi tulis dan meningkatkan throughput replikasi, ubah sementara instans DB multi-AZ hijau menjadi instans DB AZ tunggal. Aktifkan kembali Multi-AZ tepat sebelum peralihan.

## RDS untuk MySQL Global Database praktik terbaik untuk penerapan blue/green
<a name="blue-green-deployments-best-practices-agd"></a>

Selain praktik terbaik umum dan khusus mesin yang tercantum di atas, pertimbangkan praktik terbaik berikut untuk RDS untuk MySQL DB Aurora Global Database.
+ Pantau CloudWatch metrik berikut untuk mengidentifikasi periode aktivitas rendah di lingkungan produksi Anda:
  + `DatabaseConnections`
  + `ActiveTransactions`

  Jadwalkan blue/green peralihan selama jendela pemeliharaan yang direncanakan atau selama periode aktivitas rendah.
+ Blue/Green switchover duration varies based on your workload and the number of secondary regions. When you initiate a blue/greenswitchover, layanan menunggu lag replika mencapai nol sebelum melanjutkan. Kami merekomendasikan untuk memeriksa 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.

### RDS untuk PostgreSQL praktik terbaik untuk penerapan blue/green
<a name="blue-green-deployments-best-practices-postgres"></a>

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

**Topics**
+ [RDS untuk PostgreSQL praktik terbaik umum untuk penerapan blue/green](#blue-green-deployments-best-practices-postgres-general)
+ [RDS untuk PostgreSQL praktik terbaik untuk penerapan dengan replikasi fisik blue/green](#blue-green-deployments-best-practices-postgres-physical)
+ [RDS untuk PostgreSQL praktik terbaik untuk penerapan dengan replikasi logis blue/green](#blue-green-deployments-best-practices-postgres-logical)

#### RDS untuk PostgreSQL praktik terbaik umum untuk penerapan blue/green
<a name="blue-green-deployments-best-practices-postgres-general"></a>

Pertimbangkan praktik terbaik umum berikut saat Anda membuat blue/green penerapan dari RDS untuk instans PostgreSQL DB.
+ Perbarui semua ekstensi PostgreSQL Anda ke versi terbaru sebelum Anda membuat penerapan. blue/green Untuk informasi selengkapnya, lihat [Meningkatkan SQL ekstensi Postgre untuk database Postgre RDS SQL](USER_UpgradeDBInstance.PostgreSQL.ExtensionUpgrades.md).
+ 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.
  + Kurangi operasi massal di lingkungan biru sampai setelah lingkungan hijau mengejar lingkungan biru.
  + Memulai operasi pembekuan vakum manual pada tabel sibuk sebelum membuat blue/green penerapan.
  + 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](Appendix.PostgreSQL.CommonDBATasks.Autovacuum.LargeIndexes.md#Appendix.PostgreSQL.CommonDBATasks.Autovacuum.LargeIndexes.Executing).
**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, kami sarankan untuk melanjutkan pemeliharaan dan pembersihan indeks reguler.
+ 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.

#### RDS untuk PostgreSQL praktik terbaik untuk penerapan dengan replikasi fisik blue/green
<a name="blue-green-deployments-best-practices-postgres-physical"></a>

Dengan replikasi fisik, Amazon RDS membuat replika baca instans DB sumber. Untuk parameter terkait, pemantauan, penyetelan, dan pemecahan masalah, lihat. [Menggunakan replika baca untuk Amazon RDS for PostgreSQL](USER_PostgreSQL.Replication.ReadReplicas.md)

Untuk penjelasan kapan blue/green penerapan menggunakan replikasi fisik alih-alih replikasi logis, lihat. [Metode replikasi PostgreSQL untuk penerapan blue/green](blue-green-deployments-replication-type.md)

#### RDS untuk PostgreSQL praktik terbaik untuk penerapan dengan replikasi logis blue/green
<a name="blue-green-deployments-best-practices-postgres-logical"></a>

Pertimbangkan praktik terbaik berikut saat Anda membuat blue/green penerapan yang menggunakan replikasi logis. Untuk penjelasan kapan blue/green penerapan menggunakan replikasi logis alih-alih replikasi fisik, lihat. [Metode replikasi PostgreSQL untuk penerapan blue/green](blue-green-deployments-replication-type.md)
+ 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. Untuk informasi selengkapnya, lihat [Dokumentasi PostgreSQL](https://www.postgresql.org/docs/13/runtime-config-resource.html#GUC-LOGICAL-DECODING-WORK-MEM).
  + 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 yang dapat dibebaskan dengan `FreeableMemory` CloudWatch metrik. Untuk informasi selengkapnya, lihat [Metrik CloudWatch tingkat instans Amazon untuk Amazon RDS](rds-metrics.md#rds-cw-metrics-instance).
  + Dalam RDS untuk PostgreSQL versi 14 dan lebih tinggi, Anda dapat memantau ukuran file luapan logis menggunakan tampilan sistem. `[pg\$1stat\$1replication\$1slots](https://www.postgresql.org/docs/14/monitoring-stats.html#MONITORING-PG-STAT-REPLICATION-SLOTS-VIEW)`
+ 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](postgresql-s3-export-access-bucket.md).
+ 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 saat operasi diputar ulang di lingkungan hijau.
+ Jika Anda menggunakan pemicu, pastikan mereka tidak mengganggu pembuatan, pembaruan, dan penghapusan, `pg_catalog.pg_publication``pg_catalog.pg_subscription`, dan `pg_catalog.pg_replication_slots` objek yang namanya dimulai dengan 'rds'.
+ 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 upgrade versi utama untuk RDS untuk PostgreSQL](USER_UpgradeDBInstance.PostgreSQL.MajorVersion.Process.md).
+ 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.

# Metode replikasi PostgreSQL untuk penerapan blue/green
<a name="blue-green-deployments-replication-type"></a>

Amazon RDS for PostgreSQL terutama menggunakan replikasi fisik untuk penerapan. blue/green Namun, jika Anda meminta pemutakhiran versi mayor saat membuat blue/green penerapan, dan instans DB sumber Anda menjalankan salah satu versi PostgreSQL yang tercantum dalam tabel di bawah ini, Amazon RDS menggunakan replikasi logis sebagai gantinya.

Tabel berikut menguraikan kapan Amazon RDS menggunakan replikasi fisik versus logis untuk penerapan PostgreSQL. blue/green 


| Sumber PostgreSQL DB versi instans | Upgrade tindakan dalam blue/green penerapan | Metode replikasi | 
| --- | --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/blue-green-deployments-replication-type.html)  | Peningkatan versi utama(contoh hijau pada versi mesin utama yang lebih tinggi dari biru) | Replikasi logis | 
| Versi yang Didukung | Upgrade versi minor, atau tidak ada upgrade(contoh hijau pada versi mesin utama yang sama dengan biru) | Replikasi fisik | 

**catatan**  
Upgrade versi utama tidak didukung untuk blue/green penerapan dengan sumber RDS untuk PostgreSQL versi 15.3 dan lebih rendah, 14.8 dan lebih rendah, 13.11 dan lebih rendah, 12.15 dan lebih rendah, atau 11.20 dan lebih rendah.

Untuk informasi tentang batasan blue/green penerapan yang menggunakan replikasi fisik dan logis, lihat bagian berikut:
+ [RDS untuk batasan PostgreSQL untuk penerapan dengan replikasi fisik blue/green](blue-green-deployments-considerations.md#blue-green-deployments-limitations-postgres-physical)
+ [ untuk penerapan dengan replikasi logis blue/green](blue-green-deployments-considerations.md#blue-green-deployments-limitations-postgres-logical)