Aracılığıyla paylaş


Hızlı Başlangıç: Azure CLI kullanarak Azure Front Door oluşturma

Bu hızlı başlangıçta, Azure CLI kullanarak Azure Front Door oluşturmayı öğreneceksiniz. Çıkış noktası olarak iki Azure Web Apps içeren bir profil ayarlar ve bir WAF güvenlik ilkesi eklersiniz. Son olarak, Azure Front Door uç nokta ana bilgisayar adını kullanarak Web Uygulamalarınıza bağlantıyı doğrularsınız.

Azure CLI kullanan Azure Front Door dağıtım ortamı diyagramı.

Not

Web iş yükleri için, yeni ortaya çıkan DDoS saldırılarına karşı koruma sağlamak için Azure DDoS koruması ve web uygulaması güvenlik duvarı kullanmanızı kesinlikle öneririz. Bir diğer seçenek de Azure Front Door'un yanı sıra bir web uygulaması güvenlik duvarı kullanmaktır. Azure Front Door, ağ düzeyinde DDoS saldırılarına karşı platform düzeyinde koruma sunar. Daha fazla bilgi için bkz . Azure hizmetleri için güvenlik temeli.

Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.

Önkoş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.

Kaynak grubu oluşturma

Azure'da ilgili kaynaklar bir kaynak grubuna ayrılır. Mevcut bir kaynak grubunu kullanabilir ya da yeni bir kaynak grubu oluşturabilirsiniz.

Kaynak grubu oluşturmak için az group create komutunu çalıştırın.

az group create --name myRGFD --location centralus

Azure Front Door profili oluşturma

Ardından, iki App Services'inizin çıkış noktası olarak kullandığı Azure Front Door profilini oluşturun.

Azure Front Door profili oluşturmak için az afd profile create komutunu çalıştırın.

Not

Premium yerine Azure Front Door Standard'ı dağıtmak istiyorsanız, sku parametresinin değerini ile Standard_AzureFrontDoordeğiştirin. WAF İlkesi ile yönetilen kurallar Standart SKU ile kullanılamaz. Ayrıntılı karşılaştırma için bkz . Azure Front Door katmanı karşılaştırması.

az afd profile create \
    --profile-name contosoafd \
    --resource-group myRGFD \
    --sku Premium_AzureFrontDoor

Web uygulamasının iki örneğini oluşturma

Bu adımda, farklı Azure bölgelerinde çalışan iki web uygulaması örneği oluşturursunuz. Her iki örnek de Etkin/Etkin modda çalışır; bu da trafiği işleyebilir. Bu kurulum, bir örneğin yük devretme görevi gördüğü Etkin/Stand-By yapılandırmasından farklıdır.

App Service planları oluşturma

İlk olarak iki uygulama hizmeti planı oluşturun: biri Orta ABD'de, diğeri Doğu ABD'de.

App Service planlarını oluşturmak için aşağıdaki komutları çalıştırın:

az appservice plan create \
    --name myAppServicePlanCentralUS \
    --resource-group myRGFD \
    --location centralus
az appservice plan create \
    --name myAppServicePlanEastUS \
    --resource-group myRGFD \
    --location eastus

Web uygulamaları oluşturma

Ardından, önceki adımda oluşturulan app service planlarının her birinde bir web uygulaması oluşturun. Web uygulaması adları genel olarak benzersiz olmalıdır.

Web uygulamalarını oluşturmak için aşağıdaki komutları çalıştırın:

az webapp create \
    --name WebAppContoso-01 \
    --resource-group myRGFD \
    --plan myAppServicePlanCentralUS
az webapp create \
    --name WebAppContoso-02 \
    --resource-group myRGFD \
    --plan myAppServicePlanEastUS

Bir sonraki adımda Azure Front Door'u dağıtırken arka uç adreslerini tanımlamaları gerektiğinden, her web uygulaması için varsayılan ana bilgisayar adlarını not edin.

Azure Front Door oluşturma

Azure Front Door profili oluşturma

Azure Front Door profili oluşturmak için az afd profile create komutunu çalıştırın.

Not

Premium yerine Azure Front Door Standard dağıtmak için parametresini sku olarak Standard_AzureFrontDoorayarlayın. WAF İlkesi ile yönetilen kurallar Standart SKU ile kullanılamaz. Ayrıntılı karşılaştırma için bkz . Azure Front Door katmanı karşılaştırması.

az afd profile create \
    --profile-name contosoafd \
    --resource-group myRGFD \
    --sku Premium_AzureFrontDoor

