Bermigrasi dari cache injeksi VNet ke cache Azure Private Link

Artikel ini menjelaskan sejumlah pendekatan untuk memigrasikan instans cache dari Virtual Network Azure Cache for Redis yang disuntikkan ke Instans cache Azure Cache for Redis Private Link.

Azure Private Link menyederhanakan arsitektur jaringan dan mengamankan koneksi antar titik akhir di Azure. Anda dapat menyambungkan ke instans Azure Cache dari jaringan virtual Anda melalui titik akhir privat, yang diberi alamat IP pribadi dalam subnet dalam jaringan virtual. Keuntungan menggunakan Azure Private Link for Azure Cache for Redis meliputi:

  • Fleksibilitas tingkat - Azure Private Link didukung di semua tingkatan kami; Dasar, Standar, Premium, Enterprise, dan Enterprise Flash. Dibandingkan dengan injeksi Microsoft Azure Virtual Network, yang hanya ditawarkan pada tingkat premium kami.

  • Manajemen Aturan Grup Keamanan Jaringan yang Sederhana (NSG) - Aturan NSG tidak perlu dikonfigurasi untuk mematuhi persyaratan dari Azure Cache for Redis.

  • Dukungan Azure Policy – Memastikan semua cache di organisasi Anda dibuat dengan Private Link dan mengaudit cache organisasi yang ada untuk memverifikasi bahwa semuanya menggunakan Private Link.

Opsi Migrasi

Anda dapat beralih dari injeksi VNet ke Private Link menggunakan beberapa cara yang berbeda. Tergantung di mana cache Anda berada dan bagaimana aplikasi Anda berinteraksi dengannya, satu metode akan lebih berguna daripada yang lain. Beberapa strategi migrasi yang sering digunakan dirinci di bawah ini.

Jika Anda menggunakan kombinasi geo-replikasi, pengklusteran, atau ARM VNet:

Opsi Kelebihan Kekurangan
Aktifkan tulis ganda pada data ke dua cache Tidak ada data yang hilang atau periode nonaktif. Operasi tanpa gangguan dari cache yang sudah ada. Pengujian cache baru yang lebih mudah. Membutuhkan dua cache untuk jangka waktu yang lama.
Buat file baru Paling sederhana untuk diimplementasikan. Perlu mengisi kembali data ke cache yang baru, yang mungkin tidak berfungsi dengan banyak aplikasi.
Ekspor dan ompor data melalui file RDB Migrasi data diperlukan. Beberapa data bisa hilang, jika ditulis ke cache yang ada setelah file RDB dibuat.
Lakukan migrasi data secara terprogram Kontrol penuh terhadap cara data dipindahkan. Membutuhkan kode kustom.

Lakukan operasi tulis ke dua cache Redis secara bersamaan selama periode migrasi

Daripada memindahkan data langsung di antara cache, Anda dapat menggunakan aplikasi Anda untuk menulis data ke cache yang sedang Anda siapkan, baik yang sudah ada maupun yang baru. Aplikasi masih akan membaca data dari cache yang ada pada awalnya. Ketika cache baru memiliki data yang diperlukan, Anda mengalihkan aplikasi ke cache tersebut dan berhenti dari yang sebelumnya. Misalnya, Anda menggunakan Redis sebagai penyimpanan sesi dan sesi aplikasi berlaku selama tujuh hari. Setelah melakukan operasi tulis ke dua cache selama seminggu, Anda akan yakin cache baru terdiri dari semua informasi sesi yang tidak kedaluwarsa. Anda dapat dengan aman mengandalkan cache baru tersebut dari saat itu dan seterusnya tanpa khawatir akan kehilangan data.

Langkah umum untuk menerapkan opsi ini adalah:

  1. Buat instans Azure Cache for Redis dengan titik akhir privat baru, yang berukuran sama dengan (atau lebih besar dari) cache yang sudah ada.

  2. Ubah kode aplikasi untuk menulis ke instans baru dan asli.

  3. Lanjutkan membaca data dari instans asli hingga instans baru cukup diisi dengan data.

  4. Perbarui kode aplikasi untuk membaca dan menulis dari instans baru saja.

  5. Hapus instans asli.

Membuat Azure Cache for Redis

