Tutorial: Menambahkan dan menyesuaikan aturan pengiriman untuk Azure Front Door Standard/Premium (Pratinjau) dengan Azure CLI

Azure Front Door Standard/Premium (Pratinjau) adalah CDN cloud modern yang cepat dan aman. Azure Front Door menggunakan jaringan sekitar global Microsoft dan terintegrasi dengan perlindungan ancaman cerdas. Azure Front Door Standard berfokus pada pengiriman konten. Azure Front Door Premium menambahkan penyesuaian dan kemampuan keamanan yang luas. Tutorial ini berfokus pada pembuatan profil Azure Front Door, lalu menambahkan aturan pengiriman untuk kontrol yang lebih terperinci atas perilaku aplikasi web Anda.

Catatan

Dokumentasi ini untuk Azure Front Door Standard/Premium (Pratinjau). Mencari informasi tentang Azure Front Door? Lihat Dokumen Azure Front Door.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Membuat profil Azure Front Door.
  • Membuat dua instans aplikasi web.
  • Membuat kebijakan keamanan baru.
  • Memverifikasi konektivitas ke aplikasi web Anda.
  • Membuat seperangkat aturan.
  • Membuat aturan dan menambahkan ke seperangkat aturan.
  • Menambahkan tindakan atau ketentuan ke aturan Anda.

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Prasyarat

Membuat profil Azure Front Door

Buat grup sumber daya

Untuk mulai cepat ini, Anda memerlukan dua grup sumber daya. Satu di US Tengah dan yang kedua di US Timur.

Jalankan az group create untuk membuat grup sumber daya.

az group create \
    --name myRGFDCentral \
    --location centralus

az group create \
    --name myRGFDEast \
    --location eastus

Membuat profil Azure Front Door

Jalankan az afd profile create untuk membuat profil Azure Front Door.

az afd profile create \
    --profile-name contosoafd \
    --resource-group myRGFDCentral \
    --sku Premium_AzureFrontDoor \
    --subscription mysubscription

Membuat dua instans aplikasi web

Anda memerlukan dua instans aplikasi web yang berjalan di wilayah Azure yang berbeda diperlukan untuk tutorial ini. Kedua instans aplikasi web berjalan dalam mode Aktif/Aktif, sehingga salah satunya dapat melayani lalu lintas.

Jika Anda belum memiliki aplikasi web, gunakan skrip berikut untuk menyiapkan dua contoh aplikasi web.

Buat perencanaan layanan aplikasi

Sebelum dapat membuat aplikasi web, Anda memerlukan dua paket layanan aplikasi, satu di US Tengah dan yang kedua di US Timur.

Jalankan az appservice plan create untuk membuat paket layanan aplikasi Anda.

az appservice plan create \
    --name myAppServicePlanCentralUS \
    --resource-group myRGFDCentral

az appservice plan create \
    --name myAppServicePlanEastUS \
    --resource-group myRGFDEast

Membuat aplikasi web

Jalankan az webapp create untuk membuat aplikasi web di setiap paket layanan aplikasi di langkah sebelumnya. Nama aplikasi web harus unik secara global.

Jalankan az webapp list-runtimes untuk melihat daftar tumpukan bawaan untuk aplikasi web.

az webapp create \
    --name WebAppContoso-001 \
    --resource-group myRGFDCentral \
    --plan myAppServicePlanCentralUS \
    --runtime "DOTNETCORE|2.1"

az webapp create \
    --name WebAppContoso-002 \
    --resource-group myRGFDEast \
    --plan myAppServicePlanEastUS \
    --runtime "DOTNETCORE|2.1"

Catat nama host default setiap aplikasi web sehingga Anda dapat menentukan alamat ujung belakang saat Anda menyebarkan Front Door di langkah berikutnya.

Tambahkan titik akhir

Jalankan az afd endpoint create untuk membuat titik akhir di profil Anda. Anda dapat membuat beberapa titik akhir di profil Anda setelah menyelesaikan pengalaman membuat.

az afd endpoint create \
    --resource-group myRGFDCentral \
    --endpoint-name contoso-frontend \
    --profile-name contosoafd \
    --origin-response-timeout-seconds 60 \
    --enabled-state Enabled

Membuat grup asal

Jalankan az afd origin-group create untuk membuat grup asal yang berisi dua aplikasi web Anda.

az afd origin-group create \
    --resource-group myRGFDCentral \
    --origin-group-name og1 \
    --profile-name contosoafd \
    --probe-request-type GET \
    --probe-protocol Http \
    --probe-interval-in-seconds 120 \
    --probe-path /test1/azure.txt \
    --sample-size 4 \
    --successful-samples-required 3 \
    --additional-latency-in-milliseconds 50

Menambahkan asal ke grup

Jalankan az afd origin create untuk menambahkan asal ke grup asal Anda.

az afd origin create \
    --resource-group myRGFDCentral \
    --host-name webappcontoso-1.azurewebsites.net
    --profile-name contosoafd \
    --origin-group-name og1 \
    --origin-name contoso1 \
    --origin-host-header webappcontoso-1.azurewebsites.net \
    --priority 1 \
    --weight 1000 \
    --enabled-state Enabled \
    --http-port 80 \
    --https-port 443

Ulangi langkah ini dan tambahkan asal kedua Anda.

az afd origin create \
    --resource-group myRGFDCentral \
    --host-name webappcontoso-2.azurewebsites.net
    --profile-name contosoafd \
    --origin-group-name og1 \
    --origin-name contoso2 \
    --origin-host-header webappcontoso-2.azurewebsites.net \
    --priority 1 \
    --weight 1000 \
    --enabled-state Enabled \
    --http-port 80 \
    --https-port 443

Menambahkan rute

Jalankan az afd route create untuk memetakan titik akhir frontend Anda ke grup asal. Rute ini meneruskan permintaan dari titik akhir ke og1.

az afd route create \
    --resource-group myRGFDCentral \
    --endpoint-name contoso-frontend \
    --profile-name contosoafd \
    --route-name route1 \
    --https-redirect Enabled \
    --origin-group og1 \
    --supported-protocols Https \
    --link-to-default-domain Enabled \
    --forwarding-protocol MatchRequest

Membuat kebijakan keamanan baru

Membuat kebijakan WAF

Jalankan az network front-door waf-policy create untuk membuat kebijakan WAF untuk salah satu grup sumber daya Anda.

Membuat kebijakan WAF baru untuk Front Door Anda. Contoh ini membuat kebijakan yang diaktifkan dan dalam mode pencegahan.

az network front-door waf-policy create
    --name contosoWAF /
    --resource-group myRGFDCentral /
    --sku Premium_AzureFrontDoor
    --disabled false /
    --mode Prevention

Catatan

Jika memilih mode Detection, WAF Anda tidak memblokir permintaan apa pun.

Membuat kebijakan keamanan

Jalankan az afd security-policy create untuk menerapkan kebijakan WAF Anda ke domain default titik akhir.

az afd security-policy create \
    --resource-group myRGFDCentral \
    --profile-name contosoafd \
    --security-policy-name contososecurity \
    --domains /subscriptions/mysubscription/resourcegroups/myRGFDCentral/providers/Microsoft.Cdn/profiles/contosoafd/afdEndpoints/contoso-frontend.z01.azurefd.net \
    --waf-policy /subscriptions/mysubscription/resourcegroups/myRGFDCentral/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/contosoWAF

Verifikasi Azure Front Door

Saat Anda membuat profil Azure Front Door Standar/Premium, diperlukan beberapa menit agar konfigurasi diterapkan secara global. Setelah selesai, Anda dapat mengakses host frontend yang Anda buat. Di browser, pergi kecontoso-frontend.z01.azurefd.net. Permintaan Anda akan secara otomatis dirutekan ke server terdekat dari server tertentu di grup asal.

Untuk menguji failover global instan, kami akan menggunakan langkah-langkah berikut:

  1. Buka browser, seperti yang dijelaskan di atas, dan buka alamat ujung depan: contoso-frontend.azurefd.net.

  2. Di portal Microsoft Azure, cari dan pilih Layanan Aplikasi. Gulir ke bawah untuk menemukan salah satu aplikasi web Anda, WebAppContoso-1 seperti dalam contoh ini.

  3. Pilih aplikasi web Anda, lalu pilih Hentikan, dan Ya untuk memverifikasi.

  4. Refresh browser Anda. Anda akan melihat halaman informasi yang sama.

    Tip

    Terdapat sedikit keterlambatan untuk tindakan ini. Anda mungkin perlu refresh lagi.

  5. Temukan aplikasi web lainnya, dan hentikan juga.

  6. Refresh browser Anda. Kali ini, Anda akan melihat pesan kesalahan.

    Both instances of the web app stopped

Membuat seperangkat aturan

Membuat seperangkat aturan untuk menyesuaikan cara permintaan HTTP ditangani di tepi. Aturan pengiriman yang ditambahkan ke seperangkat aturan memberikan kontrol lebih besar atas perilaku aplikasi web Anda. Jalankan az afd rule-set create untuk membuat seperangkat aturan di profil Azure Front Door Anda.

az afd rule-set create \
    --profile-name contosoafd \
    --resource-group myRGFDCentral \
    --rule-set-name contosorules

Membuat aturan pengiriman dan menambahkannya ke seperangkat aturan Anda

Membuat aturan pengiriman baru dalam kumpulan aturan Anda. Jalankan az afd rule create untuk membuat aturan pengiriman di kumpulan aturan Anda. Untuk contoh ini, kita akan membuat aturan untuk pengalihan http ke https.

az afd rule create \
    --resource-group myRGFDCentral \
    --rule-set-name contosorules \
    --profile-name contosoafd \
    --order 1 \
    --match-variable RequestScheme \
    --operator Equal \
    --match-values HTTP \
    --rule-name "redirect" \
    --action-name "UrlRedirect" \
    --redirect-protocol Https \
    --redirect-type Moved

Menambahkan tindakan atau ketentuan ke aturan pengiriman Anda

Anda mungkin menemukan bahwa perlu menyesuaikan lebih lanjut aturan pengiriman baru. Anda dapat menambahkan tindakan atau ketentuan sesuai kebutuhan setelah pembuatan. Jalankan az afd rule action add atau az afd rule condition add untuk memperbarui aturan Anda.

Menambahkan tindakan

az afd rule action add \
    --resource-group myRGFDCentral \
    --rule-set-name contosorules \
    --profile-name contosoafd \
    --rule-name redirect \
    --action-name "CacheExpiration" \
    --cache-behavior BypassCache

Menambahkan kondisi

az afd rule condition add \
    --resource-group myRGFDCentral \
    --rule-set-name contosorules \
    --profile-name contosoafd \
    --rule-name redirect \
    --match-variable RemoteAddress \
    --operator GeoMatch \
    --match-values "TH"

Membersihkan sumber daya

Saat Anda tidak memerlukan sumber daya untuk Front Door, hapus kedua grup sumber daya. Menghapus grup sumber daya juga menghapus Front Door dan semua sumber daya terkaitnya.

Jalankan az group delete:

az group delete \
    --name myRGFDCentral

az group delete \
    --name myRGFDEast