Migrasikan SQL Server ke AWS menggunakan grup ketersediaan terdistribusi - AWS Prescriptive Guidance

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

Migrasikan SQL Server ke AWS menggunakan grup ketersediaan terdistribusi

Praveen Marthala, Amazon Web Services

Ringkasan

Grup ketersediaan Microsoft SQL Server Always On menyediakan solusi ketersediaan tinggi (HA) dan pemulihan bencana (DR) untuk SQL Server. Grup ketersediaan terdiri dari replika utama yang menerima read/write lalu lintas, dan hingga delapan replika sekunder yang menerima lalu lintas baca. Grup ketersediaan dikonfigurasi pada Windows Server Failover Cluster (WSFC) dengan dua atau lebih node.

Grup ketersediaan terdistribusi Microsoft SQL Server Always On menyediakan solusi untuk mengonfigurasi dua grup ketersediaan terpisah antara dua grup independen WFSCs. Grup ketersediaan yang merupakan bagian dari grup ketersediaan terdistribusi tidak harus berada di pusat data yang sama. Satu grup ketersediaan dapat berada di lokasi, dan grup ketersediaan lainnya dapat berada di Amazon Web Services (AWS) Cloud pada instans Amazon Elastic Compute Cloud (Amazon EC2) di domain yang berbeda. 

Pola ini menguraikan langkah-langkah untuk menggunakan grup ketersediaan terdistribusi untuk memigrasikan database SQL Server lokal yang merupakan bagian dari grup ketersediaan yang ada ke SQL Server dengan grup ketersediaan yang disiapkan di Amazon. EC2 Dengan mengikuti pola ini, Anda dapat memigrasikan database ke AWS Cloud dengan waktu henti minimal selama cutover. Basis data sangat tersedia di AWS segera setelah cutover. Anda juga dapat menggunakan pola ini untuk mengubah sistem operasi yang mendasari dari lokal ke AWS sambil mempertahankan versi SQL Server yang sama.

Prasyarat dan batasan

Prasyarat

  • Akun AWS yang aktif

  • AWS Direct Connect atau AWS Site-to-Site VPN

  • Versi SQL Server yang sama diinstal lokal dan pada dua node di AWS

Versi produk

  • SQL Server versi 2016 dan yang lebih baru

  • SQL Server Enterprise Edition

Arsitektur

Tumpukan teknologi sumber

  • Database Microsoft SQL Server dengan grup ketersediaan Selalu Aktif di tempat

Tumpukan teknologi target

  • Database Microsoft SQL Server dengan grup ketersediaan Selalu Aktif di Amazon EC2 di AWS Cloud

Arsitektur migrasi

SQL Server dengan replikasi sinkron dalam grup ketersediaan di tempat dan di AWS.

Terminologi

  • WSFC 1 - WSFC di tempat

  • WSFC 2 - WSFC di AWS Cloud

  • AG 1 - Grup ketersediaan pertama, yang ada di WSFC 1

  • AG 2 - Grup ketersediaan kedua, yang ada di WSFC 2

  • Replika primer SQL Server — Node di AG 1 yang dianggap sebagai primer global untuk semua penulisan

  • SQL Server forwarder — Node di AG 2 yang menerima data secara asinkron dari replika utama SQL Server

  • Replika sekunder SQL Server — Node di AG 1 atau AG 2 yang menerima data secara sinkron dari replika utama atau forwarder

Alat

  • AWS Direct Connect — AWS Direct Connect menautkan jaringan internal Anda ke lokasi AWS Direct Connect melalui kabel serat optik Ethernet standar. Dengan koneksi ini, Anda dapat membuat antarmuka virtual langsung ke layanan AWS publik, melewati penyedia layanan internet di jalur jaringan Anda.

  • Amazon EC2 — Amazon Elastic Compute Cloud (Amazon EC2) menyediakan kapasitas komputasi yang dapat diskalakan di AWS Cloud. Anda dapat menggunakan Amazon EC2 untuk meluncurkan server virtual sebanyak atau sesedikit yang Anda butuhkan, dan Anda dapat meningkatkan skala atau meningkatkan skala.

  • AWS Site-to-Site VPN — AWS Site-to-Site VPN mendukung pembuatan jaringan pribadi site-to-site virtual (VPN). Anda dapat mengonfigurasi VPN untuk meneruskan lalu lintas antara instans yang Anda luncurkan di AWS dan jaringan jarak jauh Anda sendiri.

  • Microsoft SQL Server Management Studio — Microsoft SQL Server Management Studio (SSMS) adalah lingkungan terintegrasi untuk mengelola infrastruktur SQL Server. Ini menyediakan antarmuka pengguna dan sekelompok alat dengan editor skrip kaya yang berinteraksi dengan SQL Server.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Buat WSFC di AWS.

