Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengotomatiskan blue/green penyebaran database global Amazon Aurora dengan menggunakan prinsip IAc
Ishwar Chathaiwale, ANKIT JAIN, dan Ramu Jagini, Amazon Web Services
Ringkasan
Mengelola pembaruan database, migrasi, atau upaya penskalaan dapat menjadi tantangan bagi organisasi yang menjalankan beban kerja penting di database global Amazon
Strategi blue/green penyebaran menawarkan solusi untuk tantangan ini dengan memungkinkan Anda menjalankan dua lingkungan yang identik secara bersamaan: biru (lingkungan saat ini) dan hijau (lingkungan baru). Sebuah blue/green strategi memungkinkan Anda untuk menerapkan perubahan, melakukan pengujian, dan mengalihkan lalu lintas antar lingkungan dengan risiko minimal dan downtime.
Pola ini membantu Anda mengotomatiskan proses blue/green penyebaran untuk database global Aurora dengan menggunakan prinsip infrastruktur sebagai kode (IAc). Ini menggunakan AWS CloudFormation, AWS Lambda, dan Amazon Route 53 untuk menyederhanakan blue/green penerapan. Untuk meningkatkan keandalan, ia menggunakan pengidentifikasi transaksi global (GTIDs) untuk replikasi. Replikasi berbasis GTID memberikan konsistensi data dan kemampuan failover yang lebih baik antar lingkungan dibandingkan dengan replikasi log biner (binlog).
catatan
Pola ini mengasumsikan bahwa Anda menggunakan cluster database global Aurora MySQL yang kompatibel dengan Edition. Jika Anda menggunakan Aurora PostgreSQL kompatibel sebagai gantinya, silakan gunakan PostgreSQL setara dengan perintah MySQL.
Dengan mengikuti langkah-langkah dalam pola ini, Anda dapat:
Menyediakan database global Aurora hijau: Menggunakan CloudFormation template, Anda membuat lingkungan hijau yang mencerminkan lingkungan biru Anda yang ada.
Siapkan replikasi berbasis GTID: Anda mengonfigurasi replikasi GTID agar lingkungan biru dan hijau tetap disinkronkan.
Beralih lalu lintas dengan mulus: Anda menggunakan Route 53 dan Lambda untuk secara otomatis mengalihkan lalu lintas dari biru ke lingkungan hijau setelah sinkronisasi penuh.
Selesaikan penerapan: Anda memvalidasi bahwa lingkungan hijau beroperasi penuh sebagai basis data utama, dan kemudian menghentikan replikasi dan membersihkan sumber daya sementara.
Pendekatan dalam pola ini memberikan manfaat ini:
Mengurangi waktu henti selama pembaruan atau migrasi basis data penting: Otomatisasi memastikan transisi yang mulus antar lingkungan dengan gangguan layanan minimal.
Mengaktifkan rollback cepat: Jika masalah muncul setelah lalu lintas beralih ke lingkungan hijau, Anda dapat dengan cepat kembali ke lingkungan biru dan mempertahankan kontinuitas layanan.
Meningkatkan pengujian dan verifikasi: Lingkungan hijau dapat sepenuhnya diuji tanpa mempengaruhi lingkungan biru hidup, yang mengurangi kemungkinan kesalahan dalam produksi.
Memastikan konsistensi data: Replikasi berbasis GTID membuat lingkungan biru dan hijau Anda tetap sinkron, yang mencegah kehilangan data atau ketidakkonsistenan selama migrasi.
Menjaga kelangsungan bisnis: Mengotomatiskan blue/green penerapan Anda membantu menghindari pemadaman yang lama dan kerugian finansial dengan menjaga layanan Anda tetap tersedia selama pembaruan atau migrasi.
Prasyarat dan batasan
Prasyarat
Aktif Akun AWS.
Sumber cluster database global yang kompatibel dengan Aurora MySQL (lingkungan biru). Database global menyediakan konfigurasi Multi-wilayah untuk ketersediaan tinggi dan pemulihan bencana. Untuk petunjuk untuk menyiapkan kluster database global, lihat dokumentasi Aurora.
Replikasi berbasis GTID diaktifkan pada cluster sumber.
Batasan
Beberapa Layanan AWS tidak tersedia di semua Wilayah AWS. Untuk ketersediaan Wilayah, lihat Layanan AWS berdasarkan Wilayah
. Untuk titik akhir tertentu, lihat halaman titik akhir dan kuota Layanan, dan pilih tautan untuk layanan.
Versi produk
Aurora MySQL kompatibel 8.0 atau yang lebih baru
Arsitektur

Diagram ini menggambarkan hal sebagai berikut:
Pengaturan basis data global: Kluster basis data global Aurora digunakan secara strategis di dua. Wilayah AWS Konfigurasi ini memungkinkan distribusi geografis dan redundansi Regional untuk meningkatkan kemampuan pemulihan bencana.
Replikasi Wilayah primer ke sekunder: Mekanisme replikasi logis memastikan sinkronisasi data yang mulus dari Wilayah primer ke Wilayah sekunder. Replikasi ini mempertahankan konsistensi data dengan latensi minimal di seluruh jarak geografis.
Replikasi berbasis GTID antar cluster: Replikasi berbasis GTID mempertahankan konsistensi transaksional dan aliran data yang teratur antara cluster primer biru dan cluster primer hijau, dan memastikan sinkronisasi data yang andal.
Replikasi primer ke sekunder biru: Replikasi logis membentuk jalur data yang kuat antara cluster primer biru dan cluster sekundernya. Replikasi ini memungkinkan sinkronisasi data berkelanjutan dan ketersediaan tinggi.
Konfigurasi DNS Route 53: Route 53 catatan zona yang dihosting mengelola resolusi DNS untuk semua titik akhir database cluster biru dan hijau. Konfigurasi ini menyediakan pemetaan titik akhir yang mulus dan memungkinkan perutean lalu lintas yang efisien selama skenario failover.
Alat
Layanan AWS
Amazon Aurora adalah mesin database relasional yang dikelola sepenuhnya yang dibangun untuk cloud dan kompatibel dengan MySQL dan PostgreSQL.
AWS CloudFormationmembantu Anda memodelkan dan mengatur AWS sumber daya sehingga Anda dapat menghabiskan lebih sedikit waktu untuk mengelola sumber daya tersebut dan lebih banyak waktu untuk berfokus pada aplikasi yang berjalan AWS. Anda membuat template yang menjelaskan semua AWS sumber daya yang Anda inginkan, dan CloudFormation mengurus penyediaan dan konfigurasi sumber daya tersebut untuk Anda.
AWS Lambdaadalah layanan komputasi yang mendukung menjalankan kode tanpa menyediakan atau mengelola server. Lambda menjalankan kode Anda hanya saat diperlukan dan menskalakan secara otomatis, dari beberapa permintaan per hari hingga ribuan per detik.
Amazon Route 53 adalah layanan web DNS yang sangat tersedia dan dapat diskalakan.
Praktik terbaik
Kami menyarankan Anda meninjau AWS dokumentasi secara menyeluruh untuk memperdalam pemahaman Anda tentang strategi penerapan biru/hijau, replikasi berbasis GTID, dan kebijakan perutean tertimbang di Route 53. Pengetahuan ini sangat penting untuk menerapkan dan mengelola migrasi database Anda secara efektif, memastikan konsistensi data, dan mengoptimalkan perutean lalu lintas. Dengan mendapatkan pemahaman yang komprehensif tentang AWS fitur dan praktik terbaik ini, Anda akan lebih siap untuk menangani pembaruan masa depan, meminimalkan waktu henti, dan mempertahankan lingkungan database yang tangguh dan aman.
Untuk pedoman penggunaan pola Layanan AWS untuk ini, lihat AWS dokumentasi berikut:
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat cadangan snapshot dari cluster biru. | Dalam blue/green penerapan, lingkungan hijau mewakili versi baru yang identik dari lingkungan database (biru) Anda saat ini. Anda menggunakan lingkungan hijau untuk menguji pembaruan dengan aman, memvalidasi perubahan, dan memastikan stabilitas sebelum mengalihkan lalu lintas produksi. Ini bertindak sebagai landasan pementasan untuk menerapkan perubahan database dengan gangguan minimal terhadap lingkungan hidup. Untuk membuat lingkungan hijau, pertama-tama Anda membuat snapshot dari cluster utama (biru) di database global yang kompatibel dengan Aurora MySQL Anda. Snapshot ini berfungsi sebagai dasar untuk menciptakan lingkungan hijau. Untuk membuat snapshot:
Atau, Anda dapat menggunakan AWS Command Line Interface (AWS CLI) untuk membuat snapshot:
Pastikan snapshot selesai dengan sukses sebelum melanjutkan ke langkah berikutnya. | DBA |
Hasilkan CloudFormation template untuk database global Anda dan sumber dayanya. | Generator CloudFormation IAc membantu Anda menghasilkan CloudFormation template dari AWS sumber daya yang ada. Gunakan fitur ini untuk membuat CloudFormation template untuk database global Aurora MySQL yang kompatibel dengan Aurora yang ada dan sumber daya yang terkait. Template ini mengonfigurasi grup subnet, grup keamanan, grup parameter, dan pengaturan lainnya.
| DBA |
Ubah CloudFormation template untuk lingkungan hijau. | Sesuaikan CloudFormation template untuk mencerminkan pengaturan untuk lingkungan hijau. Ini termasuk memperbarui nama sumber daya dan pengidentifikasi untuk memastikan bahwa lingkungan hijau beroperasi secara independen dari cluster biru.
catatanJika Anda menggunakan | DBA |
Terapkan CloudFormation tumpukan untuk membuat sumber daya untuk lingkungan hijau. | Pada langkah ini, Anda menerapkan CloudFormation template yang disesuaikan untuk membuat sumber daya untuk lingkungan hijau. Untuk menyebarkan CloudFormation tumpukan:
CloudFormation memulai proses menciptakan sumber daya lingkungan hijau. Proses ini mungkin memakan waktu beberapa menit untuk menyelesaikannya. | DBA |
Validasi CloudFormation tumpukan dan sumber daya. | Saat penerapan CloudFormation tumpukan selesai, Anda harus memverifikasi bahwa lingkungan hijau telah berhasil dibuat:
Setelah verifikasi, lingkungan hijau Anda siap untuk pengaturan lebih lanjut, termasuk replikasi dari lingkungan biru. | DBA |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Verifikasi pengaturan GTID pada cluster biru. | GTIDs menyediakan metode yang sangat andal untuk mereplikasi data antara lingkungan biru dan hijau Anda. Replikasi berbasis GTID menawarkan pendekatan yang tangguh dan disederhanakan dengan menetapkan pengenal unik untuk setiap transaksi di lingkungan biru. Metode ini memastikan bahwa sinkronisasi data antar lingkungan mulus, konsisten, dan lebih mudah dikelola daripada replikasi binlog tradisional. Sebelum Anda mengonfigurasi replikasi, Anda perlu memastikan bahwa replikasi berbasis GTID diaktifkan dengan benar di cluster biru. Langkah ini menjamin bahwa setiap transaksi di lingkungan biru dilacak secara unik dan dapat direplikasi di lingkungan hijau. Untuk mengonfirmasi bahwa GTID diaktifkan:
Pengaturan ini memungkinkan pelacakan GTID untuk semua transaksi future di lingkungan biru. Setelah Anda mengonfirmasi pengaturan ini, Anda dapat mulai mengatur replikasi. | DBA |
Buat pengguna replikasi. | Untuk mereplikasi data dari lingkungan biru ke lingkungan hijau, Anda perlu membuat pengguna replikasi khusus di cluster biru. Pengguna ini akan bertanggung jawab untuk mengelola proses replikasi. Untuk mengatur pengguna replikasi:
Pengguna ini sekarang memiliki izin yang diperlukan untuk mereplikasi data antara dua lingkungan. | DBA |
Konfigurasikan replikasi berbasis GTID pada cluster hijau. | Langkah selanjutnya adalah mengkonfigurasi cluster hijau untuk replikasi berbasis GTID. Pengaturan ini memastikan bahwa lingkungan hijau akan terus mencerminkan semua transaksi yang terjadi di lingkungan biru. Untuk mengkonfigurasi cluster hijau:
| DBA |
Mulai replikasi pada cluster hijau. | Anda sekarang dapat memulai proses replikasi. Pada cluster hijau, jalankan perintah:
Hal ini memungkinkan lingkungan hijau untuk mulai menyinkronkan data, dan menerima dan menerapkan transaksi dari lingkungan biru. | DBA |
Verifikasi proses replikasi. | Untuk memverifikasi bahwa lingkungan hijau secara akurat mereplikasi data dari cluster biru:
Jika semua indikator benar, replikasi berbasis GTID berfungsi dengan lancar, dan lingkungan hijau sepenuhnya disinkronkan dengan lingkungan biru. | DBA |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Konfigurasikan kebijakan perutean tertimbang Route 53. | Setelah Anda memverifikasi konsistensi data antara lingkungan biru dan hijau, Anda dapat mengalihkan lalu lintas dari cluster biru ke cluster hijau. Transisi ini harus lancar dan harus meminimalkan downtime dan memastikan integritas database aplikasi Anda. Untuk mengatasi persyaratan ini, Anda dapat menggunakan Route 53 untuk perutean DNS dan Lambda untuk mengotomatiskan peralihan lalu lintas. Selain itu, rencana rollback yang terdefinisi dengan baik memastikan bahwa Anda dapat kembali ke cluster biru jika terjadi masalah. Langkah pertama adalah mengkonfigurasi routing tertimbang di Route 53. Perutean tertimbang memungkinkan Anda untuk mengontrol distribusi lalu lintas antara cluster biru dan hijau, dan secara bertahap mengalihkan lalu lintas dari satu lingkungan ke lingkungan lainnya. Untuk mengonfigurasi perutean tertimbang:
Untuk informasi selengkapnya tentang kebijakan perutean tertimbang, lihat dokumentasi Route 53. | AWS DevOps |
Menerapkan fungsi Lambda untuk memantau kelambatan replikasi. | Untuk memastikan bahwa lingkungan hijau sepenuhnya disinkronkan dengan lingkungan biru, gunakan fungsi Lambda yang memantau jeda replikasi antar cluster. Fungsi ini dapat memeriksa status replikasi, khususnya metrik Seconds_Behind_Master, untuk menentukan apakah cluster hijau siap menangani semua lalu lintas. Berikut contoh fungsi Lambda yang dapat Anda gunakan:
Fungsi ini memeriksa lag replikasi dan mengembalikan nilai. Jika lag nol, cluster hijau sepenuhnya sinkron dengan cluster biru. | AWS DevOps |
Otomatiskan penyesuaian berat DNS dengan menggunakan Lambda. | Ketika lag replikasi mencapai nol, saatnya untuk mengalihkan semua lalu lintas ke cluster hijau. Anda dapat mengotomatiskan transisi ini dengan menggunakan fungsi Lambda lain yang menyesuaikan bobot DNS di Route 53 untuk mengarahkan 100 persen lalu lintas ke cluster hijau. Berikut adalah contoh fungsi Lambda yang mengotomatiskan sakelar lalu lintas:
Fungsi ini memeriksa lag replikasi dan memperbarui bobot DNS Route 53 saat jeda nol untuk sepenuhnya mengalihkan lalu lintas ke cluster hijau. catatanSelama proses cutover, Jika cluster biru mengalami lalu lintas tulis yang padat, pertimbangkan untuk menghentikan sementara operasi penulisan selama cutover. Ini memastikan bahwa replikasi menyusul, dan mencegah inkonsistensi data antara cluster biru dan hijau. | AWS DevOps |
Verifikasi sakelar lalu lintas. | Setelah fungsi Lambda menyesuaikan bobot DNS, Anda harus memverifikasi bahwa semua lalu lintas diarahkan ke cluster hijau dan bahwa sakelar berhasil. Untuk memverifikasi:
Jika semuanya berjalan seperti yang diharapkan, sakelar lalu lintas selesai. | AWS DevOps |
Jika Anda mengalami masalah, putar kembali perubahan. | Memiliki rencana rollback sangat penting jika ada masalah yang muncul setelah sakelar lalu lintas. Berikut cara cepat kembali ke cluster biru jika perlu:
Dengan menerapkan rencana rollback ini, Anda dapat memastikan gangguan minimal pada pengguna Anda jika terjadi masalah yang tidak terduga. | AWS DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Hentikan replikasi berbasis GTID pada cluster hijau. | Setelah Anda mengalihkan lalu lintas dari lingkungan biru ke lingkungan hijau, Anda harus memvalidasi keberhasilan transisi dan memastikan bahwa cluster hijau berfungsi seperti yang diharapkan. Selain itu, replikasi berbasis GTID antara cluster biru dan hijau harus dihentikan, karena lingkungan hijau sekarang berfungsi sebagai database utama. Menyelesaikan tugas-tugas ini memastikan bahwa lingkungan Anda aman, efisien, dan dioptimalkan untuk operasi yang sedang berlangsung. Untuk menghentikan replikasi:
Ketika Anda menghentikan replikasi, cluster hijau menjadi sepenuhnya independen dan beroperasi sebagai lingkungan database utama untuk beban kerja Anda. | DBA |
Pembersihan sumber daya | Membersihkan sumber daya sementara atau tidak terpakai yang dibuat selama migrasi dari klaster biru ke hijau memastikan bahwa lingkungan Anda tetap dioptimalkan, aman, dan hemat biaya. Pembersihan termasuk menyesuaikan pengaturan keamanan, mengambil cadangan akhir, dan menonaktifkan sumber daya yang tidak perlu. Untuk membersihkan sumber daya:
Membersihkan sumber daya membantu menjaga lingkungan yang aman dan efisien, mengurangi biaya, dan memastikan bahwa hanya infrastruktur yang diperlukan yang tersisa. | AWS DevOps |
Sumber daya terkait
AWS CloudFormation:
Amazon Aurora:
Strategi penyebaran biru/hijau:
Replikasi berbasis GTID:
Menggunakan replikasi berbasis GTID (dokumentasi Amazon RDS)
AWS Lambda:
Rute Amazon 53:
Alat klien MySQL: