Merancang dan mengonfigurasi Azure Front Door

Selesai

Azure Front Door adalah Content Delivery Network cloud modern Microsoft (CDN) yang menyediakan akses cepat, andal, dan aman antara pengguna Anda dan konten web statis dan dinamis aplikasi Anda di seluruh dunia. Azure Front Door mengirimkan konten Anda menggunakan jaringan tepi global Microsoft dengan ratusan POP global dan yang didistribusikan di seluruh dunia dekat dengan pengguna akhir perusahaan dan konsumen Anda.

Banyak organisasi memiliki aplikasi yang ingin mereka sediakan bagi pelanggan, pemasok, dan hampir pasti penggunanya. Bagian yang sulit adalah memastikan aplikasi tersebut sangat tersedia. Selain itu, mereka harus dapat merespons dengan cepat sambil diamankan dengan tepat. Azure Front Door menyediakan SKU (tingkat harga) yang berbeda yang memenuhi persyaratan ini. Mari kita tinjau secara singkat fitur dan manfaat SKU ini agar Anda dapat menentukan opsi mana yang paling sesuai dengan kebutuhan Anda.

Azure Front Door layout diagram

CDN cloud modern yang aman menyediakan platform server terdistribusi. Ini membantu meminimalkan latensi ketika pengguna mengakses halaman web. Secara historis, staf TI mungkin telah menggunakan CDN dan firewall aplikasi web untuk mengontrol lalu lintas HTTP dan HTTPS yang mengalir ke dan dari aplikasi target.

Jika organisasi menggunakan Azure, mereka mungkin mencapai tujuan ini dengan menerapkan produk yang dijelaskan dalam tabel berikut

Produk Keterangan
Azure Front Door Mengaktifkan titik masuk ke aplikasi Anda yang berada di jaringan sekitar global Microsoft. Menyediakan akses yang lebih cepat, lebih aman, dan dapat diskalakan ke aplikasi web Anda.
Jaringan Pengiriman Konten Azure Mengirimkan konten bandwidth tinggi kepada pengguna Anda dengan mem-cache konten mereka di simpul fisik yang ditempatkan secara strategis di seluruh dunia.
Azure Web Application Firewall Membantu memberikan perlindungan terpusat dan lebih besar untuk aplikasi web dari eksploitasi dan kerentanan umum.

Perbandingan tingkat Azure Front Door

Azure Front Door ditawarkan dalam 2 tingkatan berbeda, Azure Front Door Standard dan Azure Front Door Premium. Azure Front Door Standard dan Premium tier menggabungkan kemampuan Azure Front Door (klasik), Azure CDN Standard dari Microsoft (klasik), dan Azure WAF ke dalam satu platform CDN cloud aman dengan perlindungan ancaman cerdas. Azure Front Door berada di lokasi tepi dan mengelola permintaan pengguna ke aplikasi yang dihosting. Pengguna terhubung ke aplikasi Anda melalui jaringan global Microsoft. Azure Front Door kemudian mengarahkan permintaan pengguna ke backend aplikasi tercepat dan paling tersedia.

Untuk perbandingan fitur yang didukung di Azure Front Door, Tinjau tabel perbandingan fitur.

Membuat Front Door di portal Azure

Tinjau Mulai Cepat berikut ini untuk mempelajari cara membuat profil Azure Front Door menggunakan portal Azure. Anda dapat membuat profil Azure Front Door melalui Buat Cepat dengan konfigurasi dasar atau melalui Pembuatan kustom yang memungkinkan konfigurasi lebih lanjut.

Ringkasan arsitektur perutean

Perutean lalu lintas Front Door berlangsung selama beberapa tahap. Pertama, lalu lintas dialihkan dari klien ke Front Door. Kemudian, Front Door menggunakan konfigurasi Anda untuk menentukan asal untuk mengirim lalu lintas ke. Firewall aplikasi web Front Door, aturan perutean, mesin aturan, dan konfigurasi caching semuanya memengaruhi proses perutean. Diagram berikut menggambarkan arsitektur routing:

Azure Front Door traffic routing stages illustrated in eight boxes.

Mengonfigurasi aturan pengalihan di Front Door

Setelah membangun koneksi dan menyelesaikan jabat tangan TLS, saat permintaan masuk ke lingkungan Front Door, salah satu hal pertama yang dilakukan Front Door adalah menentukan aturan perutean yang cocok dengan permintaan dan kemudian mengambil tindakan yang ditentukan dalam konfigurasi.

Struktur konfigurasi aturan rute Front Door

