Menggunakan Azure Front Door dengan blob Azure Storage

Azure Front Door mempercepat pengiriman konten statis dari blob Azure Storage, dan memungkinkan arsitektur yang aman dan dapat diskalakan. Pengiriman konten statis berguna untuk banyak kasus penggunaan yang berbeda, termasuk hosting situs web dan pengiriman file.

Arsitektur

Diagram of Azure Front Door with a blob storage origin.

Dalam arsitektur referensi ini, Anda menyebarkan akun penyimpanan dan profil Front Door dengan satu asal.

Aliran data

Data mengalir melalui skenario sebagai berikut:

  1. Klien membuat koneksi aman ke Azure Front Door dengan menggunakan nama domain kustom dan sertifikat TLS yang disediakan Front Door. Koneksi klien berakhir di titik kehadiran (PoP) Front Door terdekat.
  2. Firewall aplikasi web Front Door (WAF) memindai permintaan. Jika WAF menentukan tingkat risiko permintaan terlalu tinggi, WAF memblokir permintaan dan Front Door mengembalikan respons kesalahan HTTP 403.
  3. Jika cache Front Door PoP berisi respons yang valid untuk permintaan ini, Front Door segera mengembalikan respons.
  4. Jika tidak, PoP mengirimkan permintaan ke akun penyimpanan asal, di mana pun berada di dunia, dengan menggunakan jaringan backbone Microsoft. PoP terhubung ke akun penyimpanan dengan menggunakan koneksi TCP terpisah yang berumur panjang. Dalam skenario ini, Private Link digunakan untuk terhubung dengan aman ke akun penyimpanan.
  5. Akun penyimpanan mengirimkan respons ke Front Door PoP.
  6. Ketika PoP menerima respons, PoP menyimpannya di cache untuk permintaan berikutnya.
  7. PoP mengembalikan respons ke klien.
  8. Setiap permintaan langsung ke akun penyimpanan melalui internet akan diblokir oleh firewall Azure Storage.

Komponen

  • Azure Storage menyimpan konten statis dalam blob.
  • Azure Front Door menerima koneksi masuk dari klien, memindainya dengan WAF, meneruskan permintaan dengan aman ke akun penyimpanan, dan men-cache respons.

Alternatif

Jika Anda memiliki file statis di penyedia penyimpanan cloud lain, atau jika Anda menghosting konten statis pada infrastruktur yang Anda miliki dan pertahankan, sebagian besar skenario ini terus berlaku. Namun, Anda perlu mempertimbangkan bagaimana Anda melindungi lalu lintas masuk ke server asal Anda, untuk memverifikasi bahwa itu datang melalui Front Door. Jika penyedia penyimpanan Anda tidak mendukung Private Link, pertimbangkan untuk menggunakan pendekatan alternatif seperti mengizinkan daftar tag layanan Front Door dan memeriksa X-Azure-FDID header.

Detail skenario

Pengiriman konten statis berguna dalam banyak situasi, seperti contoh berikut:

  • Mengirimkan gambar, file CSS, dan file JavaScript untuk aplikasi web.
  • Menyajikan file dan dokumen, seperti file PDF atau file JSON.
  • Mengirimkan video nonstreaming.

Secara alami, konten statis tidak sering berubah. File statis mungkin juga berukuran besar. Karakteristik ini menjadikannya kandidat yang baik untuk di-cache, yang meningkatkan performa dan mengurangi biaya untuk melayani permintaan.

Dalam skenario kompleks, satu profil Front Door mungkin menyajikan konten statis dan konten dinamis. Anda dapat menggunakan grup asal terpisah untuk setiap jenis asal, dan menggunakan kemampuan perutean Front Door untuk merutekan permintaan masuk ke asal yang benar.

Pertimbangan

Skalabilitas dan kinerja

Sebagai jaringan pengiriman konten (CDN), Front Door menyimpan konten di jaringan POP yang didistribusikan secara global. Ketika salinan respons yang di-cache tersedia di PoP, Front Door dapat dengan cepat merespons dengan respons cache. Mengembalikan konten dari cache meningkatkan performa solusi, dan mengurangi beban pada asal. Jika PoP tidak memiliki respons cache yang valid, kemampuan akselerasi lalu lintas Front Door mengurangi waktu untuk melayani konten dari asal.

Keamanan

Autentikasi

