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.
Azure CLI'yi kullanarak TLS/SSL sonlandırma sertifikasına sahip bir uygulama ağ geçidi oluşturabilirsiniz. Yönlendirme kuralı, HTTP trafiğini uygulama ağ geçidinizdeki HTTPS bağlantı noktasına yönlendirmek için kullanılır. Bu örnekte, iki sanal makine örneği içeren uygulama ağ geçidinin arka uç havuzu için bir Sanal Makine Ölçek Kümesi de oluşturursunuz.
Bu makalede şunların nasıl yapılacağını öğreneceksiniz:
- Kendinden imzalı sertifika oluşturma
- Ağ ayarlama
- Sertifikayla uygulama ağ geçidi oluşturma
- Dinleyici ekleyin ve yeniden yönlendirme kuralı ekleyin
- Varsayılan arka uç havuzuyla sanal makine ölçek kümesi oluşturma
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.
Kendinden imzalı sertifika oluşturma
Üretim kullanımı için, güvenilir bir sağlayıcı tarafından imzalanan geçerli bir sertifikayı içeri aktarmanız gerekir. Bu öğreticide, openssl komutunu kullanarak otomatik olarak imzalanan bir sertifika ve pfx dosyası oluşturursunuz.
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out appgwcert.crt
Sertifikanız için anlamlı değerler girin. Varsayılan değerleri kabul edebilirsiniz.
openssl pkcs12 -export -out appgwcert.pfx -inkey privateKey.key -in appgwcert.crt
Sertifikanın parolasını girin. Bu örnekte Azure123456! kullanılıyor.
Bir kaynak grubu oluşturun
Kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır. az group create ile bir 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
az network vnet create komutunu kullanarak myVNet adlı sanal ağı ve myAGSubnet adlı alt ağı oluşturun. Arka uç sunucuları için gereken myBackendSubnet adlı alt ağı, az network vnet subnet create komutunu kullanarak ekleyebilirsiniz. az network public-ip create komutunu kullanarak myAGPublicIPAddress 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
Uygulama ağ geçidi oluşturma
myAppGateway adlı uygulama ağ geçidini oluşturmak için az network application-gateway create komutunu kullanabilirsiniz. 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’e ve daha önce oluşturduğunuz myAGPublicIPAddress’e atanır. Bu örnekte, oluşturduğunuz sertifikayı ve uygulama ağ geçidini oluştururken parolasını ilişkilendirirsiniz.
az network application-gateway create \
--name myAppGateway \
--location eastus \
--resource-group myResourceGroupAG \
--vnet-name myVNet \
--subnet myAGsubnet \
--capacity 2 \
--sku Standard_Medium \
--http-settings-cookie-based-affinity Disabled \
--frontend-port 443 \
--http-settings-port 80 \
--http-settings-protocol Http \
--public-ip-address myAGPublicIPAddress \
--cert-file appgwcert.pfx \
--cert-password "Azure123456!"
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:
- appGatewayBackendPool: Bir uygulama ağ geçidi en az bir arka uç adres havuzuna sahip olmalıdır.
- appGatewayBackendHttpSettings: İletişim için 80 numaralı bağlantı noktasının ve HTTP protokolünün kullanıldığını belirtir.
- appGatewayHttpListener: appGatewayBackendPool ile ilişkili varsayılan dinleyicidir.
- appGatewayFrontendIP - appGatewayHttpListener’a myAGPublicIPAddress’i atar.
- kural 1 - appGatewayHttpListener ile ilişkili varsayılan yönlendirme kuralıdır.
Dinleyici ekleyin ve yeniden yönlendirme kuralı ekleyin
HTTP bağlantı noktasını ekleme
HTTP bağlantı noktasını uygulama ağ geçidine eklemek için az network application-gateway frontend-port create komutunu kullanabilirsiniz.
az network application-gateway frontend-port create \
--port 80 \
--gateway-name myAppGateway \
--resource-group myResourceGroupAG \
--name httpPort
HTTP dinleyicisini ekleme
az network application-gateway http-listener create komutunu kullanarak myListener adlı dinleyiciyi uygulama ağ geçidine ekleyebilirsiniz.
az network application-gateway http-listener create \
--name myListener \
--frontend-ip appGatewayFrontendIP \
--frontend-port httpPort \
--resource-group myResourceGroupAG \
--gateway-name myAppGateway
Yeniden yönlendirme yapılandırmasını ekleme
az network application-gateway redirect-config create \
--name httpToHttps \
--gateway-name myAppGateway \
--resource-group myResourceGroupAG \
--type Permanent \
--target-listener appGatewayHttpListener \
--include-path true \
--include-query-string true
Yönlendirme kuralını ekleme
az network application-gateway rule create komutunu kullanarak rule2 adlı yönlendirme kuralını, yeniden yönlendirme yapılandırmasıyla uygulama ağ geçidine ekleyin.
az network application-gateway rule create \
--gateway-name myAppGateway \
--name rule2 \
--resource-group myResourceGroupAG \
--http-listener myListener \
--rule-type Basic \
--redirect-config httpToHttps
Sanal Makine Ölçek Kümesi Oluştur
Bu örnekte, uygulama ağ geçidindeki arka uç havuzu için sunucular sağlayan myvmss adlı bir Sanal Makine Ölçek Kümesi oluşturursunuz. Ölçek kümesindeki sanal makineler myBackendSubnet ve appGatewayBackendPool ile ilişkilidir. Ölçek kümesini oluşturmak için az vmss create komutunu kullanabilirsiniz.
az vmss create \
--name myvmss \
--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 appGatewayBackendPool
NGINX yükleme
az vmss extension set \
--publisher Microsoft.Azure.Extensions \
--version 2.0 \
--name CustomScript \
--resource-group myResourceGroupAG \
--vmss-name myvmss \
--settings '{ "fileUris": ["https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/install_nginx.sh"],
"commandToExecute": "./install_nginx.sh" }'
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.
az network public-ip show \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress \
--query [ipAddress] \
--output tsv
Otomatik olarak imzalanan sertifika kullandıysanız güvenlik uyarısını kabul etmek için, Ayrıntılar’ı seçin ve sonra Web sayfasına gidin: Güvenli NGINX siteniz aşağıdaki örnekte gösterildiği gibi görüntülenir: