Koneksi Hibrid Azure App Service

Koneksi Hibrid adalah layanan di Azure dan fitur di Azure App Service. Sebagai layanan, ia memiliki kegunaan dan kemampuan di luar yang digunakan dalam Azure App Service. Untuk mempelajari selengkapnya tentang Koneksi Hibrid dan penggunaannya di luar Azure App Service, lihat Koneksi Hibrid Azure Relay.

Dalam Azure App Service, Koneksi Hibrid dapat digunakan untuk mengakses sumber daya aplikasi di jaringan apa pun yang dapat melakukan panggilan keluar ke Azure melalui port 443. Koneksi Hibrid menyediakan akses dari aplikasi Anda ke titik akhir TCP dan tidak mengaktifkan cara baru untuk mengakses aplikasi Anda. Seperti yang digunakan dalam Azure App Service, setiap Koneksi Hibrid berkorelasi dengan satu host TCP dan kombinasi port. Fitur ini memungkinkan aplikasi Anda mengakses sumber daya di OS apa pun, asalkan ini adalah titik akhir TCP. Fitur Koneksi Hibrid tidak mengetahui atau peduli dengan protokol aplikasinya atau apa pun yang Anda akses. Ini hanya menyediakan akses jaringan.

Cara kerjanya

Koneksi hibrid mengharuskan agen relai disebarkan di mana dapat mencapai titik akhir dan Azure yang diinginkan. Agen relai, Pengelola Koneksi Hibrid (HCM), memanggil Azure Relay melalui port 443. Dari situs aplikasi web, infrastruktur Azure App Service juga terhubung ke Azure Relay atas nama aplikasi Anda. Melalui koneksi yang digabungkan, aplikasi Anda dapat mengakses titik akhir yang diinginkan. Koneksi menggunakan TLS 1.2 untuk kunci keamanan dan tanda tangan akses bersama (SAS) untuk autentikasi dan otorisasi.

Diagram of Hybrid Connection high-level flow.

Saat aplikasi Anda membuat permintaan DNS yang cocok dengan titik akhir hybrid Koneksi ion yang dikonfigurasi, lalu lintas TCP keluar dialihkan melalui Koneksi ion Hibrid.

Catatan

Ini berarti Anda harus mencoba untuk selalu menggunakan nama DNS untuk Koneksi Hibrid Anda. Beberapa perangkat lunak klien tidak melakukan pencarian DNS jika titik akhir menggunakan alamat IP sebagai gantinya.

Manfaat Koneksi Hibrid Azure App Service

Ada banyak manfaat untuk kemampuan hybrid Koneksi ions, termasuk:

  • Aplikasi dapat mengakses sistem dan layanan lokal dengan aman.
  • Fitur ini tidak memerlukan titik akhir yang dapat diakses internet.
  • Cepat dan mudah disiapkan. Tidak memerlukan gateway.
  • Setiap Koneksi Hibrid cocok dengan kombinasi host:port tunggal, berguna untuk keamanan.
  • Biasanya tidak memerlukan lubang firewall. Semua koneksi keluar melalui port web standar.
  • Karena fitur ini adalah tingkat jaringan, ini bersifat agnostik untuk bahasa yang digunakan oleh aplikasi Anda dan teknologi yang digunakan oleh titik akhir.
  • Ini dapat digunakan untuk menyediakan akses di beberapa jaringan dari satu aplikasi.
  • Didukung di GA untuk aplikasi Windows dan aplikasi Linux. Tidak didukung untuk aplikasi kontainer Windows.

Hal-hal yang tidak dapat Anda lakukan dengan Koneksi hibrid

Hal-hal yang tidak dapat Anda lakukan dengan Koneksi hibrid meliputi:

  • Memasang drive.
  • Menggunakan UDP.
  • Mengakses layanan berbasis TCP yang menggunakan port dinamis, seperti Mode Pasif FTP atau Mode Pasif yang Diperpanjang.
  • Mendukung LDAP, karena dapat memerlukan UDP.
  • Mendukung Active Directory, karena Anda tidak dapat bergabung dengan domain pekerja App Service.

Menambahkan dan Membuat Koneksi Hibrid di aplikasi Anda

Untuk membuat Koneksi Hibrid, buka portal Microsoft Azure dan pilih aplikasi Anda. Pilih Jaringan> Mengonfigurasi titik akhir Koneksi Hibrid Anda. Di sini Anda dapat melihat Koneksi Hibrid yang dikonfigurasi untuk aplikasi Anda.

