Membuat kumpulan instans (pratinjau) - Azure SQL Managed Instance

Berlaku untuk:Azure SQL Managed Instance

Artikel ini mengajarkan cara membuat kumpulan instans untuk Azure SQL Managed Instance, serta cara memindahkan instans masuk dan keluar dari kumpulan.

Kumpulan instans memungkinkan untuk menyebarkan beberapa instans dengan sumber daya bersama ke satu komputer virtual, yang menyediakan infrastruktur yang nyaman dan hemat biaya untuk memigrasikan beberapa instans SQL Server tanpa harus mengonsolidasikan beban kerja yang lebih kecil dan kurang intensif komputasi ke SQL Managed Instance yang lebih besar.

Catatan

Kumpulan instans untuk Azure SQL Managed Instance saat ini dalam pratinjau.

Prasyarat

Untuk membuat kumpulan instans, Anda harus memiliki:

Pertimbangan ukuran subnet

Rencanakan ukuran subnet Anda dengan hati-hati jika Anda berencana menggunakan kumpulan instans. Lihat Menentukan ukuran & rentang subnet yang diperlukan untuk panduan ukuran subnet.

Gunakan rumus berikut saat menghitung jumlah alamat IP yang diperlukan oleh satu kumpulan instans yang berisi beberapa instans Tujuan Umum:

2 * (5 + (3 * # of MIs)) + 5

# of MIs mengacu pada jumlah potensi maksimum instans yang Anda rencanakan untuk disediakan. Jumlah instans maksimum yang mungkin dalam kumpulan adalah 40.

Membuat kumpulan instans

Anda dapat membuat kumpulan instans menggunakan PowerShell atau Azure CLI. Pertimbangkan hal berikut:

  • Hanya tingkat layanan Tujuan Umum pada perangkat keras seri standar (Gen5) atau seri premium yang saat ini tersedia.
  • Nama kumpulan hanya boleh berisi huruf kecil, angka, dan tanda hubung, dan tidak dapat dimulai dengan tanda hubung.
  • Azure Hybrid Benefit diterapkan pada tingkat kumpulan instans. Anda dapat mengatur jenis lisensi saat membuat kumpulan, dan memperbarui jenis lisensi setelah kumpulan dibuat.

Penting

Menyebarkan kumpulan instans adalah operasi jangka panjang yang dapat memakan waktu hingga 4,5 jam.

Untuk membuat kumpulan instans Anda, gunakan New-AzSqlInstancePool.

Pertimbangkan hal berikut:

  • Untuk LicenseType, gunakan BasePrice untuk Azure Hybrid Benefit atau LicenseIncluded jika Anda belum memiliki lisensi SQL Server yang dapat digunakan untuk diskon Azure Hybrid Benefit.
  • Gunakan Get-AzLocation | select displayname, location untuk mendapatkan daftar wilayah tempat kumpulan instans tersedia.

Buat kumpulan instans baru dengan 8 vCore pada perangkat keras seri standar (Gen5) dengan menjalankan contoh skrip berikut:

# Identify the SubnetId
$virtualNetwork = Get-AzVirtualNetwork -Name <vnet name> -ResourceGroupName <resource group name>
$miSubnet = Get-AzVirtualNetworkSubnetConfig -Name <subnet name> -VirtualNetwork $virtualNetwork
$miSubnetConfigId = $miSubnet.Id

# Create the instance
$instancePool = New-AzSqlInstancePool `
    -ResourceGroupName  <resource group name> `
    -Name <instance pool name> `
    -SubnetId $miSubnetConfigId `
    -LicenseType LicenseIncluded `
    -VCore 8 `
    -Edition GeneralPurpose `
    -ComputeGeneration Gen5 `
    -Location <region>

Membuat instans baru di dalam kumpulan

Setelah kumpulan Dibuat, Anda dapat membuat instans baru di dalam kumpulan dengan menggunakan PowerShell, atau Azure CLI.

Untuk mengidentifikasi parameter kumpulan, gunakan Get-AzSqlInstancePool lalu buat instans Anda di dalam kumpulan tertentu dengan New-AzSqlInstance.

Buat instans baru di kumpulan Anda dengan menjalankan contoh skrip berikut:

$adminCredential = Get-Credential
$instancePool = Get-AzSqlInstancePool -ResourceGroupName <resource group name> -Name <instance pool name>

$instance01 = $instancePool | New-AzSqlInstance `
    -Name $instance01`
    -VCore 2 `
    -StorageSizeInGB 32 `
    -AdministratorCredential $adminCredential `

Memindahkan instans yang ada

Anda dapat memindahkan instans yang ada ke dalam dan ke luar kumpulan dengan menggunakan PowerShell atau Azure CLI jika:

  • Ini berada dalam grup sumber daya yang sama dengan kumpulan.
  • Ini ada di jaringan virtual dan subnet yang sama dengan kumpulan.
  • Ini sesuai dengan batas sumber daya kumpulan instans.

Saat instans yang ada dipindahkan ke kumpulan, pengaturan di tingkat kumpulan lebih diutamakan daripada pengaturan tingkat instans. Misalnya, instans mewarisi jenis lisensi dan jendela pemeliharaan yang ditetapkan di tingkat kumpulan. Ketika instans dipindahkan dari kumpulan, instans mempertahankan pengaturan yang diwariskannya dari kumpulan. Satu-satunya pengecualian adalah dengan jenis lisensi, yang defaultnya kembali ke 'LicenseIncluded' saat instans dihapus dari kumpulan instans - Manfaat Hibrid Azure dan manfaat hak failover hibrid harus dikonfigurasi secara manual setelah instans dipindahkan dari kumpulan.

Untuk memindahkan instans ke kumpulan, berikan nama kumpulan saat Anda menggunakan Set-AzSqlInstance:

$instance01 | Set-AzSqlInstance -InstancePoolName $instancePoolName

Untuk memindahkan instans dari kumpulan, berikan nama kumpulan kosong :

$instance01 | Set-AzSqlInstance -InstancePoolName ''

Koneksi instans dalam kumpulan

Untuk menyambungkan ke instans dalam kumpulan, pertama-tama aktifkan titik akhir publik untuk instans, lalu izinkan lalu lintas titik akhir publik pada kelompok keamanan jaringan.

Untuk mengaktifkan titik akhir publik untuk instans, atur -PublicDataEndpointEnabled ke true saat Anda memperbarui properti instans dengan Set-AzSqlInstance:

$instance01 | Set-AzSqlInstance -InstancePoolName $instancePoolName -PublicDataEndpointEnabled $true

Membuat database

Membuat database untuk instans di dalam kumpulan sama dengan membuat database untuk satu instans. Anda bisa membuat database baru dengan menggunakan PowerShell atau Azure CLI.

Untuk membuat database baru untuk instans Anda, gunakan New-AzSqlInstanceDatabase:

New-AzSqlInstanceDatabase -Name <database name> -InstanceName <instance name> -ResourceGroupName <resource group> 

Dapatkan penggunaan kumpulan

Anda dapat menggunakan PowerShell untuk menentukan bagaimana sumber daya digunakan di dalam kumpulan.

Untuk mendapatkan daftar instans di dalam kumpulan, gunakan Get-AzSqlInstance:

$instancePool | Get-AzSqlInstance

Untuk mendapatkan penggunaan sumber daya kumpulan, gunakan Get-AzSqlInstancePoolUsage:

$instancePool| Get-AzSqlInstancePoolUsage

Anda dapat menambahkan parameter -ExpandChildren untuk mendapatkan gambaran umum terperinci tentang kumpulan dan instans di dalamnya:

$instancePool | Get-AzSqlInstancePoolUsage –ExpandChildren

Untuk mencantumkan database dalam instans, gunakan Get-AzSqlInstanceDatabase:

$databases = Get-AzSqlInstanceDatabase -InstanceName $instance01Name  -ResourceGroupName $resourceGroupName

Catatan

Untuk memeriksa batasan pada instans yang disebarkan ke kumpulan, dan database per kumpulan instans, tinjau batas sumber daya.

Memperbarui kumpulan instans

Anda dapat menggunakan PowerShell untuk membuat perubahan pada batas kumpulan instans.

Contoh skrip berikut mengubah jenis lisensi, ukuran vCore, dan jenis perangkat keras:

Ubah jenis lisensi:

$instancePool | Set-AzSqlInstancePool -LicenseType BasePrice -VCores 16 -ComputeGeneration Gen8

Anda juga dapat menentukan jadwal jendela pemeliharaan yang tersedia:

# 'Available maintenance schedules in $location'
$configurations = Get-AzMaintenancePublicConfiguration
$configurations | ?{ $_.Location -eq $location -and $_.MaintenanceScope -eq "SQLManagedInstance"} 
$maintenanceWindowOptions = $configurations | ?{ $_.Location -eq $location -and $_.MaintenanceScope -eq "SQLManagedInstance"}

Anda kemudian dapat mengubah jendela pemeliharaan dengan menentukan opsi jendela, seperti:

$instancePool | Set-AzSqlInstancePool -MaintenanceConfigurationId $maintenanceWindowOptions[1].Id

Memperbarui instans terkumpul

Jika batas sumber daya kumpulan belum terlampaui, Anda dapat memodifikasi konfigurasi sumber daya untuk instans di dalam kumpulan menggunakan PowerShell atau Azure CLI,

Untuk memodifikasi parameter sumber daya untuk instans di dalam kumpulan, gunakan Set-AzSqlInstance.

Misalnya, skrip berikut memperbarui vCores menjadi 8 dan mengubah ukuran penyimpanan menjadi 512 GB untuk Instance1:

$instance1name | Set-AzSqlInstance -VCore 8 -StorageSizeInGB 512 -InstancePoolName $instancePoolName

Menghapus kumpulan instans

Anda dapat menghapus kumpulan instans dengan menggunakan PowerShell atau Azure CLI, setelah semua instans di kumpulan telah dihapus, atau dipindahkan dari kumpulan.

Untuk menghapus kumpulan instans, gunakan Remove-AzSqlInstancePool.

Contoh skrip berikut menghapus kumpulan instans kosong:

Remove-AzSqlInstancePool -ResourceGroupName <resource group name -Name <instance pool name>

Operasi kumpulan Instans

Tabel berikut menunjukkan operasi kumpulan instans yang tersedia:

Perintah Portal Azure PowerShell Azure CLI
Membuat kumpulan instans Tidak Ya Ya
Memperbarui properti kumpulan Tidak Ya Ya
Memeriksa penggunaan dan properti kumpulan Ya Ya Ya
Menghapus kumpulan instans Ya Ya Ya
Membuat instans terkelola di dalam kumpulan Tidak Ya Ya
Memindahkan instans terkelola ke dalam kumpulan Tidak Ya Ya
Menghapus instans terkelola dari kumpulan Ya Ya Ya
Memindahkan instans terkelola dari kumpulan Tidak Ya Ya
Membuat database dalam instans dalam kumpulan Ya Ya Ya
Menghapus database dari SQL Managed Instance Ya Ya Ya

Untuk menggunakan PowerShell, instal versi terbaru PowerShell Core, dan ikuti instruksi untuk Menginstal modul Azure PowerShell.

Perintah PowerShell yang tersedia:

Cmdlet Deskripsi
New-AzSqlInstancePool Membuat kumpulan instans.
Get-AzSqlInstancePool Mengembalikan informasi tentang kumpulan instans.
Set-AzSqlInstancePool Mengatur properti untuk kumpulan instans.
Remove-AzSqlInstancePool Menghapus kumpulan instans.
Get-AzSqlInstancePoolUsage Mengembalikan informasi tentang penggunaan kumpulan instans.

Untuk operasi yang terkait dengan instans baik di dalam kumpulan maupun instans tunggal, gunakan perintah instans terkelola standar, tetapi properti nama kumpulan instans harus diisi saat menggunakan perintah ini untuk instans dalam kumpulan.

Batasan

Selama pratinjau publik, instans dalam kumpulan memiliki batasan berikut:

  • Nama kumpulan hanya boleh berisi huruf kecil, angka, dan tanda hubung, dan tidak dapat dimulai dengan tanda hubung.
  • Semua instans dalam kumpulan menggunakan model lisensi yang sama. Saat Anda menentukan model lisensi untuk instans yang berbeda dari model lisensi untuk kumpulan, model lisensi kumpulan digunakan. Ketika instans dipindahkan dari kumpulan, instans secara otomatis beralih ke lisensi berbayar penuh (LicenseType = 'LicenseIncluded'). Aktifkan Azure Hybrid Benefit secara manual atau manfaat hak failover hibrid untuk mengubah model lisensi.
  • Instans yang dikumpulkan harus termasuk dalam subnet dan grup sumber daya yang sama. Memindahkan instans masuk dan keluar dari kumpulan hanya dimungkinkan dalam subnet kumpulan dan grup sumber daya yang sama.
  • Hanya tingkat layanan Tujuan Umum yang tersedia pada perangkat keras seri standar (Gen5) atau seri premium. Tingkat layanan Tujuan Umum Next-gen, Tingkat layanan Penting Bisnis, dan perangkat keras yang dioptimalkan memori seri premium tidak tersedia.
  • Jumlah instans maksimum yang mungkin dalam kumpulan adalah 40.
  • Kumpulan instans hanya dapat dihapus setelah semua instans di kumpulan dihapus atau dipindahkan dari kumpulan.
  • Anda tidak dapat menggunakan portal Azure untuk:
    • Konfigurasikan kumpulan instans. Gunakan PowerShell atau Azure CLI sebagai gantinya.
    • Memindahkan instans masuk dan keluar dari kumpulan. Gunakan PowerShell atau Azure CLI sebagai gantinya.
  • Fitur SQL Managed Instance berikut ini tidak didukung saat instans berada dalam kumpulan:

Permintaan dukungan

Membuat dan mengelola permintaan dukungan untuk kumpulan instans di portal Microsoft Azure.

Jika Anda mengalami masalah saat membuat atau menghapus instans, pastikan untuk menentukan Kumpulan Instans di bidang Subjenis masalah.

Cuplikan layar permintaan dukungan kumpulan Instans di portal Azure.

Jika Anda mengalami masalah yang terkait dengan satu instans terkelola atau database dalam kumpulan, Anda harus membuat tiket dukungan reguler untuk Azure SQL Managed Instance.

Untuk membuat penyebaran SQL Managed Instance yang lebih besar (dengan atau tanpa kumpulan instans), Anda mungkin perlu mendapatkan kuota regional yang lebih besar. Untuk informasi selengkapnya, lihat Meminta peningkatan kuota untuk Azure SQL Database. Logika penyebaran untuk kumpulan instans membandingkan total konsumsi vCore pada tingkat kumpulan dengan kuota Anda untuk menentukan apakah Anda diizinkan untuk membuat sumber daya baru tanpa meningkatkan kuota Anda lebih lanjut.