Hubungkan aplikasi Anda ke Azure SQL Managed Instance

Berlaku untuk:Azure SQL Managed Instance

Artikel ini menjelaskan cara menyambungkan aplikasi Anda ke Azure SQL Managed Instance dalam sejumlah skenario aplikasi yang berbeda di dalam atau di antara jaringan virtual Azure.

Kini Anda memiliki banyak pilihan saat memutuskan bagaimana dan di mana Anda akan meng-host aplikasi Anda. Anda dapat memilih untuk menghosting aplikasi di cloud dengan menggunakan Azure App Service atau beberapa opsi terintegrasi jaringan virtual Azure, seperti Azure App Service Environment, Azure Virtual Machines, dan Virtual Machine Scale Sets. Anda juga dapat mengambil pendekatan cloud hibrid ("campuran") dan menjaga aplikasi Anda tetap lokal. Apa pun pilihan yang Anda buat, aplikasi Anda dapat terhubung ke Azure SQL Managed Instance dalam sejumlah skenario aplikasi yang berbeda di dalam atau di antara jaringan virtual Azure.

Anda juga dapat mengaktifkan akses data ke instans terkelola Anda dari luar jaringan virtual – misalnya, dari layanan Azure multi-penyewa seperti Power BI dan Azure App Service, atau dari jaringan lokal yang tidak tersambung ke jaringan virtual Anda melalui VPN. Untuk mencapai skenario ini dan serupa, lihat Mengonfigurasi titik akhir publik di Azure SQL Managed Instance.

High availability

Koneksi dari dalam VNet yang sama

Menyambungkan aplikasi di dalam jaringan virtual yang sama dengan Azure SQL Managed Instance adalah skenario paling sederhana. Komputer virtual di dalam jaringan virtual dapat terhubung satu sama lain secara langsung bahkan jika berada di dalam subnet yang berbeda. Ini berarti bahwa untuk menghubungkan aplikasi di dalam Lingkungan App Service atau komputer virtual yang disebarkan di jaringan virtual yang sama dengan SQL Managed Instance adalah mengonfigurasi string koneksi untuk menargetkan titik akhir VNet-lokalnya.

Koneksi dari dalam VNet yang berbeda

Koneksi aplikasi saat berada di jaringan virtual yang berbeda dari SQL Managed Instance mengharuskan aplikasi terlebih dahulu mendapatkan akses baik ke jaringan virtual tempat SQL Managed Instance disebarkan, atau ke SQL Managed Instance itu sendiri. Dua jaringan virtual tidak harus berada dalam langganan yang sama.

Ada tiga opsi untuk menyambungkan ke SQL Managed Instance di jaringan virtual yang berbeda:

Dari ketiganya, titik akhir privat adalah opsi yang paling aman dan ekonomis sumber daya karena:

  • hanya mengekspos SQL Managed Instance dari jaringan virtualnya.
  • hanya mengizinkan konektivitas satu arah.
  • hanya memerlukan satu alamat IP di jaringan virtual aplikasi.

Jika titik akhir privat tidak dapat sepenuhnya memenuhi persyaratan skenario Anda, pertimbangkan peering jaringan virtual sebagai gantinya. Peering menggunakan jaringan Azure backbone, sehingga tidak ada penalti latensi yang terlihat untuk komunikasi di seluruh batas jaringan virtual. Peering jaringan virtual didukung antara jaringan di semua wilayah (peering jaringan virtual global), sementara instans yang dihosting di subnet yang dibuat sebelum 22 September 2020 hanya mendukung peering di wilayah mereka.

Menyambungkan dari lokal

Anda dapat menyambungkan aplikasi lokal Anda ke titik akhir VNet-local SQL Managed Instance Anda. Untuk mengaksesnya dari lokal, Anda perlu membuat koneksi site-to-site antara aplikasi dan jaringan virtual SQL Managed Instance. Jika akses hanya data ke instans terkelola Anda cukup, Anda dapat menyambungkannya dari luar jaringan virtual melalui titik akhir publik - tinjau Mengonfigurasi titik akhir publik di Azure SQL Managed Instance untuk mempelajari lebih lanjut.

