Aracılığıyla paylaş


Azure CLI kullanarak TSL sonlandırma ile bir uygulama ağ geçidi oluşturma

Azure CLI'yi kullanarak TLS sonlandırma sertifikasına sahip bir uygulama ağ geçidi oluşturabilirsiniz. Arka uç sunucuları için bir Sanal Makine Ölçek Kümesi kullanabilirsiniz. Bu örnekte örnek kümesi, uygulama ağ geçidinin varsayılan arka uç havuzuna eklenen iki sanal makine örneğini içerir.

Bu makalede şunları öğreneceksiniz:

  • Otomatik olarak imzalanan sertifika oluşturma
  • Ağ ayarlama
  • Sertifikalı bir uygulama ağ geçidi oluşturma
  • Varsayılan arka uç havuzuyla sanal makine ölçek kümesi oluşturma

İsterseniz Azure PowerShell kullanarak bu yordamı tamamlayabilirsiniz.

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.

  • 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.

Otomatik olarak imzalanan sertifika oluşturma

Üretim sırasında kullanım için, güvenilen bir sağlayıcı tarafından imzalanan geçerli bir sertifikayı içeri aktarmalısınız. Bu makalede, 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ı olan değerler girin. Varsayılan değerleri kabul edebilirsiniz.

openssl pkcs12 -export -out appgwcert.pfx -inkey privateKey.key -in appgwcert.crt

Sertifika için parola belirtin. Bu örnekte Azure123456 ! kullanılıyor.

Kaynak grubu oluşturma

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. Ardından az network vnet subnet create komutunu kullanarak arka uç sunucuları için gereken myBackendSubnet adlı alt ağı 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 \
  --allocation-method Static \
  --sku Standard \
  --location eastus

Uygulama ağ geçidi oluşturma

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 olluşturduğunuz sertifika ve uygulama ağ geçidini oluşturduğunuz zamanki parolasını ilişkilendiirirsiniz.

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 443 \
  --http-settings-port 80 \
  --http-settings-protocol Http \
  --priority "1" \
  --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.

Sanal Makine Ölçek Kümesi oluşturma

Bu örnekte, uygulama ağ geçidindeki varsayılan arka uç havuzu için sunucular sağlayan 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 etme

Uygulama ağ geçidinin genel IP adresini almak için az network public-ip show komutunu kullanın.

az network public-ip show \
  --resource-group myResourceGroupAG \
  --name myAGPublicIPAddress \
  --query [ipAddress] \
  --output tsv

Genel IP adresini kopyalayıp tarayıcınızın adres çubuğuna yapıştırın. Bu örnekte URL: https://52.170.203.149.

Güvenli uyarı

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, sonra aşağıdaki örnekte olduğu gibi görüntülenir:

Temel URL’yi uygulama ağ geçidinde test etme

Kaynakları temizleme

Artık gerekli olmadığında kaynak grubunu, uygulama ağ geçidini ve tüm ilgili kaynakları silin.

az group delete --name myResourceGroupAG --location eastus

Sonraki adımlar

Birden çok web sitesi barındıran bir uygulama ağ geçidi oluşturma