Öğretici: Azure CLI ile Azure Front Door Standard/Premium (Önizleme) için teslim kuralları ekleme ve özelleştirme
Azure Front Door Standard/Premium (Önizleme) hızlı ve güvenli bir modern bulut CDN'dir. Azure Front Door, Microsoft küresel uç ağını kullanır ve akıllı tehdit koruması ile tümleştirilir. Azure Front Door Standard, içerik teslime odaklanır. Azure Front Door Premium, kapsamlı güvenlik özellikleri ve özelleştirme özellikleri ekler. Bu öğreticide bir Azure Front Door profili oluşturmaya ve ardından web uygulaması davranışlarınız üzerinde daha ayrıntılı denetim için teslim kuralları eklemeye odaklanmaktadır.
Dekont
Bu belgeler Azure Front Door Standard/Premium (Önizleme) içindir. Azure Front Door hakkında bilgi mi arıyorsunuz? Azure Front Door Docs'a bakın.
Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
- Bir Azure Front Door profili oluşturun.
- Bir web uygulamasının iki örneğini oluşturun.
- Yeni bir güvenlik ilkesi oluşturun.
- Web uygulamalarınıza bağlantıyı doğrulayın.
- Kural kümesi oluşturun.
- Bir kural oluşturun ve kural kümesine ekleyin.
- Kurallarınıza eylemler veya koşullar ekleyin.
Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.
Ön koşullar
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash için hızlı başlangıç.
CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yı yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.
Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.
Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
Azure Front Door oluşturma
Kaynak grubu oluşturma
Bu hızlı başlangıç için iki kaynak grubuna ihtiyacınız vardır. Biri Orta ABD'de, ikincisi Doğu ABD'de.
Kaynak grupları oluşturmak için az group create komutunu çalıştırın.
az group create \
--name myRGFDCentral \
--location centralus
az group create \
--name myRGFDEast \
--location eastus
Azure Front Door profili oluşturma
Azure Front Door profili oluşturmak için az afd profile create komutunu çalıştırın.
az afd profile create \
--profile-name contosoafd \
--resource-group myRGFDCentral \
--sku Premium_AzureFrontDoor \
--subscription mysubscription
Web uygulamasının iki örneğini oluşturma
Bu öğretici için farklı Azure bölgelerinde çalışan bir web uygulamasının iki örneğine ihtiyacınız vardır. Her iki web uygulaması örneği de Etkin/Etkin modunda çalışır, böylece biri trafiğe hizmet verebilir.
Henüz bir web uygulamanız yoksa, iki örnek web uygulaması ayarlamak için aşağıdaki betiği kullanın.
App Service planları oluşturma
Web uygulamalarını oluşturabilmeniz için önce biri Orta ABD'de, ikincisi Doğu ABD'de olan iki app service planına ihtiyacınız olacaktır.
App Service planlarınızı oluşturmak için az appservice plan create komutunu çalıştırın.
az appservice plan create \
--name myAppServicePlanCentralUS \
--resource-group myRGFDCentral
az appservice plan create \
--name myAppServicePlanEastUS \
--resource-group myRGFDEast
Web uygulamaları oluşturma
Önceki adımda app service planlarının her birinde bir web uygulaması oluşturmak için az webapp create komutunu çalıştırın. Web uygulaması adları genel olarak benzersiz olmalıdır.
Web uygulamaları için yerleşik yığınların listesini görmek için az webapp list-runtimes komutunu çalıştırın.
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"
Bir sonraki adımda Front Door'u dağıtırken arka uç adreslerini tanımlayabilmeniz için her web uygulamasının varsayılan ana bilgisayar adını not edin.
Bir uç nokta ekleme
Profilinizde bir uç nokta oluşturmak için az afd endpoint create komutunu çalıştırın. Oluşturma deneyimini tamamladıktan sonra profilinizde birden çok uç nokta oluşturabilirsiniz.
az afd endpoint create \
--resource-group myRGFDCentral \
--endpoint-name contoso-frontend \
--profile-name contosoafd \
--origin-response-timeout-seconds 60 \
--enabled-state Enabled
Kaynak grubu oluşturma
İki web uygulamanızı içeren bir kaynak grubu oluşturmak için az afd origin-group create komutunu çalıştırın.
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
Gruba çıkış noktaları ekleme
Kaynak grubunuza kaynak eklemek için az afd origin create komutunu çalıştırın.
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
Bu adımı yineleyin ve ikinci kaynağınızı ekleyin.
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
Yol ekleme
Ön uç uç noktanızı kaynak grubuna eşlemek için az afd route create komutunu çalıştırın. Bu yol uç noktadan gelen istekleri og1'e iletir.
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
Yeni bir güvenlik ilkesi oluşturma
WAF ilkesi oluşturma
Kaynak gruplarınızdan biri için bir WAF ilkesi oluşturmak için az network front-door waf-policy create komutunu çalıştırın.
Front Door'unuz için yeni bir WAF ilkesi oluşturun. Bu örnek, etkinleştirilmiş ve önleme modunda bir ilke oluşturur.
az network front-door waf-policy create
--name contosoWAF /
--resource-group myRGFDCentral /
--sku Premium_AzureFrontDoor
--disabled false /
--mode Prevention
Dekont
Modu seçerseniz Detection
WAF'niz hiçbir isteği engellemez.
Güvenlik ilkesini oluşturma
WAF ilkenizi uç noktanın varsayılan etki alanına uygulamak için az afd security-policy create komutunu çalıştırın.
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
Azure Front Door'un doğrulanması
Azure Front Door Standard/Premium profilini oluşturduğunuzda yapılandırmanın genel olarak dağıtılması birkaç dakika sürer. İşlem tamamlandıktan sonra, oluşturduğunuz ön uç konağına erişebilirsiniz. Tarayıcıda adresine contoso-frontend.z01.azurefd.net
gidin. İsteğiniz otomatik olarak kaynak grubundaki belirtilen sunuculardan en yakın sunucuya yönlendirilir.
Anlık genel yük devretmeyi test etmek için aşağıdaki adımları kullanacağız:
Yukarıda açıklandığı gibi bir tarayıcı açın ve ön uç adresine gidin:
contoso-frontend.azurefd.net
.Azure portalında Uygulama hizmetleri'ni arayın ve seçin. Bu örnekte WebAppContoso-1 web uygulamalarınızdan birini bulmak için ekranı aşağı kaydırın.
Web uygulamanızı seçin ve ardından durdur'u ve doğrulamak için Evet'i seçin.
Tarayıcınızı yenileyin. Aynı bilgi sayfasını görmeniz gerekir.
Bahşiş
Bu eylemler için biraz gecikme vardır. Yeniden yenilemeniz gerekebilir.
Diğer web uygulamasını bulun ve durdurun.
Tarayıcınızı yenileyin. Bu kez bir hata iletisi görmeniz gerekir.
Kural kümesi oluşturma
HTTP isteklerinin uçta nasıl işleneceğini özelleştirmek için bir kural kümesi oluşturun. Kural kümesine eklenen teslim kuralları, web uygulaması davranışlarınız üzerinde daha fazla denetim sağlar. Azure Front Door profilinizde bir kural kümesi oluşturmak için az afd rule-set create komutunu çalıştırın.
az afd rule-set create \
--profile-name contosoafd \
--resource-group myRGFDCentral \
--rule-set-name contosorules
Teslim kuralı oluşturma ve kural kümenize ekleme
Kural kümenizde yeni bir teslim kuralı oluşturun. Kural kümenizde bir teslim kuralı oluşturmak için az afd rule create komutunu çalıştırın. Bu örnekte, http'den https'ye yeniden yönlendirme için bir kural oluşturacağız.
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
Teslim kuralınıza eylem veya koşul ekleme
Yeni teslim kuralınızı daha fazla özelleştirmeniz gerektiğini fark edebilirsiniz. Oluşturma işleminden sonra gereken eylemleri veya koşulları ekleyebilirsiniz. Kuralınızı güncelleştirmek için az afd rule action add veya az afd rule condition add komutunu çalıştırın.
Eylem ekleme
az afd rule action add \
--resource-group myRGFDCentral \
--rule-set-name contosorules \
--profile-name contosoafd \
--rule-name redirect \
--action-name "CacheExpiration" \
--cache-behavior BypassCache
Koşul ekleme
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"
Kaynakları temizleme
Front Door için kaynaklara ihtiyacınız olmadığında her iki kaynak grubunu da silin. Kaynak gruplarının silinmesi Front Door'un ve ilgili tüm kaynaklarının da silinmesine neden olur.
az group delete komutunu çalıştırın:
az group delete \
--name myRGFDCentral
az group delete \
--name myRGFDEast
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin