Menggunakan konfigurasi DNS split-brain untuk menghosting aplikasi web di Azure

Azure Front Door
Azure Application Gateway
Azure ExpressRoute
Azure DNS

Tim yang mengelola beban kerja sering mengandalkan nama domain (FQDN) yang sepenuhnya memenuhi syarat untuk akses pelanggan. FQDN biasanya dikombinasikan dengan Indikasi Nama Server (SNI) Keamanan Lapisan Transportasi (TLS). Dengan pendekatan ini, ketika pelanggan publik mengakses beban kerja dari internet publik atau pelanggan perusahaan mengakses beban kerja secara internal, perutean ke aplikasi mungkin mengikuti jalur tetap dan memiliki berbagai tingkat keamanan atau kualitas layanan (QoS).

Arsitektur berikut menunjukkan pendekatan untuk membedakan bagaimana lalu lintas diperlakukan berdasarkan Sistem Nama Domain (DNS) dan apakah pelanggan berasal dari internet atau dari jaringan perusahaan.

Sistem

Diagram arsitektur hosting aplikasi.

Unduh file Visio arsitektur ini.

Bagian alur kerja berikut menjelaskan dua konfigurasi: alur kerja internet publik dan alur kerja privat. Gabungkan dua alur kerja untuk mengimplementasikan arsitektur hosting split-brain.

Alur kerja internet publik

Diagram alur kerja internet publik.

Unduh file Visio arsitektur ini.

  1. Pelanggan mengirim permintaan untuk app.contoso.com aplikasi melalui internet publik.

  2. Zona Azure DNS dikonfigurasi untuk domain contoso.com. Entri nama kanonis (CNAME) yang sesuai dikonfigurasi untuk titik akhir Azure Front Door.

  3. Pelanggan eksternal mengakses aplikasi web melalui Azure Front Door, yang berfungsi sebagai penyeimbang beban global dan firewall aplikasi web (WAF).

    • Dalam Azure Front Door, app.contoso.com ditetapkan sebagai FQDN melalui rute pada titik akhir yang dikonfigurasi. Azure Front Door juga menghosting sertifikat TLS SNI untuk aplikasi.

      Catatan

      Azure Front Door tidak mendukung sertifikat yang ditandatangani sendiri.

    • Azure Front Door merutekan permintaan ke grup asal yang dikonfigurasi berdasarkan header HTTP pelanggan Host .

    • Grup asal dikonfigurasi untuk menunjuk ke instans Azure Application Gateway melalui alamat IP publik Application Gateway.

  4. Grup keamanan jaringan (NSG) dikonfigurasi pada subnet AppGW untuk memungkinkan akses masuk pada port 80 dan port 443 dari tag layanan AzureFrontDoor.Backend. NSG tidak mengizinkan lalu lintas masuk pada port 80 dan port 443 dari tag layanan internet.

    Catatan

    Tag layanan AzureFrontDoor.Backend tidak membatasi lalu lintas hanya untuk instans Azure Front Door Anda . Validasi terjadi pada tahap berikutnya.

  5. Instans Application Gateway memiliki pendengar di port 443. Lalu lintas dirutekan ke ujung belakang berdasarkan nama host yang ditentukan dalam pendengar.

    • Untuk memastikan bahwa lalu lintas berasal dari profil Azure Front Door Anda , konfigurasikan aturan WAF kustom untuk memeriksa X-Azure-FDID nilai header.

    • Azure menghasilkan pengidentifikasi unik untuk setiap profil Azure Front Door. Pengidentifikasi unik adalah nilai ID Front Door yang terletak di halaman gambaran umum portal Azure.

  6. Lalu lintas mencapai sumber daya komputasi yang dikonfigurasi sebagai kumpulan back-end di Application Gateway.

Alur kerja perusahaan privat

Diagram alur kerja perusahaan privat.

Unduh file Visio arsitektur ini.

  1. Pelanggan memulai permintaan aplikasi app.contoso.com dari lingkungan lokal.

  2. FQDN Aplikasi dikonfigurasi pada penyedia DNS lokal. Penyedia DNS ini bisa menjadi server DNS Windows Server Active Directory lokal atau solusi mitra lainnya. Entri DNS untuk setiap FQDN aplikasi dikonfigurasi untuk menunjuk ke alamat IP privat instans Application Gateway.

  3. Sirkuit Azure ExpressRoute atau VPN situs-ke-situs memfasilitasi akses ke Application Gateway.

  4. NSG dikonfigurasi pada subnet AppGW untuk memungkinkan permintaan privat masuk dari jaringan pelanggan lokal tempat asal lalu lintas. Konfigurasi ini memastikan bahwa sumber lalu lintas privat lainnya tidak dapat langsung menjangkau alamat IP privat Application Gateway.

  5. Application Gateway memiliki listener yang dikonfigurasi pada port 80 dan port 443. Lalu lintas dirutekan ke ujung belakang berdasarkan nama host yang ditentukan dalam pendengar.

  6. Hanya lalu lintas jaringan privat yang mencapai komputasi yang dikonfigurasi sebagai kumpulan back-end di Application Gateway.

Komponen

  • DNS: Untuk alur kerja internet publik, Anda harus mengonfigurasi zona Azure DNS publik dengan CNAME yang tepat dari FQDN titik akhir Azure Front Door. Di sisi privat (perusahaan), konfigurasikan penyedia DNS lokal (DNS Direktori Aktif Windows Server atau solusi mitra) untuk mengarahkan setiap FQDN aplikasi ke alamat IP privat Application Gateway.

  • Azure DNS Private Resolver: Anda dapat menggunakan DNS Private Resolver untuk resolusi pelanggan lokal. Pelanggan perusahaan dapat menggunakan solusi DNS split-brain ini untuk mendapatkan akses ke aplikasi tanpa melintas internet publik.

  • Azure Front Door: Azure Front Door adalah penyeimbang beban global dan WAF yang menyediakan pengiriman aplikasi web yang cepat dan aman kepada pelanggan di seluruh dunia. Dalam arsitektur ini, Azure Front Door merutekan pelanggan eksternal ke instans Application Gateway dan menyediakan opsi penembolokan dan pengoptimalan untuk meningkatkan pengalaman pelanggan.

  • Application Gateway: Application Gateway adalah penyeimbang beban regional dan WAF yang menyediakan ketersediaan tinggi, skalabilitas, dan keamanan untuk aplikasi web. Dalam arsitektur ini, Application Gateway merutekan permintaan pelanggan eksternal dan internal ke komputasi back-end dan melindungi aplikasi web dari serangan web umum.

    Azure Front Door dan Application Gateway menyediakan kemampuan WAF, tetapi alur kerja privat dalam solusi ini tidak menggunakan Azure Front Door. Oleh karena itu, kedua arsitektur menggunakan fungsionalitas WAF Application Gateway.

  • ExpressRoute: Anda dapat menggunakan ExpressRoute untuk memperluas jaringan lokal Anda ke Microsoft Cloud melalui koneksi privat, dengan bantuan penyedia konektivitas. Dalam arsitektur ini, Anda dapat menggunakan ExpressRoute untuk memfasilitasi konektivitas privat ke Application Gateway untuk pelanggan lokal.

Alternatif

Sebagai solusi alternatif, Anda dapat menghapus Azure Front Door dan sebaliknya mengarahkan catatan Azure DNS publik ke alamat IP publik Application Gateway. Berdasarkan persyaratan arsitektur ini, Anda harus melakukan penembolokan dan pengoptimalan di titik masuk ke Azure. Oleh karena itu, solusi alternatif bukanlah opsi untuk skenario ini. Untuk informasi selengkapnya, lihat Pengoptimalan biaya.

Diagram arsitektur hosting DNS split-brain alternatif.

Unduh file Visio arsitektur ini.

Alternatif lain yang mungkin untuk lalu lintas masuk publik dalam arsitektur ini meliputi:

  • Azure Traffic Manager: Traffic Manager adalah layanan perutean lalu lintas berbasis DNS yang mendistribusikan lalu lintas di berbagai wilayah dan titik akhir. Anda dapat menggunakan Traffic Manager alih-alih Azure Front Door untuk merutekan pelanggan eksternal ke instans Application Gateway terdekat. Namun, Azure Front Door menyediakan fitur, seperti kemampuan WAF, penembolokan, dan afinitas sesi. Traffic Manager tidak menyediakan fitur-fitur ini.

  • Azure Load Balancer: Azure Load Balancer adalah penyeimbang beban jaringan yang menyediakan ketersediaan tinggi dan skalabilitas untuk lalu lintas Protokol Kontrol Transmisi (TCP) dan Protokol Datagram Pengguna (UDP). Anda dapat menggunakan Load Balancer alih-alih Application Gateway untuk merutekan permintaan pelanggan eksternal dan internal ke server web back-end. Namun, Application Gateway menyediakan fitur, seperti kemampuan WAF, penghentian Secure Sockets Layer (SSL), dan afinitas sesi berbasis cookie. Load Balancer tidak menyediakan fitur-fitur ini.

Detail skenario

Skenario ini memecahkan masalah hosting aplikasi web yang melayani pelanggan eksternal dan internal. Arsitektur ini memastikan bahwa lalu lintas mengikuti jalur yang sesuai berdasarkan asal pelanggan. Arsitektur ini:

  • Menyediakan akses yang cepat dan andal melalui internet ke aplikasi web untuk pelanggan non-perusahaan di seluruh dunia.

  • Memberi pelanggan perusahaan kemampuan untuk mengakses aplikasi tanpa melintas internet publik.

  • Melindungi aplikasi web dari serangan web umum dan lalu lintas berbahaya.

Kemungkinan kasus penggunaan

Gunakan arsitektur ini untuk skenario yang memerlukan:

  • DNS split-brain: Solusi ini menggunakan Azure Front Door untuk pelanggan eksternal dan Application Gateway untuk pelanggan internal, dengan catatan DNS yang berbeda untuk setiap layanan. Pendekatan ini membantu mengoptimalkan performa, keamanan, dan ketersediaan jaringan untuk berbagai pelanggan.

  • Skalabilitas aplikasi: Solusi ini menggunakan Application Gateway, yang dapat mendistribusikan lalu lintas di antara sumber daya komputasi back-end yang dikonfigurasi. Pendekatan ini membantu meningkatkan performa dan ketersediaan aplikasi serta mendukung penskalakan horizontal.

Pertimbangan

Pertimbangan ini mengimplementasikan pilar Azure Well-Architected Framework, yang merupakan serangkaian tenet panduan yang dapat digunakan untuk meningkatkan kualitas beban kerja. Untuk informasi selengkapnya, lihat Microsoft Azure Well-Architected Framework.

Keandalan

Keandalan memastikan aplikasi Anda dapat mencapai komitmen yang Anda buat kepada pelanggan Anda. Untuk informasi selengkapnya, lihat Daftar periksa tinjauan desain untuk Keandalan.

  • Identifikasi titik kegagalan: Dalam arsitektur DNS split-brain ini, keandalan engsel pada fungsi komponen utama yang benar, seperti Azure Front Door, Application Gateway, dan konfigurasi DNS. Anda harus mengidentifikasi potensi titik kegagalan, seperti kesalahan konfigurasi, masalah sertifikat SSL, atau kelebihan kapasitas.

  • Menilai dampak: Anda harus menilai dampak kegagalan. Untuk pelanggan eksternal, gangguan apa pun pada Azure Front Door, yang berfungsi sebagai gateway, dapat memengaruhi akses global. Untuk pelanggan internal, gangguan apa pun pada Application Gateway dapat menghambat operasi perusahaan.

  • Menerapkan strategi mitigasi: Untuk mengurangi risiko, menerapkan redundansi di beberapa zona ketersediaan, gunakan pemeriksaan kesehatan untuk pemantauan real time, dan pastikan konfigurasi perutean DNS yang benar untuk lalu lintas eksternal dan internal. Pastikan Anda memperbarui catatan DNS secara teratur dan memiliki rencana pemulihan bencana.

  • Pantau terus menerus: Untuk mengawasi kesehatan sistem Anda secara waspada, gunakan fitur Azure Monitor. Siapkan pemberitahuan untuk anomali dan siapkan rencana respons insiden untuk segera mengatasi potensi masalah.

Patuhi prinsip-prinsip ini untuk memastikan sistem yang kuat dan andal yang dapat menahan tantangan dan menjaga kelangsungan layanan.

Keamanan

Keamanan memberikan jaminan terhadap serangan yang disukai dan penyalahgunaan data dan sistem berharga Anda. Untuk informasi selengkapnya, lihat Daftar periksa tinjauan desain untuk Keamanan.

  • Gunakan pendekatan Zero Trust: Dalam penyiapan DNS split-brain, terapkan pendekatan Zero Trust . Verifikasi identitas pelanggan secara eksplisit, apakah mereka berasal dari internet atau jaringan perusahaan. Pendekatan ini memastikan bahwa hanya entitas tepercaya yang melakukan tindakan resmi.

  • Implementasi: Terapkan ID Microsoft Entra untuk manajemen identitas yang kuat. Gunakan kebijakan Microsoft Entra Conditional Access untuk menerapkan kontrol akses yang ketat berdasarkan konteks pelanggan, kesehatan perangkat, dan lokasi.

  • Menilai kemanjuran keamanan: Mengevaluasi efektivitas langkah-langkah keamanan untuk beban kerja akses ganda Anda dengan menerapkan:

    • Investasi defensif: Secara teratur menilai efektivitas Azure Front Door dan Application Gateway. Pastikan mereka memberikan perlindungan yang bermakna terhadap ancaman.

    • Pembatasan radius ledakan: Pastikan Anda berisi pelanggaran keamanan dalam cakupan terbatas. Misalnya, secara efektif mengisolasi arus lalu lintas eksternal dan internal.

  • Asumsikan pelanggaran: Mengakui bahwa penyerang dapat melanggar kontrol keamanan. Bersiaplah untuk skenario tersebut.

  • Menerapkan langkah-langkah keamanan: Menerapkan segmentasi jaringan, segmentasi mikro, dan NSG. Asumsikan bahwa penyerang mungkin mendapatkan akses, dan merancang kontrol kompensasi yang sesuai.