Front Door dirancang untuk menghadap internet, dan skenario ini dioptimalkan untuk blob yang tersedia untuk umum. Jika Anda perlu mengautentikasi akses ke blob, pertimbangkan untuk menggunakan tanda tangan akses bersama, dan pastikan Anda mengaktifkan perilaku Gunakan string kueri String Kueri untuk menghindari Front Door melayani permintaan ke klien yang tidak diautentikasi. Namun, pendekatan ini mungkin tidak memanfaatkan cache Front Door secara efektif, karena setiap permintaan dengan tanda tangan akses bersama yang berbeda harus dikirim ke asal secara terpisah.

Keamanan asal

Front Door terhubung dengan aman ke akun Azure Storage dengan menggunakan Private Link. Akun penyimpanan dikonfigurasi untuk menolak akses langsung dari internet, dan hanya mengizinkan permintaan melalui koneksi titik akhir privat yang digunakan oleh Front Door. Konfigurasi ini memastikan bahwa setiap permintaan diproses oleh Front Door, dan menghindari mengekspos konten akun penyimpanan Anda langsung ke internet. Namun, konfigurasi ini memerlukan tingkat premium Azure Front Door. Jika Anda menggunakan tingkat standar, akun penyimpanan Anda harus dapat diakses secara publik. Anda dapat menggunakan tanda tangan akses bersama untuk mengamankan permintaan ke akun penyimpanan, dan meminta klien menyertakan tanda tangan pada semua permintaan mereka, atau menggunakan mesin aturan Front Door untuk melampirkannya dari Front Door.

Nama domain kustom

Front Door mendukung nama domain kustom, dan dapat mengeluarkan dan mengelola sertifikat TLS untuk domain tersebut. Dengan menggunakan domain kustom, Anda dapat memastikan bahwa klien Anda menerima file dari nama domain tepercaya dan familier, dan bahwa TLS mengenkripsi setiap koneksi ke Front Door. Saat Front Door mengelola sertifikat TLS, Anda menghindari pemadaman dan masalah keamanan karena sertifikat TLS yang tidak valid atau kedaluarsa.

Azure Storage juga mendukung nama domain kustom, tetapi tidak mendukung HTTPS saat menggunakan domain kustom. Front Door adalah pendekatan terbaik untuk menggunakan nama domain kustom dengan akun penyimpanan.

Firewall aplikasi web

Aturan terkelola Front Door WAF menetapkan permintaan pemindaian untuk ancaman keamanan umum dan yang muncul. Sebaiknya gunakan WAF dan aturan terkelola untuk aplikasi statis dan dinamis.

Anda juga dapat menggunakan Front Door WAF untuk melakukan pembatasan laju dan pemfilteran geografis jika Anda memerlukan kemampuan tersebut.

Ketahanan

Front Door adalah layanan yang sangat tersedia, dan karena arsitekturnya yang didistribusikan secara global, sangat tahan terhadap kegagalan satu wilayah Azure dan PoPs.

Dengan menggunakan cache Front Door, Anda mengurangi beban pada akun penyimpanan Anda. Selain itu, jika akun penyimpanan Anda tidak tersedia, Front Door mungkin dapat terus melayani respons cache hingga aplikasi Anda pulih.

Anda dapat lebih meningkatkan ketahanan solusi keseluruhan dengan mempertimbangkan ketahanan akun penyimpanan. Untuk informasi lebih lanjut, lihat Redundansi Azure Storage. Atau, Anda dapat menyebarkan beberapa akun penyimpanan, dan mengonfigurasi beberapa asal di grup asal Front Door Anda, dan mengonfigurasi failover antara asal dengan mengonfigurasi prioritas setiap asal. Untuk informasi selengkapnya, lihat Asal dan grup asal di Azure Front Door.

Pengoptimalan biaya

Penembolokan dapat membantu mengurangi biaya pengiriman konten statis. PoPs Front Door menyimpan salinan respons, dan dapat memberikan respons cache ini untuk permintaan berikutnya. Penembolokan mengurangi beban permintaan pada asal. Dalam solusi berbasis konten statis skala tinggi, terutama yang mengirimkan file besar, penembolokan dapat mengurangi biaya lalu lintas secara besar-besaran.

Untuk menggunakan Private Link dalam solusi ini, Anda harus menyebarkan tingkat premium Front Door. Anda dapat menggunakan tingkat standar jika Anda tidak perlu memblokir lalu lintas langsung ke akun penyimpanan Anda. Untuk informasi selengkapnya, lihat Keamanan asal.

Menyebarkan skenario ini

Untuk menyebarkan skenario ini dengan menggunakan templat Bicep atau JSON ARM, lihat mulai cepat ini.

Untuk menyebarkan skenario ini dengan menggunakan Terraform, lihat mulai cepat ini.

Langkah berikutnya

Pelajari cara membuat profil Front Door.