Ada dua opsi untuk menyambungkan aplikasi lokal ke jaringan virtual Azure:

Jika Anda telah membuat koneksi lokal ke Azure dan Anda tidak dapat membuat koneksi ke SQL Managed Instance, periksa apakah firewall Anda memiliki koneksi keluar terbuka pada port SQL 1433, serta rentang port 11000-11999 untuk pengalihan.

Koneksi kotak pengembang

Anda juga dapat menghubungkan kotak pengembang Anda ke SQL Managed Instance. Untuk mengaksesnya dari kotak pengembang Anda melalui jaringan virtual, Anda harus terlebih dahulu membuat koneksi antara kotak pengembang Anda dan jaringan virtual SQL Managed Instance. Untuk melakukannya, konfigurasikan koneksi point-to-site ke jaringan virtual menggunakan autentikasi sertifikat Azure asli. Untuk informasi selengkapnya, lihat Mengonfigurasi koneksi point-to-site untuk menghubungkan ke Azure SQL Managed Instance dari komputer lokal.

Untuk akses data ke instans terkelola Anda dari luar jaringan virtual, lihat Mengonfigurasi titik akhir publik di Azure SQL Managed Instance.

Koneksi ke jaringan spoke

Skenario umum lainnya adalah di mana gateway VPN diinstal di jaringan virtual terpisah (dan mungkin langganan) - jaringan spoke - dari yang menghosting SQL Managed Instance (jaringan hub). Koneksi ke SQL Managed Instance dari jaringan spoke dikonfigurasi melalui salah satu opsi yang tercantum dalam Koneksi dari dalam VNet yang berbeda: titik akhir privat, peering VNet, atau gateway VNet-ke-VNet.

Contoh diagram arsitektur berikut menunjukkan peering VNet:

Diagram showing Virtual network peering.

Jika Anda melakukan peering hub dan jaringan spoke, pastikan gateway VPN melihat alamat IP dari jaringan hub. Untuk melakukannya, buat perubahan berikut di bawah Pengaturan peering:

  1. Di jaringan virtual yang menghosting gateway VPN (jaringan spoke), buka Peering, buka koneksi jaringan virtual yang di-peering untuk SQL Managed Instance, dan pilih Izinkan Gateway Transit.
  2. Di jaringan virtual yang menghosting SQL Managed Instance (jaringan hub), buka Peering, buka koneksi jaringan virtual yang di-peering untuk gateway VPN, dan pilih Gunakan gateway jarak jauh.

Menyambungkan Azure App Service

Anda juga dapat menghubungkan aplikasi yang dihosting oleh Azure App Service saat terintegrasi dengan jaringan virtual Anda. Untuk melakukannya, pilih salah satu mekanisme yang tercantum dalam Koneksi dari dalam VNet yang berbeda. Untuk akses data ke instans terkelola Anda dari luar jaringan virtual, lihat Mengonfigurasi titik akhir publik di Azure SQL Managed Instance.

Kasus khusus untuk menghubungkan Azure App Service ke SQL Managed Instance adalah saat Anda mengintegrasikan Azure App Service ke jaringan yang di-peering ke jaringan virtual SQL Managed Instance. Kasus tersebut memerlukan konfigurasi berikut untuk disiapkan:

  • Jaringan virtual SQL Managed Instance TIDAK BOLEH memiliki gateway
  • Jaringan virtual SQL Managed Instance harus memiliki kumpulan opsi Use remote gateways
  • Jaringan virtual yang di-peering harus memiliki kumpulan opsi Allow gateway transit

Skenario ini diilustrasikan dalam diagram berikut:

Diagram for integrated app peering.

Catatan

Fitur integrasi jaringan virtual tidak mengintegrasikan aplikasi dengan jaringan virtual yang memiliki gateway ExpressRoute. Bahkan jika gateway ExpressRoute dikonfigurasi dalam mode koeksistensi, integrasi jaringan virtual tidak berfungsi. Jika Anda perlu mengakses sumber daya melalui koneksi ExpressRoute, maka Anda dapat menggunakan Lingkungan Azure App Service, yang berjalan di jaringan virtual Anda.