Integrasikan prinsip keamanan ini ke dalam arsitektur DNS split-brain Anda untuk menciptakan sistem yang kuat dan tangguh yang melindungi akses internal dan eksternal ke beban kerja Anda.

Peningkatan keamanan lainnya

  • Application Gateway: Anda dapat menggunakan WAF di Application Gateway untuk melindungi aplikasi web Anda dari kerentanan dan eksploitasi web umum. Anda juga dapat menggunakan Azure Private Link untuk mengakses server aplikasi back-end Anda dengan aman dari Application Gateway tanpa mengeksposnya ke internet publik.

  • Azure Firewall: Anda dapat menambahkan firewall Azure ke jaringan virtual hub dan menggunakan inteligensi ancaman Azure Firewall untuk memblokir lalu lintas berbahaya dari alamat IP dan domain berbahaya yang diketahui. Anda juga dapat menggunakan Azure Firewall sebagai proksi DNS untuk mencegat dan memeriksa lalu lintas DNS dan menerapkan aturan pemfilteran DNS.

  • Azure Front Door: Anda dapat menggunakan Azure Web Application Firewall untuk melindungi aplikasi web Anda dari kerentanan dan eksploitasi web umum di tepi. Anda juga dapat menggunakan Private Link dengan tingkat Azure Front Door Premium untuk mengakses server aplikasi back-end Anda dengan aman dari Azure Front Door tanpa mengeksposnya ke internet publik.

Pengoptimalan biaya

Optimalisasi biaya adalah tentang mencari cara untuk mengurangi pengeluaran yang tidak perlu dan meningkatkan efisiensi operasional. Untuk informasi selengkapnya, lihat Daftar periksa tinjauan desain untuk Pengoptimalan Biaya.

  • Komputasi back-end: Banyak faktor, seperti pemilihan SKU, jumlah replika, dan wilayah, mendorong biaya menjalankan layanan komputasi back-end. Pastikan Anda mempertimbangkan semua elemen sumber daya komputasi sebelum memilih opsi terbaik untuk beban kerja Anda.

  • Application Gateway: Biaya Application Gateway bergantung pada jumlah instans, ukuran instans, dan jumlah data yang diproses. Anda dapat mengoptimalkan biaya dengan menggunakan penskalaan otomatis untuk menyesuaikan jumlah instans berdasarkan permintaan lalu lintas. Anda juga dapat menyebarkan SKU zona-redundan di seluruh zona ketersediaan untuk mengurangi kebutuhan instans tambahan untuk ketersediaan tinggi.

  • Azure Front Door: Biaya Azure Front Door tergantung pada jumlah aturan perutean, jumlah permintaan HTTP atau HTTPS, dan jumlah data yang ditransfer. Anda dapat menggunakan tingkat Azure Front Door Standard atau tingkat Premium untuk mendapatkan pengalaman terpadu dengan Azure Content Delivery Network, Azure Web Application Firewall, dan Private Link. Anda juga dapat menggunakan fitur mesin aturan Azure Front Door untuk menyesuaikan manajemen lalu lintas dan mengoptimalkan performa dan biaya.

    Jika skenario Anda tidak memerlukan akses global atau fitur tambahan Azure Front Door, Anda dapat menggunakan solusi ini hanya dengan Application Gateway. Anda bisa mengarahkan semua catatan DNS publik ke alamat IP publik yang dikonfigurasi pada pendengar Application Gateway.

Lihat contoh solusi ini yang mempertanyakan penggunaan umum komponen dalam arsitektur ini. Sesuaikan biaya agar sesuai dengan skenario Anda.

Kontributor

Artikel ini dikelola oleh Microsoft. Ini awalnya ditulis oleh kontributor berikut.

Penulis utama:

Kontributor lain:

Untuk melihat profil LinkedIn non-publik, masuk ke LinkedIn.

Langkah berikutnya