Screenshot of Hybrid Connection list.

Untuk menambahkan Koneksi Hibrid baru, pilih [+] Tambahkan koneksi hibrid. Anda melihat daftar Koneksi hibrid yang sudah Anda buat. Untuk menambahkan satu atau beberapa dari mereka ke aplikasi Anda, pilih yang Anda inginkan, lalu pilih Tambahkan Koneksi Hibrid yang dipilih.

Screenshot of Hybrid Connection portal.

Jika Anda ingin membuat Koneksi Hibrid baru, pilih Buat koneksi hibrid baru. Tentukan:

  • Nama Koneksi Hibrid.
  • Nama host titik akhir.
  • Port titik akhir.
  • Namespace Azure Service Bus yang ingin Anda gunakan.

Screenshot of Create new hybrid connection dialog box.

Setiap Koneksi Hibrid terikat ke namespace Azure Service Bus, dan setiap namespace Azure Service Bus berada di wilayah Azure. Penting untuk mencoba menggunakan namespace Azure Service Bus di wilayah yang sama dengan aplikasi Anda, untuk menghindari latensi yang diinduksi jaringan.

Jika Anda ingin menghapus Koneksi Hibrid dari aplikasi, klik kanan dan pilih Putuskan sambungan.

Saat Koneksi Hibrid ditambahkan ke aplikasi, Anda dapat melihat detailnya hanya dengan memilihnya.

Screenshot of Hybrid connections details.

Membuat Koneksi Hibrid di portal Azure Relay

Selain pengalaman portal dari dalam aplikasi, Anda dapat membuat Koneksi Hibrid dari dalam portal Azure Relay. Agar Koneksi Hibrid dapat digunakan oleh Azure App Service, maka harus:

  • Memerlukan otorisasi klien.
  • Memiliki item metadata dan titik akhir bernama yang berisi kombinasi host:port sebagai nilai.

Paket Koneksi Hibrid dan Azure App Service

Koneksi Hibrid Azure App Service hanya tersedia dalam SKU harga Dasar, Standar, Premium, dan Terisolasi. Koneksi Hibrid tidak tersedia untuk aplikasi fungsi dalam paket Konsumsi. Ada batasan yang terkait dengan paket harga.

Paket harga Jumlah Koneksi Hibrid yang dapat digunakan dalam paket
Dasar 5 per paket
Standard 25 per paket
Premium (v1-v3) 220 per aplikasi
Terisolasi (v1-v2) 220 per aplikasi

UI paket Azure App Service menunjukkan kepada Anda berapa banyak Koneksi Hibrid yang digunakan dan oleh suatu aplikasi.

Screenshot of App Service plan properties.

Pilih Koneksi Hibrid untuk melihat detail. Anda dapat melihat semua informasi yang Anda lihat di tampilan aplikasi. Anda juga dapat melihat berapa banyak aplikasi lain dalam paket yang sama yang menggunakan Koneksi Hibrid tersebut.

Ada batasan jumlah titik akhir Koneksi Hibrid yang dapat digunakan dalam paket App Service. Namun, setiap Koneksi Hibrid yang digunakan dapat digunakan di sejumlah aplikasi dalam paket tersebut. Misalnya, satu Koneksi Hibrid yang digunakan dalam lima aplikasi terpisah dalam paket Azure App Service dihitung sebagai satu Koneksi Hibrid.

Harga

Selain ada persyaratan SKU paket App Service, ada biaya tambahan untuk menggunakan Koneksi ion Hibrid. Ada biaya untuk setiap listener yang digunakan oleh Koneksi Hibrid. Pendengarnya adalah Manajer Koneksi Hibrid. Jika Anda memiliki lima Koneksi Hibrid yang didukung oleh dua Manajer Koneksi Hibrid, itu akan menjadi 10 pendengar. Untuk informasi selengkapnya, lihat Harga Azure Service Bus.

Manajer Koneksi Hibrid

Fitur Koneksi Hibrid memerlukan agen relai dalam jaringan yang menghosting titik akhir Koneksi Hibrid Anda. Agen relai itu disebut Manajer Koneksi Hibrid (HCM). Untuk mengunduh HCM, dari aplikasi Anda di portal Microsoft Azure, pilih Jaringan> Mengonfigurasi titik akhir Koneksi Hibrid Anda.