Bir uç nokta ekleme

Azure Front Door profilinizde bir uç nokta oluşturun. Uç nokta, etki alanı adlarıyla ilişkili bir veya daha fazla yolun mantıksal gruplandırılmasıdır. Her uç noktaya Azure Front Door tarafından bir etki alanı adı atanır ve yolları kullanarak uç noktaları özel etki alanlarıyla ilişkilendirebilirsiniz. Azure Front Door profilleri birden çok uç nokta içerebilir.

Profilinizde bir uç nokta oluşturmak için az afd endpoint create komutunu çalıştırın.

az afd endpoint create \
    --resource-group myRGFD \
    --endpoint-name contosofrontend \
    --profile-name contosoafd \
    --enabled-state Enabled

Azure Front Door'daki uç noktalar hakkında daha fazla bilgi için bkz . Azure Front Door'daki uç noktalar.

Kaynak grubu oluşturma

Uygulama örnekleriniz için trafiği ve beklenen yanıtları tanımlayan bir kaynak grubu oluşturun. Kaynak grupları ayrıca çıkış noktalarının sistem durumu yoklamaları tarafından nasıl değerlendirilip değerlendirilemlerini de tanımlar.

İ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 myRGFD \
    --origin-group-name og \
    --profile-name contosoafd \
    --probe-request-type GET \
    --probe-protocol Http \
    --probe-interval-in-seconds 60 \
    --probe-path / \
    --sample-size 4 \
    --successful-samples-required 3 \
    --additional-latency-in-milliseconds 50

Kaynak grubuna çıkış noktaları ekleme

Daha önce oluşturulan her iki uygulama örneğinizi de yeni kaynak grubunuza çıkış noktası olarak ekleyin. Azure Front Door'daki kaynaklar, önbelleğe alma etkinleştirilmediğinde veya önbellek kaçırılması oluştuğunda Azure Front Door'un içerik geldiği uygulamalara başvurur.

İlk uygulama örneğinizi kaynak grubunuza kaynak olarak eklemek için az afd origin create komutunu çalıştırın.

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

İkinci uygulama örneğinizi kaynak grubunuza kaynak olarak eklemek için bu adımı yineleyin.

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

Çıkış noktaları, kaynak grupları ve sistem durumu yoklamaları hakkında daha fazla bilgi için bkz . Azure Front Door'da çıkış noktaları ve kaynak grupları.

Yol ekleme

Daha önce oluşturduğunuz uç noktayı kaynak grubuna eşlemek için bir yol ekleyin. Bu yol, uç noktadan gelen istekleri kaynak grubunuzla yönlendirir.

Uç noktanızı kaynak grubuna eşlemek için az afd route create komutunu çalıştırın.

az afd route create \
    --resource-group myRGFD \
    --profile-name contosoafd \
    --endpoint-name contosofrontend \
    --forwarding-protocol MatchRequest \
    --route-name route \
    --https-redirect Enabled \
    --origin-group og \
    --supported-protocols Http Https \
    --link-to-default-domain Enabled 

Azure Front Door'daki yollar hakkında daha fazla bilgi edinmek için bkz . Çıkış noktası için trafik yönlendirme yöntemleri.

Yeni bir güvenlik ilkesi oluşturma

Azure Front Door üzerinde Azure Web Uygulaması Güvenlik Duvarı (WAF), web uygulamalarınız için merkezi koruma sağlayarak bunları yaygın açıklara ve güvenlik açıklarına karşı korur.

Bu öğreticide, iki yönetilen kural içeren bir WAF ilkesi oluşturacaksınız. Özel kurallarla WAF ilkeleri de oluşturabilirsiniz.

WAF ilkesi oluşturma

Azure Front Door'unuz için yeni bir WAF ilkesi oluşturmak için az network front-door waf-policy create komutunu çalıştırın. Bu örnek, etkinleştirilmiş ve önleme modunda bir ilke oluşturur.

Not

Yönetilen kurallar yalnızca Azure Front Door Premium katmanıyla kullanılabilir. Standart katman ile özel kurallar kullanabilirsiniz.

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

Not

Modu seçerseniz Detection WAF'niz hiçbir isteği engellemez.

Azure Front Door için WAF ilke ayarları hakkında daha fazla bilgi edinmek için bkz. Azure Front Door'da Web Uygulaması Güvenlik Duvarı için ilke ayarları.

WAF ilkesine yönetilen kurallar atama