Buat WSFC 2 di EC2 instans Amazon dengan dua node untuk HA. Anda akan menggunakan klaster failover ini untuk membuat grup ketersediaan kedua (AG 2) di AWS.

Administrator sistem, SysOps administrator

Buat grup ketersediaan kedua di WSFC 2.

Menggunakan SSMS, buat AG 2 pada dua node di WSFC 2. Node pertama di WSFC 2 akan bertindak sebagai forwarder. Node kedua di WSFC 2 akan bertindak sebagai replika sekunder AG 2.

Pada tahap ini, tidak ada database yang tersedia di AG 2. Ini adalah titik awal untuk menyiapkan grup ketersediaan terdistribusi.

DBA, Pengembang

Buat database tanpa opsi pemulihan di AG 2.

Cadangkan database pada grup ketersediaan lokal (AG 1). 

Kembalikan database ke forwarder dan replika sekunder AG 2 tanpa opsi pemulihan. Saat memulihkan database, tentukan lokasi dengan ruang disk yang cukup untuk file data database dan file log.

Pada tahap ini, database berada dalam keadaan pemulihan. Mereka bukan bagian dari AG 2 atau grup ketersediaan terdistribusi, dan mereka tidak melakukan sinkronisasi.

DBA, Pengembang
TugasDeskripsiKeterampilan yang dibutuhkan

Buat grup ketersediaan terdistribusi di AG 1.

Untuk membuat grup ketersediaan terdistribusi di AG 1, gunakan DISTRIBUTED opsi CREATE AVAILABILITY GROUP with the.

  1. Gunakan alamat LISTENER_URL titik akhir untuk AG 1 dan AG 2.

  2. UntukAVAILABILITY-MODE, gunakan ASYNCHRONOUS_COMMIT untuk menghindari latensi jaringan, jika ada. Ini tidak akan mempengaruhi kinerja database.

  3. UntukFAILOVER_MODE, gunakanMANUAL. Ini adalah satu-satunya mode ketersediaan yang bekerja dengan grup ketersediaan terdistribusi.

  4. Untuk mengembalikan database secara manual pada AG 2 dan memiliki kontrol lebih besar pada database yang lebih besar, gunakan untukMANUAL. SEEDING_MODE

DBA, Pengembang

Buat grup ketersediaan terdistribusi di AG 2.

Untuk membuat grup ketersediaan terdistribusi di AG 2, gunakan ALTER AVAILABILITY GROUP dengan DISTRIBUTED opsi.

  1. Gunakan alamat LISTENER_URL titik akhir untuk AG 1 dan AG 2.

  2. UntukAVAILABILITY-MODE, gunakan ASYNCHRONOUS_COMMIT untuk menghindari latensi jaringan, jika ada. Ini tidak akan mempengaruhi kinerja database.

  3. UntukFAILOVER_MODE, gunakanMANUAL. Ini adalah satu-satunya mode ketersediaan yang bekerja dengan grup ketersediaan terdistribusi.

  4. Untuk mengembalikan database secara manual pada AG 2 dan memiliki kontrol lebih besar pada database yang lebih besar, gunakan untukMANUAL. SEEDING_MODE

Grup ketersediaan terdistribusi dibuat antara AG 1 dan AG 2.

Database di AG 2 belum dikonfigurasi untuk mengambil bagian dalam aliran data dari AG 1 ke AG 2.

DBA, Pengembang

Tambahkan database ke forwarder dan replika sekunder pada AG 2.

Tambahkan database ke grup ketersediaan terdistribusi ALTER DATABASE dengan menggunakan SET HADR AVAILABILITY GROUP opsi di forwarder dan replika sekunder pada AG 2. 

Ini memulai aliran data asinkron antara database pada AG 1 dan AG 2. 

Primer global mengambil penulisan, mengirimkan data secara sinkron ke replika sekunder pada AG 1, dan mengirimkan data secara asinkron ke forwarder di AG 2. Forwarder pada AG 2 mengirimkan data secara sinkron ke replika sekunder pada AG 2.

DBA, Pengembang
TugasDeskripsiKeterampilan yang dibutuhkan

Gunakan DMVs dan log SQL Server.

Pantau status aliran data antara dua grup ketersediaan dengan menggunakan tampilan manajemen dinamis (DMVs) dan log SQL Server. 

DMVs yang menarik untuk pemantauan termasuk sys.dm_hadr_availability_replica_states dansys.dm_hadr_automatic_seeding.

Untuk status sinkronisasi forwarder, pantau status yang disinkronkan di log SQL Server pada forwarder.

DBA, Pengembang
TugasDeskripsiKeterampilan yang dibutuhkan

Hentikan semua lalu lintas ke replika utama.

Hentikan lalu lintas masuk ke replika utama di AG 1 sehingga tidak ada aktivitas tulis yang terjadi pada database dan database siap untuk migrasi.

Pemilik aplikasi, Pengembang

Ubah mode ketersediaan grup ketersediaan terdistribusi di AG 1.

Pada replika utama, atur mode ketersediaan grup ketersediaan terdistribusi menjadi sinkron. 

Setelah Anda mengubah mode ketersediaan menjadi sinkron, data dikirim secara sinkron dari replika utama di AG 1 ke forwarder di AG 2.

DBA, Pengembang

Periksa LSNs di kedua grup ketersediaan.

Periksa Nomor Urutan Log terakhir (LSNs) di AG 1 dan AG 2. Karena tidak ada penulisan yang terjadi di replika utama di AG 1, data disinkronkan, dan terakhir LSNs untuk kedua grup ketersediaan harus cocok.

DBA, Pengembang

Perbarui AG 1 ke peran sekunder.

Saat Anda memperbarui AG 1 ke peran sekunder, AG 1 kehilangan peran replika utama dan tidak menerima penulisan, dan aliran data antara dua grup ketersediaan berhenti.

DBA, Pengembang
TugasDeskripsiKeterampilan yang dibutuhkan

Gagal secara manual ke AG 2.

Pada forwarder di AG 2, ubah grup ketersediaan terdistribusi untuk memungkinkan kehilangan data. Karena Anda sudah mengecek dan mengonfirmasi bahwa yang terakhir LSNs pada pertandingan AG 1 dan AG 2, kehilangan data tidak menjadi perhatian.

Saat Anda mengizinkan kehilangan data pada forwarder di AG 2, peran AG 1 dan AG 2 berubah:

  • AG 2 menjadi grup ketersediaan dengan replika primer dan replika sekunder.

  • AG 1 menjadi grup ketersediaan dengan forwarder dan replika sekunder.

DBA, Pengembang

Ubah mode ketersediaan grup ketersediaan terdistribusi di AG 2.

Pada replika utama di AG 2, ubah mode ketersediaan menjadi asinkron.

Ini mengubah pergerakan data dari AG 2 ke AG 1, dari sinkron ke asinkron. Langkah ini diperlukan untuk menghindari latensi jaringan antara AG 2 dan AG 1, jika ada, dan tidak akan memengaruhi kinerja database.

DBA, Pengembang

Mulai mengirim lalu lintas ke replika utama yang baru.

Perbarui string koneksi untuk menggunakan titik akhir URL pendengar di AG 2 untuk mengirim lalu lintas ke database.

AG 2 sekarang menerima penulisan dan pengiriman data ke forwarder di AG 1, bersama dengan mengirim data ke replika sekundernya sendiri di AG 2. Data bergerak secara asinkron dari AG 2 ke AG 1.

Pemilik aplikasi, Pengembang
TugasDeskripsiKeterampilan yang dibutuhkan

Jatuhkan grup ketersediaan terdistribusi di AG 2.

Pantau migrasi untuk jumlah waktu yang direncanakan. Kemudian jatuhkan grup ketersediaan terdistribusi pada AG 2 untuk menghapus pengaturan grup ketersediaan terdistribusi antara AG 2 dan AG 1. Ini menghapus konfigurasi grup ketersediaan terdistribusi, dan aliran data dari AG 2 ke AG 1 berhenti. 

Pada titik ini, AG 2 sangat tersedia di AWS, dengan replika utama yang mengambil penulisan dan replika sekunder dalam grup ketersediaan yang sama.

DBA, Pengembang

Menonaktifkan server lokal.

Menonaktifkan server lokal di WSFC 1 yang merupakan bagian dari AG 1.

Administrator sistem, SysOps administrator

Sumber daya terkait