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

Mengganti deployment blue/green

Switchover mempromosikan lingkungan hijau untuk menjadi lingkungan produksi baru. Setelah instans DB hijau memiliki replika baca, replika tersebut juga dipromosikan. Sebelum Anda switchover, lalu lintas produksi diarahkan ke instans DB dan replika baca di lingkungan biru. Setelah Anda switchover, lalu lintas produksi diarahkan ke instans DB dan replika baca di lingkungan hijau.

Mengalihkan penerapan biru/hijau tidak sama dengan mempromosikan DB instans DB hijau dalam penerapan biru/hijau. Jika Anda secara manual mempromosikan hijau dengan memilih Promosikan dari menu Tindakan, replikasi antara lingkungan biru dan hijau akan rusak dan penerapan biru/hijau memasuki status konfigurasi Tidak valid.

Waktu habis switchover

Anda dapat menentukan periode waktu habis switchover antara 30 detik dan 3.600 detik (satu jam). Jika switchover memakan waktu lebih lama dari durasi yang ditentukan, maka perubahan apa pun akan dikembalikan dan tidak ada perubahan pada lingkungan mana pun. Periode waktu habis default adalah 300 detik (lima menit).

Pagar pembatas switchover

Saat Anda memulai peralihan, Amazon RDS menjalankan beberapa pemeriksaan dasar untuk menguji kesiapan lingkungan biru dan hijau untuk peralihan. Pemeriksaan ini dikenal sebagai pagar pembatas switchover. Pagar pembatas switchover ini mencegah switchover jika lingkungan belum siap. Oleh karena itu, pagar pembatas tersebut dapat mencegah waktu henti yang lebih lama dari yang diharapkan dan mencegah hilangnya data antara lingkungan biru dan hijau yang mungkin terjadi jika switchover dimulai.

Amazon RDS menjalankan pemeriksaan pagar pembatas berikut pada lingkungan hijau:

  • Kondisi replikasi – Memeriksa apakah status replikasi instans DB primer hijau berkondisi baik. Instans DB primer hijau adalah replika dari instans DB primer biru.

  • Jeda replikasi – Memeriksa apakah jeda replika instans DB primer hijau berada dalam batas yang diizinkan untuk switchover. Batas yang diizinkan didasarkan pada periode waktu habis yang ditentukan. Jeda replika menunjukkan seberapa jauh instans DB primer tertinggal dari instans DB primer biru.

  • Penulisan aktif – Memastikan tidak ada penulisan aktif pada instans DB primer hijau.

Amazon RDS menjalankan pemeriksaan pagar pembatas berikut pada lingkungan biru:

  • Replikasi eksternal — Untuk Postgre untuk SQL Postgre, pastikan bahwa lingkungan biru bukan sumber logis yang dikelola sendiri (penerbit) atau replika (pelanggan). Jika ya, kami sarankan Anda melepaskan slot replikasi dan langganan yang dikelola sendiri di semua database di lingkungan biru, lanjutkan dengan peralihan, lalu buat ulang untuk melanjutkan replikasi. Untuk for My SQL dan RDS MariaDB, periksa apakah database biru bukan replika binlog eksternal. Jika ya, pastikan itu tidak aktif mereplikasi.

  • Penulisan aktif yang berjalan lama – Memastikan tidak ada penulisan aktif yang berjalan lama pada instans DB primer biru karena dapat meningkatkan jeda replika.

  • DDLPernyataan yang berjalan lama — Memastikan tidak ada DDL pernyataan yang berjalan lama pada DB instance DB primer biru karena dapat meningkatkan lag replika.

  • SQLPerubahan Postgre yang tidak didukung — Untuk untuk instans Postgre SQL DB, pastikan tidak ada DDL perubahan dan tidak ada penambahan atau modifikasi objek besar yang dilakukan pada lingkungan biru. Untuk informasi selengkapnya, lihat Batasan replikasi SQL logis Postgre untuk penerapan biru/hijau.

    Jika Amazon RDS mendeteksi SQL perubahan Postgre yang tidak didukung, Amazon mengubah status replikasi menjadi Replication degraded dan memberi tahu Anda bahwa peralihan tidak tersedia untuk penerapan biru/hijau. Untuk melanjutkan switchover, sebaiknya Anda menghapus dan membuat ulang deployment blue/green dan semua basis data hijau. Untuk melakukannya, pilih Tindakan, Hapus dengan basis data hijau.

Tindakan switchover

