Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Web trafiğini yöneten bir BT yöneticisi olarak, müşterilerinizin ve kullanıcılarınızın ihtiyaç duydukları bilgileri mümkün olan en kısa sürede almasına yardımcı olmak istiyorsunuz. Deneyimlerini iyileştirmenin bir yolu, farklı türlerde web trafiğini farklı sunucu kaynaklarına yönlendirmektir. Bu makalede, uygulamanızdan farklı trafik türleri için Application Gateway yönlendirmesini ayarlamak ve yapılandırmak için Azure CLI'yi nasıl kullanacağınız gösterilmektedir. Yönlendirme daha sonra trafiği URL'ye göre farklı sunucu havuzlarına yönlendirir.
Bu makalede şunların nasıl yapılacağını öğreneceksiniz:
- İhtiyacınız olan ağ kaynakları için kaynak grubu oluşturma
- Ağ kaynaklarını oluşturma
- Uygulamanızdan gelen trafik için bir uygulama ağ geçidi oluşturma
- Farklı trafik türleri için sunucu havuzlarını ve yönlendirme kurallarını belirtme
- Havuzun otomatik olarak ölçeklenebilmesi için her havuz için bir ölçek kümesi oluşturma
- Farklı trafik türlerinin doğru havuza gittiğini doğrulayabilmeniz için bir test çalıştırın
İsterseniz, Azure PowerShell veya Azureportalını kullanarak bu yordamı tamamlayabilirsiniz.
Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.
Önkoşullar
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz. Azure Cloud Shell'i kullanmaya başlama.
CLI referans komutlarını yerel olarak çalıştırmayı tercih ediyorsanız, Azure CLI'yi yükleyin. Windows veya macOS üzerinde çalışıyorsanız, Azure CLI'yi bir Docker konteynerinde çalıştırmayı düşünün. Daha fazla bilgi için Azure CLI'nin bir Docker konteynerında nasıl çalıştırılacağını inceleyin.
Yerel bir kurulum kullanıyorsanız, az login komutunu kullanarak Azure CLI'ye giriş yapın. Kimlik doğrulama işlemini tamamlamak için, terminalinizde görüntülenen adımları takip edin. Diğer oturum açma seçenekleri için bkz. Azure CLI kullanarak Azure'da kimlik doğrulaması.
İ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 ve yönetme.
Yüklü olan sürümü ve bağımlı kütüphaneleri 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.
- Bu öğretici, Azure CLI'nın 2.0.4 veya sonraki bir sürümünü gerektirir. Azure Cloud Shell kullanılıyorsa en son sürüm zaten yüklüdür.
Bir kaynak grubu oluşturun
Kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği mantıksal bir kapsayıcıdır. kullanarak az group createbir kaynak grubu oluşturun.
Aşağıdaki örnek eastus konumunda myResourceGroupAG adlı bir kaynak grubu oluşturur.
az group create --name myResourceGroupAG --location eastus
Ağ kaynakları oluşturma
kullanarak myVNet adlı sanal ağı ve az network vnet create adlı alt ağı oluşturun. Ardından, kullanarak arka uç sunucuları için gereken az network vnet subnet create adlı bir alt ağ ekleyin. kullanarak az network public-ip create adlı genel IP adresini oluşturun.
az network vnet create \
--name myVNet \
--resource-group myResourceGroupAG \
--location eastus \
--address-prefix 10.0.0.0/16 \
--subnet-name myAGSubnet \
--subnet-prefix 10.0.1.0/24
az network vnet subnet create \
--name myBackendSubnet \
--resource-group myResourceGroupAG \
--vnet-name myVNet \
--address-prefix 10.0.2.0/24
az network public-ip create \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress \
--allocation-method Static \
--sku Standard
URL eşlemesi ile uygulama ağ geçidi oluşturma
az network application-gateway create adlı bir uygulama ağ geçidi oluşturmak için kullanın. Azure CLI kullanarak bir uygulama ağ geçidi oluşturduğunuzda, kapasite, sku ve HTTP ayarları gibi yapılandırma bilgilerini belirtirsiniz. Uygulama ağ geçidi myAGSubnet ve myAGPublicIPAddress'e atanır.
az network application-gateway create \
--name myAppGateway \
--location eastus \
--resource-group myResourceGroupAG \
--vnet-name myVNet \
--subnet myAGsubnet \
--capacity 2 \
--sku Standard_v2 \
--http-settings-cookie-based-affinity Disabled \
--frontend-port 80 \
--http-settings-port 80 \
--http-settings-protocol Http \
--public-ip-address myAGPublicIPAddress \
--priority 100
Uygulama ağ geçidinin oluşturulması birkaç dakika sürebilir. Uygulama ağ geçidi oluşturulduktan sonra şu yeni özellikleri görürsünüz:
| Özellik | Açıklama |
|---|---|
| appGatewayBackendPool | Bir uygulama ağ geçidinin en az bir arka uç adres havuzu olmalıdır. |
| appGatewayBackendHttpSettings | İletişim için 80 numaralı bağlantı noktasının ve HTTP protokollerinin kullanıldığını belirtir. |
| appGatewayHttpListener | appGatewayBackendPool ile ilişkilendirilmiş varsayılan dinleyici |
| appGatewayFrontendIP | appGatewayHttpListener'a myAGPublicIPAddress'i atar. |
| kural1 | appGatewayHttpListener ile ilişkili varsayılan yönlendirme kuralı. |
Görüntü ve video arka uç havuzları ve bağlantı noktası ekleme
kullanarak imagesBackendPool ve az network application-gateway address-pool create adlı arka uç havuzlarını uygulama ağ geçidinize ekleyin. Havuzlar için ön uç bağlantı noktasını az network application-gateway frontend-port create kullanarak eklersiniz.
az network application-gateway address-pool create \
--gateway-name myAppGateway \
--resource-group myResourceGroupAG \
--name imagesBackendPool
az network application-gateway address-pool create \
--gateway-name myAppGateway \
--resource-group myResourceGroupAG \
--name videoBackendPool
az network application-gateway frontend-port create \
--port 8080 \
--gateway-name myAppGateway \
--resource-group myResourceGroupAG \
--name port8080
Arka uç dinleyicisi ekleyin
gerekli trafiği kullanarak yönlendirmek için az network application-gateway http-listener create adlı arka uç dinleyicisini ekleyin.
az network application-gateway http-listener create \
--name backendListener \
--frontend-ip appGatewayFrontendIP \
--frontend-port port8080 \
--resource-group myResourceGroupAG \
--gateway-name myAppGateway
URL yol haritası ekleme
URL yolu eşlemeleri, belirli URL'lerin belirli arka uç havuzlarına yönlendirilmesini sağlar. Oluşturun imagePathRule ve videoPathRule adlı URL yol eşlemelerini, az network application-gateway url-path-map create ve az network application-gateway url-path-map rule create kullanarak.
az network application-gateway url-path-map create \
--gateway-name myAppGateway \
--name myPathMap \
--paths /images/* \
--resource-group myResourceGroupAG \
--address-pool imagesBackendPool \
--default-address-pool appGatewayBackendPool \
--default-http-settings appGatewayBackendHttpSettings \
--http-settings appGatewayBackendHttpSettings \
--rule-name imagePathRule
az network application-gateway url-path-map rule create \
--gateway-name myAppGateway \
--name videoPathRule \
--resource-group myResourceGroupAG \
--path-map-name myPathMap \
--paths /video/* \
--address-pool videoBackendPool \
--http-settings appGatewayBackendHttpSettings
Yönlendirme kuralı ekleme
Yönlendirme kuralı, URL eşlemelerini oluşturduğunuz dinleyiciyle ilişkilendirir. kullanarak az network application-gateway rule create adlı bir kural ekleyin.
az network application-gateway rule create \
--gateway-name myAppGateway \
--name rule2 \
--resource-group myResourceGroupAG \
--http-listener backendListener \
--rule-type PathBasedRouting \
--url-path-map myPathMap \
--address-pool appGatewayBackendPool \
--priority 200
Sanal Makine Ölçek Kümeleri oluşturma
Bu makalede, oluşturduğunuz üç arka uç havuzunu destekleyen üç Sanal Makine Ölçek Kümesi oluşturacaksınız. myvmss1, myvmss2 ve myvmss3 adlı ölçek kümeleri oluşturursunuz. Her ölçek kümesi, NGINX yüklediğiniz iki sanal makine örneği içerir.
for i in `seq 1 3`; do
if [ $i -eq 1 ]
then
poolName="appGatewayBackendPool"
fi
if [ $i -eq 2 ]
then
poolName="imagesBackendPool"
fi
if [ $i -eq 3 ]
then
poolName="videoBackendPool"
fi
az vmss create \
--name myvmss$i \
--resource-group myResourceGroupAG \
--image Ubuntu2204 \
--admin-username azureuser \
--admin-password Azure123456! \
--instance-count 2 \
--vnet-name myVNet \
--subnet myBackendSubnet \
--vm-sku Standard_DS2 \
--upgrade-policy-mode Automatic \
--app-gateway myAppGateway \
--backend-pool-name $poolName
done
NGINX yükleme
for i in `seq 1 3`; do
az vmss extension set \
--publisher Microsoft.Azure.Extensions \
--version 2.0 \
--name CustomScript \
--resource-group myResourceGroupAG \
--vmss-name myvmss$i \
--settings '{ "fileUris": ["https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/install_nginx.sh"], "commandToExecute": "./install_nginx.sh" }'
done
Uygulama ağ geçidini test edin
Uygulama ağ geçidinin genel IP adresini almak için az network public-ip show komutunu kullanın. Genel IP adresini kopyalayıp tarayıcınızın adres çubuğuna yapıştırın. Örneğin, http://40.121.222.19, http://40.121.222.19:8080/images/test.htmveya http://40.121.222.19:8080/video/test.htm.
az network public-ip show \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress \
--query [ipAddress] \
--output tsv
URL'yi http://< ip-address>:8080/images/test.html olarak değiştirin ve IP adresinizi ip-adresi< olarak >değiştirin ve aşağıdaki örneğe benzer bir şey görmeniz gerekir:
URL'yi http://< ip-address>:8080/video/test.htmlolarak değiştirin ve ip adresi< için >IP adresinizi değiştirin ve aşağıdaki örneğe benzer bir şey görmeniz gerekir.
Kaynakları temizle
Artık gerekli olmadığında kaynak grubunu, uygulama ağ geçidini ve tüm ilgili kaynakları kaldırın.
az group delete --name myResourceGroupAG
Sonraki Adımlar
URL yol tabanlı yeniden yönlendirme ile uygulama ağ geçidi oluşturma