Alat ini berjalan pada Windows Server 2012 dan yang lebih baru. HCM berjalan sebagai layanan dan menghubungkan keluar ke Azure Relay pada port 443.

Setelah menginstal HCM, Anda dapat HybridConnectionManagerUi.exe untuk menggunakan UI untuk alat ini. Berkas ini ada di dalam direktori pemasangan Manajer Koneksi Hibrid. Di Windows 10, Anda juga bisa mencari UI Manajer Koneksi Hibrid di kotak pencarian Anda.

Screenshot of Hybrid Connection Manager.

Saat Anda memulai UI HCM, hal pertama yang Anda lihat adalah tabel yang mencantumkan semua Koneksi Hibrid yang dikonfigurasi dengan instans HCM ini. Jika Anda ingin membuat perubahan apa pun, pertama-tama otentikasi dengan Azure.

Untuk menambahkan satu atau beberapa Koneksi Hibrid ke HCM Anda:

  1. Mulai UI HCM.

  2. Pilih Tambahkan Koneksi Hibrid baru. Screenshot of Configure New Hybrid Connections.

  3. Masuk dengan akun Azure Anda untuk mendapatkan Koneksi Hibrid Anda tersedia dengan langganan Anda. HCM tidak terus menggunakan akun Azure Anda di luar langkah ini.

  4. Pilih langganan.

  5. Pilih Koneksi Hibrid yang Anda inginkan untuk disampaikan HCM. Screenshot of Hybrid Connections.

  6. Pilih Simpan.

Sekarang Anda dapat melihat Koneksi Hibrid yang Anda tambahkan. Anda juga dapat memilih Koneksi Hibrid yang dikonfigurasi untuk melihat detailnya.

Screenshot of Hybrid Connection Details.

Untuk mendukung Koneksi Hibrid yang dikonfigurasi dengannya, HCM memerlukan:

  • Akses TCP ke Azure melalui port 443.
  • Akses TCP ke titik akhir Koneksi Hibrid.
  • Kemampuan untuk melakukan pencarian DNS pada host titik akhir dan namespace Azure Service Bus. Dengan kata lain, nama host dalam koneksi relai Azure harus dapat diselesaikan dari mesin yang menghosting HCM.

Catatan

Azure Relay mengandalkan Web Socket untuk konektivitas. Kemampuan ini hanya tersedia pada Windows Server 2012 atau yang lebih baru. Karena itu, HCM tidak didukung pada apa pun yang lebih awal dari Windows Server 2012.

Redundansi geografis

Setiap HCM dapat mendukung beberapa Koneksi Hibrid. Selain itu, setiap Koneksi Hibrid yang diberikan dapat didukung oleh beberapa HCM. Perilaku default adalah merutekan lalu lintas melintasi HCM yang dikonfigurasi untuk titik akhir tertentu. Jika Anda menginginkan ketersediaan tinggi pada Koneksi Hibrid dari jaringan, jalankan beberapa HCM pada mesin terpisah. Algoritma distribusi muatan yang digunakan oleh layanan Relay untuk mendistribusikan lalu lintas ke HCM adalah penugasan acak.

Menambahkan Koneksi Hibrid secara manual

Untuk memungkinkan seseorang di luar langganan Anda untuk menghosting instans HCM untuk Koneksi Hibrid tertentu, bagikan string koneksi gateway untuk Koneksi Hibrid dengan mereka. Anda bisa melihat string koneksi gateway di properti Koneksi Hibrid di portal Microsoft Azure. Untuk menggunakan string tersebut, pilih Masukkan Secara Manual di HCM, dan tempelkan di string koneksi gateway.

Manually add a Hybrid Connection.

Peningkatan

Ada pembaruan berkala untuk Manajer Koneksi Hibrid untuk memperbaiki masalah atau memberikan penyempurnaan. Saat peningkatan dirilis, popup muncul di UI HCM. Menerapkan peningkatan menerapkan perubahan dan menghidupkan ulang HCM.

Menambahkan Koneksi Hibrid ke aplikasi Anda secara terprogram

Ada dukungan Azure CLI untuk Koneksi Hibrid. Perintah yang disediakan beroperasi di aplikasi dan tingkat paket Azure App Service. Perintah tingkat aplikasi adalah:

az webapp hybrid-connection

Group
    az webapp hybrid-connection : Methods that list, add and remove hybrid-connections from webapps.
        This command group is in preview. It may be changed/removed in a future release.