Saat Anda mengalihkan penerapan biru/hijau, RDS lakukan tindakan berikut:

  1. Menjalankan pemeriksaan pagar pembatas untuk memverifikasi apakah lingkungan biru dan hijau siap untuk switchover.

  2. Menghentikan operasi tulis baru pada klaster DB di kedua lingkungan.

  3. Memutuskan koneksi ke instans DB di kedua lingkungan dan tidak mengizinkan koneksi baru.

  4. Menunggu replikasi untuk mengejar ketertinggalan di lingkungan hijau sehingga lingkungan hijau sinkron dengan lingkungan biru.

  5. Mengganti nama instans DB dan di kedua lingkungan.

    RDSmengganti nama . Misalnya, asumsikan nama instans DB di lingkungan biru adalah mydb. Asumsikan juga nama instans DB yang sesuai di lingkungan hijau adalah mydb-green-abc123. Selama switchover, nama instans DB di lingkungan hijau berubah menjadi mydb.

    RDSmengganti nama di lingkungan biru dengan menambahkan -oldn ke nama saat ini, di mana angka. n Misalnya, asumsikan nama instans DB di lingkungan biru adalah mydb. Setelah switchover, nama instans DB bisa jadi mydb-old1.

    RDSjuga mengganti nama titik akhir di lingkungan hijau agar sesuai dengan titik akhir yang sesuai di lingkungan biru sehingga perubahan aplikasi tidak diperlukan.

  6. Memungkinkan koneksi ke basis data di kedua lingkungan.

  7. Memungkinkan operasi tulis pada klaster DB di lingkungan produksi baru.

    Setelah peralihan, DB instans DB primer produksi sebelumnya hanya mengizinkan operasi baca hingga Anda mengatur read_only parameter 0 dan me-reboot instans DB.

Anda dapat memantau status peralihan menggunakan Amazon. EventBridge Untuk informasi selengkapnya, lihat Peristiwa deployment blue/green.

Jika Anda memiliki tag yang dikonfigurasi di lingkungan biru, tag ini disalin ke lingkungan produksi baru selama peralihan. Untuk informasi selengkapnya tentang tag, lihat Menandai sumber Amazon RDS.

Jika switchover dimulai lalu berhenti sebelum selesai karena alasan apa pun, maka perubahan apa pun akan dikembalikan, dan tidak ada perubahan yang diterapkan pada lingkungan mana pun.

Praktik terbaik switchover

Sebelum melakukan switchover, Anda sangat dianjurkan untuk mengikuti praktik terbaik dengan menyelesaikan tugas-tugas berikut:

  • Uji sumber daya secara menyeluruh di lingkungan hijau. Pastikan sumber daya berfungsi dengan baik dan efisien.

  • Pantau CloudWatch metrik Amazon yang relevan. Untuk informasi selengkapnya, lihat Memverifikasi CloudWatch metrik sebelum peralihan.

  • Identifikasi waktu terbaik untuk melakukan switchover.

    Selama switchover, penulisan terputus dari basis data di kedua lingkungan. Identifikasi waktu ketika lalu lintas berada pada titik terendah di lingkungan produksi Anda. Transaksi yang berjalan lama, seperti aktifDDLs, dapat meningkatkan waktu peralihan Anda, menghasilkan waktu henti yang lebih lama untuk beban kerja produksi Anda.

    Jika terdapat banyak koneksi pada instans DB, pertimbangkan untuk menguranginya secara manual ke jumlah minimum yang diperlukan untuk aplikasi Anda sebelum Anda melakukan switchover pada deployment blue/green. Salah satu cara untuk melakukannya adalah dengan membuat skrip yang memantau status deployment blue/green dan mulai membersihkan koneksi ketika mendeteksi bahwa status telah berubah menjadi SWITCHOVER_IN_PROGRESS.

  • Pastikan instans DB di kedua lingkungan berada dalam status Available.

  • Pastikan instans DB primer di lingkungan hijau berkondisi baik dan bereplikasi.

  • DNS
 Jika tidak, aplikasi akan terus mengirimkan lalu lintas tulis ke lingkungan biru setelah switchover.

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

  • Untuk untuk instans Postgre SQL DB, lakukan hal berikut:

    • Tinjau batasan replikasi logis dan lakukan tindakan apa pun yang diperlukan sebelum peralihan. Untuk informasi selengkapnya, lihat Batasan replikasi SQL logis Postgre untuk penerapan biru/hijau.

    • Jalankan operasi ANALYZE untuk menyegarkan tabel pg_statistics. Ini mengurangi risiko masalah kinerja setelah peralihan.

catatan

Selama switchover, Anda tidak dapat mengubah klaster DB apa pun yang disertakan dalam switchover.

Memverifikasi CloudWatch metrik sebelum peralihan

Sebelum Anda mengalihkan penerapan biru/hijau, kami sarankan Anda memeriksa nilai metrik berikut di Amazon. CloudWatch

  • ReplicaLag – Gunakan metrik ini untuk mengidentifikasi jeda replikasi saat ini pada lingkungan hijau. Untuk mengurangi waktu henti, pastikan nilai ini mendekati nol sebelum Anda switchover.

  • DatabaseConnections – Gunakan metrik ini untuk memperkirakan tingkat aktivitas pada deployment blue/green, dan pastikan nilainya berada pada tingkat yang dapat diterima untuk deployment Anda sebelum Anda switchover. Jika Wawasan Performa diaktifkan, DBLoad adalah metrik yang lebih akurat.

Untuk informasi selengkapnya tentang metrik ini, lihat CloudWatch Metrik Amazon untuk Amazon RDS.

Melakukan switchover pada deployment blue/green

Anda dapat mengganti penerapan biru/hijau menggunakan AWS Management Console, yang AWS CLI, atau RDSAPI.

Untuk melakukan switchover pada deployment blue/green
  1. Masuk ke AWS Management Console dan buka RDS konsol Amazon di https://console.aws.amazon.com/rds/.

  2. Di panel navigasi, pilih Basis data, lalu pilih deployment blue/green yang ingin Anda switchover.

  3. Untuk Tindakan, pilih Switchover.

    Halaman Switchover muncul.

    Switchover deployment blue/green
  4. Di halaman Switchover, tinjau ringkasan switchover. Pastikan sumber daya di kedua lingkungan sesuai dengan yang Anda harapkan. Jika tidak, pilih Batalkan.

  5. Untuk Pengaturan waktu habis, masukkan batas waktu untuk switchover.

  6. Jika , tinjau dan akui rekomendasi pra-peralihan. Untuk informasi selengkapnya, lihat Batasan replikasi SQL logis Postgre untuk penerapan biru/hijau.

  7. Pilih Switchover.

Untuk beralih penerapan biru/hijau dengan menggunakan AWS CLI, gunakan switchover-blue-green-deploymentperintah dengan opsi berikut:

  • --blue-green-deployment-identifier— Tentukan ID sumber daya dari penerapan biru/hijau.

  • --switchover-timeout – Tentukan waktu habis untuk switchover, dalam hitungan detik. Angka default-nya adalah 300.

contoh Melakukan switchover pada deployment blue/green

Untuk Linux, macOS, atau Unix:

aws rds switchover-blue-green-deployment \ --blue-green-deployment-identifier bgd-1234567890abcdef \ --switchover-timeout 600

Untuk Windows:

aws rds switchover-blue-green-deployment ^ --blue-green-deployment-identifier bgd-1234567890abcdef ^ --switchover-timeout 600

Untuk mengalihkan penerapan biru/hijau dengan menggunakan Amazon RDSAPI, gunakan SwitchoverBlueGreenDeploymentoperasi dengan parameter berikut:

  • BlueGreenDeploymentIdentifier— Tentukan ID sumber daya dari penerapan biru/hijau.

  • SwitchoverTimeout – Tentukan waktu habis untuk switchover, dalam hitungan detik. Angka default-nya adalah 300.

Setelah switchover

Setelah switchover, instans DB di lingkungan biru sebelumnya akan dipertahankan. Biaya standar berlaku untuk sumber daya ini. Replikasi antara lingkungan biru dan hijau berhenti.

RDSmengganti nama di lingkungan biru dengan menambahkan -oldn ke nama sumber daya saat ini, di mana ada angka. n Instans DB bersifat hanya baca hingga Anda menetapkan parameter read_only menjadi 0. RDSmenamai di lingkungan hijau. -newn

Jika Anda menghapus sumber daya penyebaran biru/hijau, RDS pertahankan dan sumber daya. -oldn -newn

Setelah beralih ke penerapan biru/hijau

Memperbarui node induk untuk konsumen

Setelah Anda beralih RDSuntuk RDS MariaDB atau untuk SQL Saya penerapan biru/hijau SQL saya, jika cluster DB DB biru memiliki replika eksternal atau konsumen log biner sebelum peralihan, Anda harus memperbarui node induk mereka setelah peralihan untuk mempertahankan kontinuitas replikasi.

Setelah peralihan, instance DB yang sebelumnya berada di lingkungan hijau memancarkan peristiwa yang berisi nama file log master dan posisi log master. Sebagai contoh:

aws rds describe-events --output json --source-type db-instance --source-identifier db-instance-identifier { "Events": [ ... { "SourceIdentifier": "db-instance-identifier", "SourceType": "db-instance", "Message": "Binary log coordinates in green environment after switchover: file mysql-bin-changelog.000003 and position 804", "EventCategories": [], "Date": "2023-11-10T01:33:41.911Z", "SourceArn": "arn:aws:rds:us-east-1:123456789012:db:db-instance-identifier" } ] }

Pertama, pastikan bahwa konsumen atau replika telah menerapkan semua log biner dari lingkungan biru tua. Kemudian, gunakan koordinat log biner yang disediakan untuk melanjutkan aplikasi pada konsumen. Misalnya, jika Anda menjalankan SQL replika SayaEC2, Anda dapat menggunakan CHANGE MASTER TO perintah:

CHANGE MASTER TO MASTER_HOST='{new-writer-endpoint}', MASTER_LOG_FILE='mysql-bin-changelog.000003', MASTER_LOG_POS=804;
catatan

Jika konsumen lain RDS untuk MariaDB atau RDS untuk instance MariaDB, Anda dapat menjalankan prosedur tersimpan berikut secara berurutan:,,, dan. mysql.rds_stop_replication mysql.rds_start_replication