Konfigurasi aturan perutean Front Door terdiri dari dua bagian utama: "sisi kiri" dan "sisi kanan". Front Door mencocokkan permintaan masuk dengan sisi kiri rute. Sisi kanan menentukan bagaimana Front Door memproses permintaan.

Pencocokan masuk

Properti berikut menentukan apakah permintaan masuk cocok dengan aturan perutean (atau sisi kiri):

  • Protokol HTTP (HTTP/HTTPS)
  • Host (misalnya, www.foo.com, *.bar.com)
  • Jalur (misalnya, /, /users/, /file.gif)

Properti ini diperluas secara internal sehingga setiap kombinasi Protokol/Host/Path adalah kumpulan kecocokan potensial.

Merutekan data

Front Door mempercepat pemrosesan permintaan dengan menggunakan penembolokan. Jika penembolokan diaktifkan untuk rute tertentu, respons cache akan digunakan. Jika tidak ada respons cache untuk permintaan, Front Door meneruskan permintaan ke backend yang sesuai di kumpulan backend yang dikonfigurasi.

Pencocokan rute

Front Door mencoba mencocokkan ke pencocokan yang paling persis terlebih dahulu dengan hanya melihat sisi kiri rute. Ini dicocokkan terlebih dahulu berdasarkan protokol HTTP, kemudian host Frontend, lalu Jalur.

  • Pencocokan host frontend:

    • Cari perutean apa pun dengan pertandingan yang tepat pada host.
    • Jika tidak ada pertandingan tuan rumah frontend yang tepat, tolak permintaan dan kirim kesalahan Permintaan Buruk 400.
  • Pencocokan jalur:

    • Mencari aturan perutean apa pun dengan kecocokan persis pada Jalur.
    • Jika tidak ada Jalur yang sama persis, cari aturan perutean dengan Jalur kartubebas yang cocok.
    • Jika tidak ada aturan perutean yang ditemukan dengan Jalur yang cocok, maka tolak permintaan tersebut dan kembalikan respons HTTP error 400: Bad Request.

