Arsitektur konektivitas untuk Azure SQL Managed Instance

Berlaku untuk:Azure SQL Managed Instance

Artikel ini menjelaskan arsitektur konektivitas di Azure SQL Managed Instance dan bagaimana komponen mengarahkan lalu lintas komunikasi untuk instans terkelola.

Gambaran Umum

Di SQL Managed Instance, instans ditempatkan di dalam jaringan virtual Azure dan di dalam subnet yang didedikasikan untuk instans terkelola. Penyebaran menyediakan:

  • Alamat IP lokal jaringan virtual (VNet-lokal) yang aman.
  • Kemampuan untuk menghubungkan jaringan lokal ke SQL Managed Instance.
  • Kemampuan untuk menyambungkan SQL Managed Instance ke server tertaut atau ke penyimpanan data lokal lainnya.
  • Kemampuan untuk menghubungkan SQL Managed Instance ke sumber daya Azure.

Catatan

Gelombang fitur November 2022 memperkenalkan perubahan pada struktur konektivitas default SQL Managed Instance. Artikel ini menyediakan informasi tentang arsitektur saat ini dan arsitektur instans yang belum terdaftar dalam gelombang fitur. Untuk informasi selengkapnya, lihat Gelombang fitur November 2022.

Gelombang fitur November 2022

Gelombang fitur November 2022 memperkenalkan perubahan berikut pada arsitektur konektivitas SQL Managed Instance:

  • Menghapus titik akhir manajemen.
  • Aturan kelompok keamanan jaringan wajib yang disederhanakan (menghapus satu aturan wajib).
  • Merevisi aturan grup keamanan jaringan wajib sehingga tidak lagi menyertakan keluar ke AzureCloud pada port 443.
  • Menyederhanakan tabel rute (mengurangi rute wajib dari 13 menjadi 5).

Arsitektur konektivitas tingkat tinggi

SQL Managed Instance terdiri dari komponen layanan yang dihosting pada sekumpulan komputer virtual terisolasi khusus yang dikelompokkan bersama oleh atribut konfigurasi serupa dan bergabung ke kluster virtual. Beberapa komponen layanan disebarkan di dalam subnet jaringan virtual pelanggan sementara layanan lain beroperasi dalam lingkungan jaringan aman yang dikelola Microsoft.

Diagram yang menunjukkan arsitektur konektivitas tingkat tinggi untuk Azure SQL Managed Instance setelah November 2022.

Aplikasi pelanggan dapat terhubung ke SQL Managed Instance dan dapat mengkueri serta memperbarui database di dalam jaringan virtual, jaringan virtual yang di-peering, atau jaringan yang terhubung dengan VPN atau Azure ExpressRoute.

Diagram berikut menunjukkan entitas yang terhubung ke SQL Managed Instance. Ini juga menunjukkan sumber daya yang perlu berkomunikasi dengan instans terkelola. Proses komunikasi di bagian bawah diagram mewakili aplikasi dan alat pelanggan yang terhubung ke SQL Managed Instance sebagai sumber data.

Diagram yang menunjukkan entitas dalam arsitektur konektivitas untuk Azure SQL Managed Instance setelah November 2022.

SQL Managed Instance adalah penyewa tunggal, platform sebagai penawaran layanan yang beroperasi di dua bidang: sarana data dan sarana kontrol.

Bidang data disebarkan di dalam subnet pelanggan untuk kompatibilitas, konektivitas, dan isolasi jaringan. Bidang data bergantung pada layanan Azure seperti Azure Storage, ID Microsoft Entra (sebelumnya Azure Active Directory) untuk autentikasi, dan layanan pengumpulan telemetri. Anda akan melihat lalu lintas yang berasal dari subnet yang berisi SQL Managed Instance yang masuk ke layanan tersebut.

Sarana kontrol membawa fungsi penyebaran, manajemen, dan pemeliharaan layanan inti melalui agen otomatis. Agen-agen ini memiliki akses eksklusif ke sumber daya komputasi yang mengoperasikan layanan. Anda tidak dapat menggunakan ssh atau Protokol Desktop Jauh untuk mengakses host tersebut. Semua komunikasi sarana kontrol dienkripsi dan ditandatangani dengan menggunakan sertifikat. Untuk memeriksa kepercayaan pihak yang berkomunikasi, SQL Managed Instance terus memverifikasi sertifikat ini dengan menggunakan daftar pencabutan sertifikat.

Gambaran umum komunikasi

Aplikasi dapat terhubung ke SQL Managed Instance melalui tiga jenis titik akhir. Titik akhir ini melayani skenario yang berbeda dan menunjukkan properti dan perilaku jaringan yang berbeda.

Diagram yang memperlihatkan cakupan visibilitas untuk titik akhir VNet-lokal, publik, dan privat ke Azure SQL Managed Instance.

Titik akhir VNet-lokal

Titik akhir VNet lokal adalah cara default untuk menyambungkan ke SQL Managed Instance. Titik akhir VNet-lokal adalah nama domain dalam bentuk <mi_name>.<dns_zone>.database.windows.net yang diselesaikan ke alamat IP dari kumpulan alamat subnet; oleh karena itu VNet-local, atau titik akhir yang lokal ke jaringan virtual. Titik akhir VNet-lokal dapat digunakan untuk menyambungkan ke SQL Managed Instance dalam semua skenario konektivitas standar.

Titik akhir VNet-lokal mendukung jenis koneksi pengalihan.

Saat menyambungkan ke titik akhir VNet-local, selalu gunakan nama domainnya karena alamat IP yang mendasar terkadang dapat berubah.

Titik akhir publik

Titik akhir publik adalah nama domain opsional dalam bentuk <mi_name>.public.<dns_zone>.database.windows.net yang diselesaikan ke alamat IP publik yang dapat dijangkau dari Internet. Titik akhir publik memungkinkan lalu lintas TDS hanya untuk mencapai SQL Managed Instance pada port 3342 dan tidak dapat digunakan untuk skenario integrasi, seperti grup failover, tautan Instans Terkelola, dan teknologi serupa.

Saat menyambungkan ke titik akhir publik, selalu gunakan nama domainnya karena alamat IP yang mendasar terkadang dapat berubah.

Titik akhir publik selalu beroperasi dalam jenis koneksi proksi.

Pelajari cara menyiapkan titik akhir publik di Mengonfigurasi titik akhir publik untuk Azure SQL Managed Instance.

Titik Akhir Privat

Titik akhir privat adalah alamat IP tetap opsional di jaringan virtual lain yang melakukan lalu lintas ke instans terkelola SQL Anda. Satu Azure SQL Managed Instance dapat memiliki beberapa titik akhir privat di beberapa jaringan virtual. Titik akhir privat memungkinkan lalu lintas TDS hanya mencapai SQL Managed Instance pada port 1433 dan tidak dapat digunakan untuk skenario integrasi, seperti grup failover, tautan Instans Terkelola, dan teknologi serupa lainnya.

Saat menyambungkan ke titik akhir privat, selalu gunakan nama domain karena menyambungkan ke Azure SQL Managed Instance melalui alamat IP-nya belum didukung.

Titik akhir privat selalu beroperasi dalam jenis koneksi proksi.

Pelajari selengkapnya tentang titik akhir privat dan cara mengonfigurasinya di Azure Private Link untuk Azure SQL Managed Instance.

Arsitektur konektivitas kluster virtual

Bagian ini memberikan tampilan yang lebih dekat pada arsitektur konektivitas kluster virtual SQL Managed Instance. Diagram berikut menunjukkan tata letak konseptual kluster virtual:

Nama domain titik akhir VNet-local diselesaikan ke alamat IP privat dari load balancer internal. Meskipun nama domain ini terdaftar di zona Sistem Nama Domain (DNS) publik dan dapat diselesaikan secara publik, alamat IP-nya termasuk dalam rentang alamat subnet dan hanya dapat dijangkau dari dalam jaringan virtualnya secara default.

Load balancer mengarahkan lalu lintas ke gateway SQL Managed Instance. Karena beberapa instans terkelola dapat berjalan di dalam kluster yang sama, gateway menggunakan nama host SQL Managed Instance seperti yang terlihat di string koneksi untuk mengalihkan lalu lintas ke layanan mesin SQL yang benar.

Nilai untuk dns-zone dibuat secara otomatis saat Anda membuat kluster. Jika kluster yang baru dibuat menghosting instans terkelola sekunder, kluster tersebut akan membagikan ID zonanya dengan kluster utama.

Konfigurasi subnet yang dibantu layanan

Untuk meningkatkan keamanan, pengelolaan, dan ketersediaan layanan, SQL Managed Instance menerapkan kebijakan niat jaringan pada beberapa elemen infrastruktur jaringan virtual Azure. Kebijakan ini mengonfigurasi subnet, grup keamanan jaringan terkait, dan tabel rute untuk memastikan bahwa persyaratan minimum untuk SQL Managed Instance terpenuhi. Mekanisme platform ini secara transparan mengomunikasikan persyaratan jaringan kepada pengguna. Tujuan utama kebijakan adalah untuk mencegah kesalahan konfigurasi jaringan dan untuk memastikan operasi SQL Managed Instance normal dan komitmen perjanjian tingkat layanan. Saat Anda menghapus instans terkelola, kebijakan intent jaringan juga dihapus.

Konfigurasi subnet yang dibantu layanan dibangun di atas fitur delegasi subnet jaringan virtual untuk menyediakan manajemen konfigurasi jaringan otomatis dan untuk mengaktifkan titik akhir layanan.

Anda dapat menggunakan titik akhir layanan untuk mengonfigurasi aturan firewall jaringan virtual pada akun penyimpanan yang menyimpan cadangan dan log audit. Bahkan dengan titik akhir layanan diaktifkan, pelanggan didorong untuk menggunakan Azure Private Link untuk mengakses akun penyimpanan mereka. Private Link menyediakan lebih banyak isolasi daripada titik akhir layanan.

Penting

Karena kekhususan konfigurasi sarana kontrol, konfigurasi subnet yang dibantu layanan tidak mengaktifkan titik akhir layanan di cloud nasional.

Persyaratan jaringan

Subnet tempat SQL Managed Instance disebarkan harus memiliki karakteristik berikut:

  • Subnet khusus: Subnet yang digunakan SQL Managed Instance hanya dapat didelegasikan ke layanan SQL Managed Instance. Subnet tidak dapat menjadi subnet gateway, dan Anda hanya dapat menyebarkan sumber daya SQL Managed Instance di subnet.
  • Delegasi subnet: Subnet SQL Managed Instance harus didelegasikan ke Microsoft.Sql/managedInstances penyedia sumber daya.
  • Grup keamanan jaringan: Grup keamanan jaringan harus dikaitkan dengan subnet SQL Managed Instance. Anda dapat menggunakan grup keamanan jaringan untuk mengontrol akses ke titik akhir data SQL Managed Instance dengan memfilter lalu lintas pada port 1433 dan port 11000-11999 saat SQL Managed Instance dikonfigurasi untuk koneksi pengalihan. Layanan ini secara otomatis menyediakan aturan dan menjaganya tetap terkini sesuai kebutuhan untuk memungkinkan arus lalu lintas manajemen yang tidak terganggu.
  • Tabel rute: Tabel rute harus dikaitkan dengan subnet SQL Managed Instance. Anda dapat menambahkan entri ke tabel rute ini, misalnya untuk merutekan lalu lintas ke lokal melalui gateway jaringan virtual, atau untuk menambahkan rute default 0.0.0.0/0 yang mengarahkan semua lalu lintas melalui appliance jaringan virtual seperti firewall. Azure SQL Managed Instance secara otomatis menyediakan dan mengelola entri yang diperlukan dalam tabel rute.
  • Alamat IP yang memadai: Subnet SQL Managed Instance harus memiliki setidaknya 32 alamat IP. Untuk mengetahui informasi selengkapnya, lihat Menentukan ukuran subnet untuk SQL Managed Instance. Anda dapat menyebarkan instans terkelola di jaringan yang ada setelah mengonfigurasinya untuk memenuhi persyaratan jaringan untuk SQL Managed Instance. Jika tidak, buat jaringan dan subnet baru.
  • Diizinkan oleh kebijakan Azure: Jika Anda menggunakan Azure Policy untuk mencegah pembuatan atau modifikasi sumber daya dalam cakupan yang menyertakan subnet SQL Managed Instance atau jaringan virtual, kebijakan Anda tidak boleh mencegah SQL Managed Instance mengelola sumber daya internalnya. Sumber daya berikut perlu dikecualikan dari efek penolakan kebijakan untuk operasi normal:
    • Sumber daya jenis Microsoft.Network/serviceEndpointPolicies, ketika nama sumber daya dimulai dengan \_e41f87a2\_
    • Semua sumber daya jenis Microsoft.Network/networkIntentPolicies
    • Semua sumber daya jenis Microsoft.Network/virtualNetworks/subnets/contextualServiceEndpointPolicies
  • Kunci pada jaringan virtual: Kunci pada jaringan virtual subnet khusus, grup sumber daya induknya, atau langganan, kadang-kadang mungkin mengganggu manajemen SQL Managed Instance dan operasi pemeliharaan. Berhati-hatilah saat Anda menggunakan kunci sumber daya.
  • Lalu lintas replikasi: Lalu lintas replikasi untuk grup failover antara dua instans terkelola harus langsung dan tidak dirutekan melalui jaringan hub.
  • Server DNS kustom: Jika jaringan virtual dikonfigurasi untuk menggunakan server DNS kustom, server DNS harus dapat menyelesaikan catatan DNS publik. Menggunakan fitur seperti autentikasi Microsoft Entra mungkin memerlukan penyelesaian nama domain yang lebih memenuhi syarat (FQDN). Untuk informasi selengkapnya, lihat Mengatasi nama DNS privat di Azure SQL Managed Instance.

Aturan keamanan wajib dengan konfigurasi subnet yang dibantu layanan

Untuk memastikan arus lalu lintas manajemen masuk, aturan yang dijelaskan dalam tabel berikut diperlukan. Aturan diberlakukan oleh kebijakan niat jaringan dan tidak perlu disebarkan oleh pelanggan. Untuk informasi selengkapnya tentang arsitektur konektivitas dan lalu lintas manajemen, lihat Arsitektur konektivitas tingkat tinggi.

Nama Port Protokol Sumber Tujuan Tindakan
healthprobe-in Apa pun Apa pun AzureLoadBalancer Subnet Izinkan
internal-in Apa pun Apa pun Subnet Subnet Izinkan

Untuk memastikan arus lalu lintas manajemen keluar, aturan yang dijelaskan dalam tabel berikut diperlukan. Untuk informasi selengkapnya tentang arsitektur konektivitas dan lalu lintas manajemen, lihat Arsitektur konektivitas tingkat tinggi.

Nama Port Protokol Sumber Tujuan Tindakan
AAD-out 443 TCP Subnet AzureActiveDirectory Izinkan
OneDsCollector-out 443 TCP Subnet OneDsCollector Izinkan
internal-out Apa pun Apa pun Subnet Subnet Izinkan
StorageP-out 443 Apa pun Subnet Penyimpanan.primaryRegion Izinkan
StorageS-out 443 Apa pun Subnet Penyimpanan.secondaryRegion Izinkan

Rute wajib dengan konfigurasi subnet yang dibantu layanan

Rute yang dijelaskan dalam tabel berikut diperlukan untuk memastikan bahwa lalu lintas manajemen dirutekan langsung ke tujuan. Rute diberlakukan oleh kebijakan niat jaringan dan tidak perlu disebarkan oleh pelanggan. Untuk informasi selengkapnya tentang arsitektur konektivitas dan lalu lintas manajemen, lihat Arsitektur konektivitas tingkat tinggi.

Nama Awalan alamat Lompatan berikutnya
AzureActiveDirectory AzureActiveDirectory Internet*
OneDsCollector OneDsCollector Internet*
Penyimpanan.primaryRegion Penyimpanan.primaryRegion Internet*
Penyimpanan.secondaryRegion Penyimpanan.secondaryRegion Internet*
subnet-ke-vnetlocal Subnet Jaringan virtual

Catatan

* Nilai Internet di kolom Hop berikutnya menginstruksikan gateway untuk merutekan lalu lintas di luar jaringan virtual. Namun, jika alamat tujuan adalah untuk layanan Azure, Azure merutekan lalu lintas langsung ke layanan melalui jaringan Azure alih-alih di luar cloud Azure. Lalu lintas antara layanan Azure tidak melintasi internet, terlepas dari wilayah Azure mana jaringan virtual berada di atau wilayah Azure mana instans layanan Azure disebarkan. Untuk informasi selengkapnya, lihat Perutean lalu lintas jaringan virtual Azure.

Anda juga dapat menambahkan entri ke tabel rute untuk merutekan lalu lintas yang memiliki rentang IP privat lokal sebagai tujuan melalui gateway jaringan virtual atau appliance jaringan virtual.

Batasan jaringan

TLS 1.2 diberlakukan pada koneksi keluar: Mulai Januari 2020, Microsoft memberlakukan TLS 1.2 untuk lalu lintas intra-layanan di semua layanan Azure. Untuk SQL Managed Instance, ini mengakibatkan TLS 1.2 diberlakukan pada koneksi keluar yang digunakan untuk replikasi dan pada koneksi server tertaut ke SQL Server. Jika Anda menggunakan versi SQL Server yang lebih lama dari 2016 dengan SQL Managed Instance, pastikan Anda menerapkan pembaruan khusus TLS 1.2.