Untuk memecahkan masalah akses Azure App Service melalui jaringan virtual, tinjau Pemecahan masalah jaringan virtual dan aplikasi.

Memecahkan masalah konektivitas

Untuk memecahkan masalah konektivitas, tinjau hal berikut:

  • Jika Anda tidak dapat tersambung ke SQL Managed Instance dari komputer virtual Azure dalam jaringan virtual yang sama tetapi subnet yang berbeda, periksa apakah Anda memiliki Grup Keamanan Jaringan yang disiapkan pada subnet VM yang mungkin memblokir akses. Selain itu, buka koneksi keluar pada port SQL 1433 serta port dalam rentang 11000-11999, karena koneksi tersebut diperlukan untuk terhubung melalui pengalihan di dalam batas Azure.

  • Pastikan bahwa penyebaran rute gateway dinonaktifkan untuk tabel rute yang terkait dengan jaringan virtual.

  • Jika menggunakan VPN titik-ke-situs, periksa konfigurasi di portal Azure untuk melihat apakah Anda melihat nomor Ingress/Egress. Angka bukan nol menunjukkan bahwa Azure merutekan lalu lintas ke/dari lokal.

    Screenshot showing ingress/egress numbers in the Azure portal.

  • Periksa apakah mesin klien (yang menjalankan klien VPN) memiliki entri rute untuk semua jaringan virtual yang perlu Anda akses. Rute disimpan di %AppData%\Roaming\Microsoft\Network\Connections\Cm\<GUID>\routes.txt.

    Screenshot showing the route.txt.

    Seperti yang ditunjukkan pada gambar ini, ada dua entri untuk setiap jaringan virtual yang terkait dan entri ketiga untuk titik akhir VPN yang dikonfigurasi di portal.

    Cara lain untuk memeriksa rute adalah melalui perintah berikut. Output menunjukkan rute ke berbagai subnet:

    C:\ >route print -4
    ===========================================================================
    Interface List
    14...54 ee 75 67 6b 39 ......Intel(R) Ethernet Connection (3) I218-LM
    57...........................rndatavnet
    18...94 65 9c 7d e5 ce ......Intel(R) Dual Band Wireless-AC 7265
    1...........................Software Loopback Interface 1
    Adapter===========================================================================
    
    IPv4 Route Table
    ===========================================================================
    Active Routes:
    Network Destination        Netmask          Gateway       Interface  Metric
            0.0.0.0          0.0.0.0       10.83.72.1     10.83.74.112     35
           10.0.0.0    255.255.255.0         On-link       172.26.34.2     43
           10.4.0.0    255.255.255.0         On-link       172.26.34.2     43
    ===========================================================================
    Persistent Routes:
    None
    
  • Jika menggunakan peering jaringan virtual, pastikan Anda telah mengikuti instruksi pengaturan Izinkan Transit Gateway dan Gunakan Gateway Jarak Jauh.

  • Jika Anda menggunakan peering jaringan virtual untuk menyambungkan aplikasi yang di-hosting Azure App Service, dan jaringan virtual Azure SQL Managed Instance memiliki rentang alamat IP publik, pastikan pengaturan aplikasi yang di-hosting memungkinkan lalu lintas keluar Anda untuk dirutekan ke jaringan IP publik. Ikuti petunjuk dalam Integrasi jaringan virtual wilayah.

Meskipun versi yang lebih lama mungkin berfungsi, tabel berikut mencantumkan versi minimum alat dan driver yang direkomendasikan untuk terhubung ke SQL Managed Instance:

Driver/alat Versi
.NET Framework 4.6.1 (atau .NET Core)
Driver ODBC v17
Driver PHP 5.2.0
Driver JDBC 6.4.0
Driver Node.js 2.1.1
Driver OLEDB 18.0.2.0
SSMS 18.0 atau lebih tinggi
SMO 150 atau lebih tinggi

Langkah berikutnya