Commands:
    add    : Add a hybrid-connection to a webapp.
    list   : List the hybrid-connections on a webapp.
    remove : Remove a hybrid-connection from a webapp.

Perintah paket App Service memungkinkan Anda mengatur kunci mana yang digunakan koneksi hibrid tertentu. Ada dua tombol yang diatur pada setiap Koneksi Hibrid, primer dan sekunder. Anda dapat memilih untuk menggunakan kunci utama atau sekunder dengan perintah di bawah ini. Opsi ini memungkinkan Anda untuk beralih kunci saat Anda ingin meregenerasi kunci Anda secara berkala.

az appservice hybrid-connection --help

Group
    az appservice hybrid-connection : A method that sets the key a hybrid-connection uses.
        This command group is in preview. It may be changed/removed in a future release.
Commands:
    set-key : Set the key that all apps in an appservice plan use to connect to the hybrid-
                connections in that appservice plan.

Mengamankan Koneksi Hibrid Anda

Koneksi Hibrid yang ada dapat ditambahkan ke App Web App Service lainnya oleh pengguna mana pun yang memiliki izin yang memadai pada Relai Azure Service Bus yang mendasarinya. Ini berarti jika Anda harus mencegah orang lain menggunakan kembali Koneksi hibrid yang sama (misalnya ketika sumber daya target adalah layanan yang tidak memiliki langkah-langkah keamanan lain untuk mencegah akses yang tidak sah), Anda harus mengunci akses ke Azure Bus Layanan Relay.

Siapa pun yang memiliki Reader akses ke Relay dapat melihat Koneksi hibrid saat mencoba menambahkannya ke Aplikasi Web mereka di portal Azure, tetapi mereka tidak dapat menambahkannya karena mereka tidak memiliki izin untuk mengambil string koneksi yang digunakan untuk membuat koneksi relai. Agar berhasil menambahkan Koneksi Hibrid, mereka harus memiliki izin listKeys ( Microsoft.Relay/namespaces/hybridConnections/authorizationRules/listKeys/action ). Peran Contributor atau peran lain yang menyertakan izin ini pada Relay memungkinkan pengguna untuk menggunakan Koneksi ion Hibrid dan menambahkannya ke Web Apps mereka sendiri.

Mengelola Koneksi Hibrid

Jika Anda perlu mengubah host titik akhir atau port untuk Koneksi hibrid, ikuti langkah-langkah berikut:

  1. Hapus Koneksi Hibrid dari Pengelola Koneksi Hibrid di komputer lokal dengan memilih koneksi dan memilih Hapus di kiri atas jendela Detail Koneksi Hibrida.
  2. Putuskan sambungan Koneksi Hibrid App Service Anda dengan membuka Koneksi Hibrid di halaman Jaringan App Service.
  3. Buka Relay untuk titik akhir yang perlu diperbarui dan pilih Koneksi Hibrid di bagian Entitas di menu navigasi sebelah kiri.
  4. Pilih Koneksi Hibrid yang ingin diperbarui dan pilih Properti di bagian Pengaturan di menu navigasi sebelah kiri.
  5. Buat perubahan dan tekan Simpan perubahan di bagian atas.
  6. Kembali ke pengaturan Koneksi Hibrid untuk App Service Anda dan tambahkan Koneksi Hibrid lagi. Pastikan titik akhir diperbarui sesuai keinginan. Jika Anda tidak melihat Koneksi Hibrid dalam daftar, refresh dalam 5-10 menit.
  7. Kembali ke Pengelola Koneksi Hibrid di komputer lokal dan tambahkan koneksi lagi.

Pemecahan Masalah