Pendekatan ini secara teknis bukan migrasi. Jika kehilangan data tidak menjadi perhatian, cara termudah untuk berpindah ke Azure Cache for Redis adalah dengan membuat instans cache dan menyambungkan aplikasi Anda ke sana. Misalnya, jika Anda menggunakan Redis sebagai cache look-inside dari catatan database, Anda dapat dengan mudah membangun kembali cache dari awal.

Langkah umum untuk menerapkan opsi ini adalah:

  1. Buat instans Azure Cache for Redis dengan titik akhir privat yang baru.

  2. Perbarui aplikasi Anda untuk menggunakan instans baru.

  3. Hapus instans Redis lama.

Mengekspor data ke file RDB dan mengimpornya ke Azure Cache for Redis (hanya untuk tingkat Premium)

Redis sumber terbuka mendefinisikan mekanisme standar untuk mengambil rekam jepret dari set data dalam memori cache dan menyimpannya ke file. File ini, yang disebut RDB, dapat dibaca oleh cache Redis lain. Azure Cache for Redis tingkat premium mendukung impor data ke dalam instans cache melalui file RDB. Anda dapat menggunakan file RDB untuk mentransfer data dari cache yang sudah ada ke Azure Cache for Redis.

Penting

Format file RDB dapat berubah antara versi Redis dan mungkin tidak mempertahankan kompatibilitas mundur. Versi Redis dari cache yang Anda ekspor harus sama atau kurang dari versi yang disediakan oleh Azure Cache for Redis.

Langkah umum untuk menerapkan opsi ini adalah:

  1. Buat instans Azure Cache for Redis dengan titik akhir privat yang baru yang berukuran sama dengan (atau lebih besar dari) cache yang sudah ada di tingkat premium.

  2. Simpan rekam jepret dari cache Redis yang sudah ada. Anda dapat mengonfigurasi Redis untuk menyimpan rekam jepret secara berkala atau menjalankan proses secara manual menggunakan perintah SIMPAN atau BGSAVE. File RDB diberi nama "dump.rdb" secara default dan akan berlokasi di jalur yang ditentukan dalam file konfigurasi redis.conf.

    Catatan

    Jika Anda memigrasikan data dalam Azure Cache for Redis, lihat instruksi berikut tentang cara mengekspor file RDB atau menggunakan cmdlet Ekspor PowerShell.

  3. Salin file RDB ke akun penyimpanan Azure di wilayah tempat cache baru Anda berada. Anda dapat menggunakan AzCopy untuk tugas ini.

  4. Impor file RDB ke dalam cache baru menggunakan instruksi impor ini atau cmdlet Impor PowerShell.

  5. Perbarui aplikasi Anda untuk menggunakan instans cache baru.

Melakukan migrasi secara terprogram

Buat proses migrasi kustom dengan membaca data secara terprogram dari cache yang sudah ada dan menulisnya ke dalam Azure Cache for Redis. Alat sumber terbuka ini dapat digunakan untuk menyalin data dari satu Azure Cache for Redis ke yang lain. Alat ini berguna untuk memindahkan data antar instans cache di wilayah cache Azure yang berbeda. Versi yang dikompilasi juga tersedia. Anda juga dapat menemukan kode sumber untuk menjadi panduan yang berguna untuk menulis alat migrasi Anda sendiri.

Catatan

Alat ini tidak didukung secara resmi oleh Microsoft.

Langkah umum untuk menerapkan opsi ini adalah:

  1. Buat VM pada wilayah tempat cache yang sudah ada ditempatkan. Jika Anda memiliki himpunan data yang besar, pilih VM yang relatif andal untuk mengurangi waktu penyalinan.

  2. Buat instans Azure Cache for Redis dengan titik akhir privat yang baru

  3. Hapus data dari cache baru untuk memastikan bahwa cache kosong. Langkah ini diperlukan karena alat salin itu sendiri tidak menimpa kunci yang sudah ada di cache target.

    Penting

    Pastikan untuk TIDAK melakukan pengosongan dari cache sumber.

  4. Gunakan aplikasi seperti alat sumber terbuka di atas untuk mengotomatiskan penyalinan data dari cache sumber ke target. Ingat bahwa proses penyalinan bisa memakan waktu cukup lama untuk diselesaikan tergantung ukuran himpunan data Anda.

Langkah berikutnya