Jika tidak ada aturan perutean untuk host frontend yang sama persis dengan Jalur rute generik (/*), tidak akan ada kecocokan dengan aturan perutean apa pun.

Azure Front Door mengalihkan lalu lintas di setiap tingkat berikut: protokol, nama host, jalur, string kueri. Fungsi-fungsi ini dapat dikonfigurasi untuk layanan mikro individu karena pengalihan berbasis jalur. Hal ini dapat memudahkan konfigurasi aplikasi dengan mengoptimalkan penggunaan sumber daya dan mendukung skenario pengalihan baru termasuk pengalihan global dan berbasis jalur.

Azure Portal configure route details

Jenis pengalihan

Jenis pengalihan mengatur kode status respons bagi klien untuk memahami tujuan pengalihan. Jenis pengalihan berikut ini didukung:

Jenis pengalihan Perbuatan Keterangan
301 Dipindahkan secara permanen Mengindikasikan bahwa sumber daya target telah ditetapkan untuk URI permanen baru. Referensi mendatang apa pun ke sumber daya ini akan menggunakan salah satu URI tertutup. Gunakan kode status 301 untuk pengalihan HTTP ke HTTPS.
302 Ditemukan Menunjukkan bahwa sumber daya target sementara berada di URI yang berbeda. Karena pengalihan dapat berubah sesekali, klien harus terus menggunakan URI permintaan yang efektif untuk permintaan di masa mendatang.
307 Pengalihan sementara Menunjukkan bahwa sumber daya target sementara berada di URI yang berbeda. Agen pengguna TIDAK BOLEH mengubah metode permintaan jika melakukan pengalihan otomatis ke URI tersebut. Karena pengalihan dapat berubah dari waktu ke waktu, klien harus terus menggunakan URI permintaan efektif asli untuk permintaan di masa mendatang.
308 Pengalihan permanen Mengindikasikan bahwa sumber daya target telah ditetapkan untuk URI permanen baru. Referensi mendatang apa pun ke sumber daya ini harus menggunakan salah satu URI tertutup.

Protokol pengalihan

Anda dapat mengatur protokol yang akan digunakan untuk pengalihan. Kasus penggunaan fitur pengalihan yang paling umum adalah mengatur pengalihan HTTP ke HTTPS.

  • Hanya HTTPS: Atur protokol ke HTTPS saja, jika Anda ingin mengalihkan lalu lintas dari HTTP ke HTTPS. Azure Front Door menyarankan agar Anda selalu mengatur pengalihan ke HTTPS saja.
  • Hanya HTTP: Mengalihkan permintaan masuk ke HTTP. Gunakan nilai ini hanya jika Anda ingin mempertahankan HTTP lalu lintas Anda yang tidak dienkripsi.
  • Permintaan kecocokan: Opsi ini menjaga protokol yang digunakan oleh permintaan masuk. Jadi, pengalihan pos permintaan HTTP tetap menjadi HTTP dan permintaan HTTPS tetap menjadi HTTPS.

Host tujuan

Sebagai bagian dari konfigurasi perutean pengalihan, Anda juga dapat mengubah nama host atau domain untuk permintaan pengalihan. Anda dapat mengatur bidang ini untuk mengubah nama host di URL untuk pengalihan atau mempertahankan nama host dari permintaan masuk. Jadi, dengan menggunakan bidang ini, Anda dapat mengalihkan semua permintaan yang dikirim pada https://www.contoso.com/* ke https://www.fabrikam.com/*.

Jalur tujuan

Untuk kasus di mana Anda ingin mengganti segmen jalur URL sebagai bagian dari pengalihan, Anda dapat mengatur bidang ini dengan nilai jalur baru. Jika tidak, Anda dapat memilih untuk mempertahankan nilai jalur sebagai bagian dari pengalihan. Jadi, dengan menggunakan bidang ini, Anda dapat mengalihkan semua permintaan yang dikirim ke https://www.contoso.com/* ke https://www.contoso.com/redirected-site.

Fragmen tujuan

Fragmen tujuan adalah bagian dari URL setelah '#', yang digunakan oleh browser untuk mendarat di bagian tertentu dari halaman web. Anda dapat mengatur bidang ini untuk menambahkan fragmen ke URL pengalihan.

Parameter untai kueri

Anda juga dapat mengganti parameter untai kueri di URL yang dialihkan. Untuk mengganti untai kueri yang ada dari URL permintaan masuk, atur bidang ini ke 'Ganti' lalu atur nilai yang sesuai. Jika tidak, Anda dapat menyimpan set awal string dengan mengatur bidang ke 'Pertahankan'. Sebagai contoh, menggunakan bidang ini, Anda dapat mengalihkan semua lalu lintas yang dikirim ke https://www.contoso.com/foo/barhttps://www.contoso.com/foo/bar?& utm_referrer=https%3A%2F%2Fwww.bing.com%2F.

Mengonfigurasi kebijakan regenerasi

Azure Front Door Service mendukung regenerasi URL dengan mengizinkan Anda mengonfigurasi Jalur Penerusan Kustom opsional yang akan digunakan saat membuat permintaan untuk meneruskan ke backend. Secara default, jika jalur penerusan khusus tidak tersedia, Front Door akan menyalin jalur URL masuk ke URL yang digunakan dalam permintaan yang diteruskan. Header Host yang digunakan dalam permintaan yang diteruskan seperti yang dikonfigurasi untuk backend yang dipilih. Baca Header Host Backend untuk mempelajari cara kerjanya dan cara Anda mengonfigurasinya.

Bagian kuat dari regenerasi URL adalah bahwa jalur penerusan kustom akan menyalin bagian mana pun dari jalur masuk yang cocok dengan jalur karakter kartubebas ke jalur yang diteruskan.

Mengonfigurasi pemeriksaan kesehatan, termasuk kustomisasi kode respons HTTP

Untuk menentukan kesehatan dan kedekatan setiap backend untuk lingkungan Front Door tertentu, setiap lingkungan Front Door secara berkala mengirimkan permintaan HTTP/HTTPS sintetis ke setiap backend yang dikonfigurasi. Azure Front Door kemudian menggunakan tanggapan ini dari probe untuk menentukan sumber daya backend "terbaik" guna merutekan permintaan klien Anda.

Karena Azure Front Door memiliki banyak lingkungan edge secara global, volume probe kesehatan untuk backend Anda bisa sangat tinggi - mulai dari 25 permintaan setiap menit hingga setinggi 1.200 permintaan per menit, tergantung pada frekuensi probe kesehatan yang dikonfigurasi. Dengan frekuensi probe default 30 detik, volume probe pada backend Anda harus sekitar 200 permintaan per menit.

Metode HTTP yang didukung untuk probe kesehatan

Azure Front Door mendukung pengiriman probe baik melalui protokol HTTP atau HTTPS. Pemeriksaan ini dikirim melalui port TCP yang sama yang dikonfigurasi untuk merutekan permintaan klien, dan tidak dapat ditimpa.

Azure Front Door mendukung metode HTTP berikut untuk mengirim probe kesehatan:

GET: Metode GET berarti mengambil informasi apa pun (dalam bentuk entitas) diidentifikasi oleh Request-URI.

HEAD: Metode HEAD identik dengan GET kecuali bahwa server TIDAK BOLEH mengembalikan isi pesan dalam respons. Karena memiliki beban dan biaya yang lebih rendah pada backend Anda, untuk profil Front Door baru, secara default, metode pemeriksaan ditetapkan sebagai HEAD.

Respons probe kesehatan

Tabel berikut ini menjelaskan respons terhadap pemeriksaan kesehatan:

Respons Keterangan
Menentukan Kesehatan Kode status 200 OK menunjukkan backend sehat. Segala sesuatu yang lain dianggap kegagalan. Jika karena alasan apa pun (termasuk kegagalan jaringan) respons HTTP yang valid tidak diterima untuk pemeriksaan, pemeriksaan dihitung sebagai kegagalan.
Mengukur Latensi Latensi adalah waktu jam dinding yang diukur dari saat tepat sebelum permintaan pemeriksaan dikirim ke saat byte terakhir respons diterima. Koneksi TCP baru digunakan untuk setiap permintaan, sehingga pengukuran ini tidak dibiaskan terhadap backend dengan koneksi hangat yang sudah ada.

Azure Front Door menggunakan proses tiga langkah yang sama di bawah ini di semua algoritma untuk menentukan kesehatan.

  1. Mengecualikan backend yang dinonaktifkan.

  2. Kecualikan backend yang memiliki kesalahan pemeriksaan kesehatan:

    • Seleksi ini dilakukan dengan melihat respon n pemeriksaan kesehatan terakhir. Backend dianggap sehat jika setidaknya x sehat.
    • n dikonfigurasi dengan mengubah properti SampleSize dalam pengaturan penyeimbangan beban.
    • n dikonfigurasi dengan mengubah properti SampleSize dalam pengaturan penyeimbangan beban.
  3. Untuk set backend sehat di kumpulan backend, Azure Front Door juga mengukur dan mempertahankan latensi (komunikasi dua arah) untuk setiap backend.

Jika Anda memiliki backend tunggal di kumpulan backend Anda, Anda dapat memilih untuk menonaktifkan pemeriksaan kesehatan yang mengurangi beban pada backend aplikasi Anda. Bahkan jika Anda memiliki beberapa backend di kumpulan backend tetapi hanya satu dari mereka yang dalam keadaan diaktifkan, Anda dapat menonaktifkan pemeriksaan kesehatan.

Mengamankan Front Door dengan SSL

Gunakan protokol HTTPS di domain kustom Anda (misalnya, https://www.contoso.com), Anda memastikan bahwa data sensitif Anda dikirimkan dengan aman melalui enkripsi TLS/SSL saat dikirim melalui internet. Saat browser web Anda terhubung ke situs web melalui HTTPS, browser web memvalidasi sertifikat keamanan situs web dan memverifikasi bahwa sertifikat ini diterbitkan oleh otoritas sertifikat yang sah. Proses ini memberikan keamanan dan melindungi aplikasi web Anda dari serangan.

Beberapa atribut kunci dari fitur HTTPS kustom adalah:

  • Tidak ada biaya tambahan: Tidak ada biaya untuk akuisisi atau perpanjangan sertifikat dan tidak ada biaya tambahan untuk lalu lintas HTTPS.
  • Pengaktifan sederhana: Provisi satu klik tersedia dari portal Azure. Anda juga dapat menggunakan REST API atau alat pengembang lainnya untuk mengaktifkan fitur tersebut.
  • Pengelolaan sertifikat lengkap: Semua pengadaan dan pengelolaan sertifikat ditangani untuk Anda. Sertifikat secara otomatis disediakan dan diperpanjang sebelum kedaluwarsa, yang menghapus risiko gangguan layanan karena sertifikat kedaluwarsa.

Anda dapat mengaktifkan protokol HTTPS untuk domain kustom yang terkait dengan Front Door Anda di bagian host frontend.

Untuk informasi selengkapnya tentang cara mengonfigurasi HTTPS di Front Door, lihat Tutorial - Mengonfigurasi HTTPS di domain kustom untuk Azure Front Door | Microsoft Docs.

Uji pengetahuan Anda

1.

Apa perbedaan antara Azure Front Door dan Azure Application Gateway?

2.

Aturan rute Front Door menentukan apakah permintaan masuk cocok dengan aturan perutean dan lalu lintas rute masing-masing. Properti apa yang cocok?