Status "Terhubung" berarti setidaknya satu HCM dikonfigurasi dengan Koneksi Hibrid tersebut, dan dapat mencapai Azure. Jika status Koneksi Hibrid Anda tidak menampilkan Terhubung, Koneksi Hibrid Anda tidak dikonfigurasi di HCM apa pun yang memiliki akses ke Azure. Saat HCM Anda menunjukkan Tidak Koneksi, ada beberapa hal yang perlu diperiksa:

  • Apakah tuan rumah Anda memiliki akses keluar ke Azure pada port 443? Anda dapat menguji dari host HCM Anda menggunakan perintah PowerShell Test-NetConnection Destination -P Port

  • Apakah HCM Anda berpotensi dalam keadaan buruk? Coba mulai ulang layanan lokal 'Layanan Manajer Koneksi Hibrid Azure".

  • Apakah Anda memiliki perangkat lunak berkonflik yang terinstal? Hybrid Pengelola Sambungan tidak dapat hidup berdampingan dengan Biztalk Hybrid Pengelola Sambungan atau Bus Layanan untuk Windows Server. Saat Anda menginstal HCM, versi apa pun dari paket ini harus dihapus terlebih dahulu.

  • Apakah Anda memiliki firewall antara host HCM dan Azure? Jika demikian, Anda perlu mengizinkan akses keluar ke URL titik akhir Bus Layanan DAN gateway Bus Layanan yang melayani Koneksi Hibrid Anda.

    • Anda dapat menemukan URL titik akhir Bus Layanan di antarmuka pengguna hybrid Pengelola Sambungan.

    Screenshot of Hybrid Connection Service Bus endpoint.

    • Gateway Bus Layanan adalah sumber daya yang menerima permintaan ke dalam Koneksi hibrid dan meneruskannya melalui Azure Relay. Anda perlu mengizinkan 128 gateway. Gateway dalam format G#-prod-[stamp]-sb.servicebus.windows.net di mana "#" adalah angka antara 0 dan 127 dan "stempel" adalah nama instans dalam pusat data Azure Anda tempat titik akhir Bus Layanan Anda berada.
      • Jika Anda dapat menggunakan kartubebas, Anda dapat mengizinkan daftar "*.servicebus.windows.net".

      • Jika Anda tidak dapat menggunakan kartubebas, Anda harus mengizinkan daftar semua 128 gateway.

        Anda dapat mengetahui stempel menggunakan "nslookup" di URL titik akhir Bus Layanan.

        Screenshot of terminal showing where to find the stamp name for the Service Bus.

        Dalam contoh ini, stempelnya adalah "sn3-010". Untuk mengizinkan gateway Bus Layanan, Anda memerlukan entri berikut:

        G0-prod-sn3-010-sb.servicebus.windows.net
        G1-prod-sn3-010-sb.servicebus.windows.net
        G2-prod-sn3-010-sb.servicebus.windows.net
        G3-prod-sn3-010-sb.servicebus.windows.net
        ...
        G126-prod-sn3-010-sb.servicebus.windows.net
        G127-prod-sn3-010-sb.servicebus.windows.net

Jika status Anda mengatakan Koneksi tetapi aplikasi Anda tidak dapat mencapai titik akhir Anda, maka:

  • Pastikan Anda menggunakan nama DNS di Koneksi hibrid Anda. Jika Anda menggunakan alamat IP, maka pencarian DNS klien yang diperlukan mungkin tidak terjadi. Jika klien yang berjalan di aplikasi web Anda tidak melakukan pencarian DNS, maka hybrid Koneksi ion tidak berfungsi.
  • Periksa apakah nama DNS yang digunakan dalam Koneksi Hibrid Anda dapat diselesaikan dari host HCM. Periksa resolusi menggunakan nslookup EndpointDNSname di mana EndpointDNSname sama persis dengan apa yang digunakan dalam definisi Koneksi Hibrid Anda.
  • Uji akses dari host HCM Anda ke titik akhir Anda menggunakan perintah PowerShell Test-Net Koneksi ion EndpointDNSname -P Port Jika Anda tidak dapat mencapai titik akhir dari host HCM Anda, maka periksa firewall antara kedua host termasuk firewall berbasis host apa pun di host tujuan.
  • Jika Anda menggunakan App Service di Linux, pastikan Anda tidak menggunakan "localhost" sebagai host titik akhir Anda. Sebagai gantinya, gunakan nama mesin Anda jika Anda mencoba membuat koneksi dengan sumber daya di mesin lokal Anda.

Di Azure App Service, alat command line tcpping dapat dipanggil dari konsol Advanced Tools (Kudu). Alat ini dapat menginformasikan apakah Anda memiliki akses ke titik akhir TCP, tetapi tidak memberi tahu Anda apakah Anda memiliki akses ke titik akhir Koneksi Hibrid. Jika Anda menggunakan alat di konsol terhadap titik akhir Koneksi Hibrid, Anda hanya perlu mengonfirmasi bahwa alat ini menggunakan kombinasi host:port.

Jika memiliki klien command line untuk endpoint, Anda dapat menguji konektivitas dari konsol aplikasi. Misalnya, Anda dapat menguji akses ke endpoint server web dengan menggunakan curl.