Bagikan melalui


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 proksi dan 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 menggunakan jenis koneksi proksi terlepas dari pengaturan jenis koneksi.

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 menggunakan jenis koneksi proksi terlepas dari pengaturan jenis koneksi.

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

Arsitektur konektivitas kluster virtual

Diagram berikut menunjukkan tata letak konseptual arsitektur kluster virtual:

Diagram yang menunjukkan arsitektur konektivitas kluster virtual untuk Azure SQL Managed Instance.

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.

Persyaratan jaringan

Azure SQL Managed Instance memerlukan aspek subnet yang didelegasikan untuk dikonfigurasi dengan cara tertentu, yang dapat Anda capai dengan menggunakan konfigurasi subnet yang dibantu layanan. Di luar apa yang diperlukan layanan, pengguna memiliki kontrol penuh atas konfigurasi jaringan subnet mereka, seperti:

  • Mengizinkan atau memblokir lalu lintas pada beberapa atau semua port
  • Menambahkan entri ke tabel rute untuk merutekan lalu lintas melalui appliance jaringan virtual atau gateway
  • Mengonfigurasi resolusi DNS kustom, atau
  • Menyiapkan peering atau VPN

Subnet tempat SQL Managed Instance disebarkan harus memenuhi persyaratan 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.

Konfigurasi subnet yang dibantu layanan

Untuk meningkatkan keamanan layanan, pengelolaan, dan ketersediaan, SQL Managed Instance menggunakan konfigurasi subnet yang dibantu layanan dan kebijakan niat jaringan pada infrastruktur jaringan virtual Azure untuk mengonfigurasi jaringan, komponen terkait, dan tabel rute untuk memastikan bahwa persyaratan minimum untuk SQL Managed Instance terpenuhi.

Aturan keamanan jaringan dan tabel rute yang dikonfigurasi secara otomatis terlihat oleh pelanggan dan dianotasikan dengan salah satu awalan ini:

  • Microsoft.Sql-managedInstances_UseOnly_mi- untuk aturan dan rute wajib;
  • Microsoft.Sql-managedInstances_UseOnly_mi-optional- untuk aturan dan rute opsional.

Untuk detail tambahan, tinjau konfigurasi subnet yang dibantu layanan.

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.
  • Tag AzurePlatformDNS: Menggunakan tag layanan AzurePlatformDNS untuk memblokir resolusi DNS platform mungkin 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.