Menggunakan titik akhir privat untuk aplikasi App Service
Catatan
Mulai 1 Juni 2024, aplikasi App Service yang baru dibuat dapat menghasilkan nama host default unik yang menggunakan konvensi <app-name>-<random-hash>.<region>.azurewebsites.net
penamaan . Nama aplikasi yang ada tetap tidak berubah. Contohnya:
myapp-ds27dh7271aah175.westus-01.azurewebsites.net
Untuk informasi selengkapnya, lihat Nama Host Default Unik untuk Sumber Daya App Service.
Penting
Titik akhir privat tersedia untuk aplikasi Windows dan Linux, dikontainerisasi atau tidak, dihosting pada paket App Service ini: Dasar, Standar, PremiumV2, PremiumV3, IsolatedV2, Functions Premium (terkadang disebut paket Elastic Premium).
Anda dapat menggunakan titik akhir privat untuk aplikasi App Service Anda. Titik akhir privat memungkinkan klien yang terletak di jaringan privat Anda untuk mengakses aplikasi dengan aman melalui Azure Private Link. Titik akhir privat menggunakan alamat IP dari ruang alamat jaringan virtual Azure Anda. Lalu lintas jaringan antara klien di jaringan privat Anda dan aplikasi melintasi jaringan virtual dan Private Link di jaringan backbone Microsoft. Konfigurasi ini menghilangkan paparan dari Internet publik.
Menggunakan titik akhir privat untuk aplikasi memungkinkan Anda untuk:
- Amankan aplikasi Anda dengan mengonfigurasi titik akhir privat dan menonaktifkan akses jaringan publik untuk menghilangkan paparan publik.
- Sambungkan dengan aman ke aplikasi Anda dari jaringan lokal yang terhubung ke jaringan virtual menggunakan VPN atau peering privat ExpressRoute.
- Menghindari penyelundupan data apa pun dari jaringan virtual Anda.
Ringkasan konseptual
Titik akhir privat adalah antarmuka jaringan khusus (NIC) untuk aplikasi App Service Anda di subnet di jaringan virtual Anda. Saat Anda membuat titik akhir privat untuk aplikasi, titik akhir tersebut menyediakan konektivitas yang aman antara klien di jaringan privat dan aplikasi Anda. Titik akhir privat diberi Alamat IP dari rentang alamat IP jaringan virtual Anda. Koneksi antara titik akhir privat dan aplikasi menggunakan Private Link yang aman. Titik akhir privat hanya digunakan untuk lalu lintas masuk ke aplikasi Anda. Lalu lintas keluar tidak menggunakan titik akhir privat ini. Anda dapat menyuntikkan lalu lintas keluar ke jaringan Anda di subnet yang berbeda melalui fitur integrasi jaringan virtual.
Setiap slot aplikasi dikonfigurasi secara terpisah. Anda dapat menggunakan hingga 100 titik akhir privat per slot. Anda tidak dapat berbagi titik akhir privat antar slot. Nama sub sumber daya slot adalah sites-<slot-name>
.
Subnet tempat Anda menyambungkan titik akhir privat dapat memiliki sumber daya lain di dalamnya. Anda tidak memerlukan subnet kosong khusus. Anda juga dapat menyebarkan titik akhir privat di wilayah yang berbeda dari aplikasi Anda.
Catatan
Fitur integrasi jaringan virtual tidak dapat menggunakan subnet yang sama dengan titik akhir privat.
Dari perspektif keamanan:
- Titik akhir privat dan akses publik dapat hidup berdampingan di aplikasi. Untuk informasi selengkapnya, lihat gambaran umum pembatasan akses ini.
- Untuk memastikan isolasi, saat Anda mengaktifkan titik akhir privat ke aplikasi, pastikan akses jaringan publik dinonaktifkan.
- Anda dapat mengaktifkan beberapa titik akhir privat di jaringan virtual dan subnet lain, termasuk jaringan virtual di wilayah lain.
- Aturan pembatasan akses aplikasi Anda tidak dievaluasi untuk lalu lintas melalui titik akhir privat.
- Anda dapat menghilangkan risiko penyelundupan data dari jaringan virtual dengan menghapus semua aturan Network Security Group (NSG) di mana tujuannya adalah tag layanan Internet atau Azure.
Di log HTTP Web aplikasi Anda, Anda menemukan IP sumber klien. Fitur ini diimplementasikan menggunakan protokol Proksi TCP, meneruskan properti IP klien hingga aplikasi. Untuk informasi selengkapnya, lihat Mendapatkan informasi koneksi menggunakan TCP Proxy v2.
DNS
Saat Anda menggunakan titik akhir privat untuk aplikasi App Service, URL yang diminta harus sesuai dengan nama aplikasi Anda. Secara default, <app-name>.azurewebsites.net
. Saat Anda menggunakan nama host default yang unik, nama aplikasi Anda memiliki format <app-name>-<random-hash>.<region>.azurewebsites.net
. Dalam contoh berikut, mywebapp juga dapat mewakili nama host unik regional penuh.
Secara default, tanpa titik akhir privat, nama publik aplikasi web Anda adalah nama kanonis ke kluster. Misalnya, resolusi nama adalah:
Nama | Jenis | Nilai |
---|---|---|
mywebapp.azurewebsites.net | CNAME | clustername.azurewebsites.windows.net |
clustername.azurewebsites.windows.net | CNAME | cloudservicename.cloudapp.net |
cloudservicename.cloudapp.net | A | 192.0.2.13 |
Saat Anda menyebarkan titik akhir privat, pendekatan memperbarui entri DNS untuk menunjuk ke nama kanonis: mywebapp.privatelink.azurewebsites.net
.
Misalnya, resolusi nama adalah:
Nama | Jenis | Nilai | Komentar |
---|---|---|---|
mywebapp.azurewebsites.net | CNAME | mywebapp.privatelink.azurewebsites.net | |
mywebapp.privatelink.azurewebsites.net | CNAME | clustername.azurewebsites.windows.net | |
clustername.azurewebsites.windows.net | CNAME | cloudservicename.cloudapp.net | |
cloudservicename.cloudapp.net | A | 192.0.2.13 | <--IP publik ini bukan titik akhir privat Anda, Anda menerima kesalahan 403 |
Anda harus menyiapkan server DNS privat atau zona privat Azure DNS. Untuk pengujian, Anda dapat memodifikasi entri host komputer pengujian Anda.
Zona DNS yang perlu Anda buat adalah: privatelink.azurewebsites.net
. Daftarkan catatan untuk aplikasi Anda dengan catatan A dan IP titik akhir privat.
Misalnya, resolusi nama adalah:
Nama | Jenis | Nilai | Komentar |
---|---|---|---|
mywebapp.azurewebsites.net | CNAME | mywebapp.privatelink.azurewebsites.net | <--Azure membuat entri CNAME ini di Azure Public DNS untuk mengarahkan alamat aplikasi ke alamat titik akhir privat |
mywebapp.privatelink.azurewebsites.net | A | 10.10.10.8 | <--Anda mengelola entri ini di sistem DNS Anda untuk menunjuk ke alamat IP titik akhir privat Anda |
Setelah konfigurasi DNS ini, Anda dapat menjangkau aplikasi Anda secara privat dengan nama default mywebapp.azurewebsites.net. Anda harus menggunakan nama ini, karena sertifikat default dikeluarkan untuk *.azurewebsites.net
.
Jika Anda perlu menggunakan nama DNS kustom, tambahkan nama kustom di aplikasi Anda dan Anda harus memvalidasi nama kustom seperti nama kustom apa pun, menggunakan resolusi DNS publik. Untuk informasi selengkapnya, lihat validasi DNS kustom.
Untuk konsol Kudu, atau Kudu REST API (penyebaran dengan agen yang dihost sendiri Azure DevOps Services, misalnya) Anda harus membuat dua rekaman yang menunjuk ke IP titik akhir privat di zona privat Azure DNS atau server DNS kustom Anda. Yang pertama adalah untuk aplikasi Anda dan yang kedua adalah untuk SCM aplikasi Anda.
Nama | Jenis | Nilai |
---|---|---|
mywebapp.privatelink.azurewebsites.net | A | PrivateEndpointIP |
mywebapp.scm.privatelink.azurewebsites.net | A | PrivateEndpointIP |
Pertimbangan khusus Lingkungan Azure App Service v3
Untuk mengaktifkan titik akhir privat untuk aplikasi yang dihosting dalam paket IsolatedV2 (App Service Environment v3), aktifkan dukungan titik akhir privat di tingkat Lingkungan App Service. Anda dapat mengaktifkan fitur oleh portal Microsoft Azure di panel konfigurasi Lingkungan Azure App Service, atau melalui CLI berikut:
az appservice ase update --name myasename --allow-new-private-endpoint-connections true
Persyaratan khusus
Jika jaringan virtual berada dalam langganan yang berbeda dari aplikasi, pastikan langganan dengan jaringan virtual terdaftar untuk Microsoft.Web
penyedia sumber daya. Untuk mendaftarkan penyedia secara eksplisit, lihat Mendaftarkan penyedia sumber daya. Anda secara otomatis mendaftarkan penyedia saat membuat aplikasi web pertama dalam langganan.
Harga
Untuk detail harga, lihat Harga Azure Private Link.
Batasan
- Saat Anda menggunakan Azure Function dalam paket Elastic Premium dengan titik akhir privat, untuk menjalankan fungsi di portal Azure, Anda harus memiliki akses jaringan langsung. Jika tidak, Anda menerima kesalahan HTTP 403. Browser Anda harus dapat menjangkau titik akhir privat untuk menjalankan fungsi dari portal Azure.
- Anda dapat menyambungkan hingga 100 titik akhir privat ke aplikasi tertentu.
- Fungsionalitas Penelusuran Kesalahan Jarak Jauh tidak tersedia melalui titik akhir privat. Kami menyarankan agar Anda menyebarkan kode ke slot dan debug jarak jauh di sana.
- Akses FTP disediakan melalui alamat IP publik masuk. Titik akhir privat tidak mendukung akses FTP ke aplikasi.
- TLS Berbasis IP tidak didukung dengan titik akhir privat.
- Aplikasi yang Anda konfigurasi dengan titik akhir privat tidak dapat menerima lalu lintas publik yang berasal dari subnet dengan
Microsoft.Web
titik akhir layanan diaktifkan dan tidak dapat menggunakan aturan pembatasan akses berbasis titik akhir layanan. - Penamaan titik akhir privat harus mengikuti aturan yang ditentukan untuk sumber daya jenis
Microsoft.Network/privateEndpoints
. Untuk informasi selengkapnya, lihat Memberi nama aturan dan batasan.
Untuk informasi terbaru tentang batasan, lihat Batasan.
Konten terkait
- Untuk menyebarkan titik akhir privat untuk aplikasi Anda melalui portal, lihat Cara menyambungkan secara privat ke aplikasi dengan portal Azure.
- Untuk menyebarkan titik akhir privat untuk aplikasi Anda menggunakan Azure CLI, lihat Cara menyambungkan secara privat ke aplikasi dengan Azure CLI.
- Untuk menyebarkan titik akhir privat untuk aplikasi Anda menggunakan PowerShell, lihat Cara menyambungkan secara privat ke aplikasi dengan PowerShell.
- Untuk menyebarkan titik akhir privat untuk aplikasi Anda menggunakan templat Azure, lihat Cara menyambungkan secara privat ke aplikasi dengan templat Azure.
- Untuk melihat contoh end-to-end tentang cara menyambungkan aplikasi frontend ke aplikasi backend aman dengan integrasi jaringan virtual dan titik akhir privat dengan templat ARM, lihat mulai cepat ini.
- Untuk melihat contoh end-to-end tentang cara menyambungkan aplikasi frontend ke aplikasi backend aman dengan integrasi jaringan virtual dan titik akhir privat dengan terraform, lihat sampel ini.