Azure tarafından yönetilen kural kümeleri, uygulamanızı yaygın güvenlik tehditlerine karşı korumanın kolay bir yolunu sağlar.

WAF İlkesinize yönetilen kurallar eklemek için az network front-door waf-policy managed-rules add komutunu çalıştırın. Bu örnek, ilkenize Microsoft_DefaultRuleSet_2.1 ve Microsoft_BotManagerRuleSet_1.0 ekler.

az network front-door waf-policy managed-rules add \
    --policy-name contosoWAF \
    --resource-group myRGFD \
    --type Microsoft_DefaultRuleSet \
    --action Block \
    --version 2.1 
az network front-door waf-policy managed-rules add \
    --policy-name contosoWAF \
    --resource-group myRGFD \
    --type Microsoft_BotManagerRuleSet \
    --version 1.0

Azure Front Door'da yönetilen kurallar hakkında daha fazla bilgi edinmek için bkz. DRS kural gruplarını ve kurallarını Web Uygulaması Güvenlik Duvarı.

Güvenlik ilkesini uygulama

Şimdi bir güvenlik ilkesi oluşturarak WAF ilkelerini Azure Front Door'unuza uygulayın. Bu ayar, Azure tarafından yönetilen kuralları daha önce tanımladığınız uç noktaya uygular.

WAF ilkenizi uç noktanın varsayılan etki alanına uygulamak için az afd security-policy create komutunu çalıştırın.

Not

'mysubscription' değerini etki alanlarındaki Azure Abonelik Kimliğinizle ve waf-policy parametreleriyle değiştirin. Abonelik Kimliği ayrıntılarını almak için az account subscription list komutunu çalıştırın.

az afd security-policy create \
    --resource-group myRGFD \
    --profile-name contosoafd \
    --security-policy-name contososecurity \
    --domains /subscriptions/mysubscription/resourcegroups/myRGFD/providers/Microsoft.Cdn/profiles/contosoafd/afdEndpoints/contosofrontend \
    --waf-policy /subscriptions/mysubscription/resourcegroups/myRGFD/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/contosoWAF

Azure Front Door'un testini

Azure Front Door profilini oluşturduktan sonra 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.

Azure Front Door uç noktasının ana bilgisayar adını almak için az afd endpoint show komutunu çalıştırın.

az afd endpoint show --resource-group myRGFD --profile-name contosoafd --endpoint-name contosofrontend

Tarayıcıda uç nokta ana bilgisayar adına gidin: contosofrontend-<hash>.z01.azurefd.net. İsteğiniz kaynak grubundaki en az geciken Web Uygulamasına yönlendirilir.

İletinin ekran görüntüsü: Web uygulamanız çalışıyor ve içeriğinizi bekliyor

Anlık genel yük devretmeyi test etmek için şu adımları izleyin:

  1. Bir tarayıcı açın ve uç nokta ana bilgisayar adına gidin: contosofrontend-<hash>.z01.azurefd.net.

  2. az webapp stop komutunu çalıştırarak Web Uygulamalarından birini durdurun:

    az webapp stop --name WebAppContoso-01 --resource-group myRGFD
    
  3. Tarayıcınızı yenileyin. Aynı bilgi sayfasını görmeniz gerekir.

İpucu

Bu eylemler için biraz gecikme olabilir. Yeniden yenilemeniz gerekebilir.

  1. Diğer web uygulamasını da durdurun:

    az webapp stop --name WebAppContoso-02 --resource-group myRGFD
    
  2. Tarayıcınızı yenileyin. Bu kez bir hata iletisi görmeniz gerekir.

    İletinin ekran görüntüsü: Web uygulamasının her iki örneği de durduruldu

  3. az webapp start komutunu çalıştırarak Web Uygulamalarından birini yeniden başlatın. Tarayıcınızı yenilediğinizde sayfa normale dönmelidir.

    az webapp start --name WebAppContoso-01 --resource-group myRGFD
    

Kaynakları temizleme

Azure Front Door için oluşturulan kaynaklara artık ihtiyacınız kalmadığında kaynak grubunu silebilirsiniz. Bu eylem, Azure Front Door'un ve ilişkili tüm kaynakların kaldırılmasını sağlar.

Kaynak grubunu silmek için aşağıdaki komutu çalıştırın:

az group delete --name myRGFD

Sonraki adımlar

Azure Front Door'unuza özel etki alanı eklemeyi öğrenmek için sonraki makaleye geçin.