Fitur jaringan virtual berikut saat ini tidak didukung dengan SQL Managed Instance:

  • Email database ke relai SMTP eksternal pada port 25: Mengirim email database melalui port 25 ke layanan email eksternal hanya tersedia untuk jenis langganan tertentu di Microsoft Azure. Instans pada jenis langganan lain harus menggunakan port yang berbeda (misalnya, 587) untuk menghubungi relai SMTP eksternal. Jika tidak, instans mungkin gagal mengirimkan email database. Untuk informasi lebih lanjut, lihat Memecahkan masalah konektivitas SMTP keluar di Azure.
  • Peering Microsoft: Mengaktifkan peering Microsoft di sirkuit ExpressRoute yang di-peering secara langsung atau transitif dengan jaringan virtual tempat SQL Managed Instance berada memengaruhi arus lalu lintas antara komponen SQL Managed Instance di dalam jaringan virtual dan layanan yang bergantung padanya. Hasil masalah ketersediaan. Penyebaran SQL Managed Instance ke jaringan virtual yang sudah mengaktifkan peering Microsoft diharapkan gagal.
  • Peering jaringan virtual – global: Konektivitas peering jaringan virtual di seluruh wilayah Azure tidak berfungsi untuk instans SQL Managed Instance yang ditempatkan di subnet yang dibuat sebelum 9 September 2020.
  • Peering jaringan virtual – konfigurasi: Saat membuat peering jaringan virtual antara jaringan virtual yang berisi subnet dengan SQL Managed Instances, subnet tersebut harus menggunakan tabel rute dan grup keamanan jaringan (NSG) yang berbeda. Menggunakan kembali tabel rute dan NSG dalam dua subnet atau lebih yang berpartisipasi dalam peering jaringan virtual akan menyebabkan masalah konektivitas di semua subnet menggunakan tabel rute atau NSG tersebut, dan menyebabkan operasi manajemen SQL Managed Instance gagal.
  • AzurePlatformDNS: Menggunakan tag layanan AzurePlatformDNS untuk memblokir resolusi DNS platform akan membuat SQL Managed Instance tidak tersedia. Meskipun SQL Managed Instance mendukung DNS yang ditentukan pelanggan untuk resolusi DNS di dalam mesin, ada dependensi pada DNS platform untuk operasi platform.
  • Gateway NAT: Menggunakan NAT Azure Virtual Network untuk mengontrol konektivitas keluar dengan alamat IP publik tertentu membuat SQL Managed Instance tidak tersedia. Layanan SQL Managed Instance saat ini terbatas pada penggunaan load balancer dasar, yang tidak memberikan koeksistensi alur masuk dan keluar dengan NAT Azure Virtual Network.
  • IPv6 untuk Azure Virtual Network: Menyebarkan SQL Managed Instance ke jaringan virtual IPv4/IPv6 tumpukan ganda diperkirakan akan gagal. Mengaitkan grup keamanan jaringan atau tabel rute dengan rute yang ditentukan pengguna (UDR) yang berisi prefiks alamat IPv6 ke subnet SQL Managed Instance membuat SQL Managed Instance tidak tersedia. Selain itu, menambahkan prefiks alamat IPv6 ke grup keamanan jaringan atau UDR yang sudah terkait dengan subnet instans terkelola membuat SQL Managed Instance tidak tersedia. Penyebaran SQL Managed Instance ke subnet dengan kelompok keamanan jaringan dan UDR yang sudah memiliki prefiks IPv6 diharapkan gagal.
  • Zona privat Azure DNS dengan nama yang dicadangkan untuk layanan Microsoft: Nama domain berikut adalah nama yang dicadangkan: windows.net, , , core.windows.netdatabase.windows.net, table.core.windows.netmonitoring.core.windows.netmanagement.core.windows.netblob.core.windows.netqueue.core.windows.net, graph.windows.net, , login.microsoftonline.com, login.windows.net, , servicebus.windows.netdan .vault.azure.net Menyebarkan SQL Managed Instance ke jaringan virtual yang memiliki zona privat Azure DNS terkait yang menggunakan nama yang dicadangkan untuk layanan Microsoft gagal. Mengaitkan zona privat Azure DNS yang menggunakan nama yang dipesan dengan jaringan virtual yang berisi instans terkelola membuat SQL Managed Instance tidak tersedia. Untuk informasi tentang konfigurasi Private Link, lihat Konfigurasi DNS Titik Akhir Privat Azure.

Langkah berikutnya