Megosztás a következőn keresztül:


Webes forgalom kezelése alkalmazásátjáróval az Azure PowerShell használatával

Az alkalmazásátjáró kezeli az Ön által fenntartott kiszolgálókra irányuló webes forgalmat, és védelmet biztosít ahhoz. Az Azure PowerShell használatával létrehozhat egy olyan alkalmazásátjárót , amely virtuálisgép-méretezési csoportot használ a háttérkiszolgálókhoz a webes forgalom kezeléséhez. Ebben a példában a méretezési csoport két virtuálisgép-példányt tartalmaz, amelyek hozzá lesznek adva az alkalmazásátjáró alapértelmezett háttérkészletéhez.

Ebből a cikkből megtudhatja, hogyan:

  • A hálózat beállítása
  • Application Gateway létrehozása
  • Virtuális gépméretezési készlet létrehozása az alapértelmezett háttérkészlettel

Tetszés szerint az Azure CLI-vel végezheti el ezt az eljárást.

Ha nincs Azure-előfizetésed, hozz létre egy ingyenes fiókot mielőtt elkezdenéd.

Note

Javasoljuk az Azure Az PowerShell modult használni az Azure-val való interakcióhoz. Az első lépésekhez tekintse meg Az Azure PowerShell telepítése témakört. Az Az PowerShell-modulba való migrálásról további információt az Azure PowerShell migrálása az AzureRM-ből az Az-be című témakörben talál.

Azure Cloud Shell

Az Azure üzemelteti az Azure Cloud Shell-t, egy interaktív héjkörnyezetet, amelyet a böngésződön keresztül használhatsz. A Bash vagy a PowerShell segítségével is használhatja a Cloud Shellt az Azure-szolgáltatásokhoz. Felhasználhatja a Cloud Shell előre telepített parancsait a cikkben szereplő kód futtatására anélkül, hogy bármit telepítenie kellene a helyi környezetében.

Azure Cloud Shell elindítása:

Option Example/Link
A kód vagy parancsblokk jobb felső sarkában válassza a Kipróbálás lehetőséget. A Kipróbálás lehetőség választása nem másolja automatikusan a kódot vagy a parancsot a Cloud Shellbe. Képernyőkép az Azure Cloud Shell kipróbálásának példájáról.
Lépjen a https://shell.azure.com webhelyre, vagy válassza ki a Cloud Shell indítása gombot a Cloud Shell megnyitásához a böngészőjében. Gomb az Azure Cloud Shell elindításához.
Az Azure Portal jobb felső sarkában található menüben kattintson a Cloud Shell gombra. Az Azure portálon a Cloud Shell gombot mutató képernyőkép

Az Azure Cloud Shell használata:

  1. Indítsa el a Cloud Shell alkalmazást.

  2. A kód vagy parancs másolásához kattintson a Másolás gombra egy kódblokkon (vagy parancsblokkon).

  3. Másolja be a kódot vagy parancsot a Cloud Shell munkamenetbe a Windows és Linux rendszereken a Ctrl+Shift+V billentyűk kiválasztásával, vagy a macOS rendszeren a Cmd+Shift+V billentyűkiválasztásával.

  4. A kód vagy parancs futtatásához válassza az Enter lehetőséget .

Ha a PowerShell helyi telepítése és használata mellett dönt, ehhez a cikkhez az Azure PowerShell-modul 1.0.0-s vagy újabb verziójára van szükség. A verzió megkereséséhez futtassa a következőt: Get-Module -ListAvailable Az. Ha frissíteni szeretne, olvassa el az Azure PowerShell-modul telepítését ismertető cikket. Ha helyileg futtatja a PowerShellt, az Azure-ral való kapcsolat létrehozásához a Login-AzAccount parancsot is futtatnia kell.

Erőforráscsoport létrehozása

Az erőforráscsoport egy logikai tároló, amelyben az Azure-erőforrások üzembe helyezése és felügyelete történik. Hozzon létre egy Azure-erőforráscsoportot a New-AzResourceGroup használatával.

New-AzResourceGroup -Name myResourceGroupAG -Location eastus

Hálózati erőforrások létrehozása

Konfigurálja a myBackendSubnet és a myAGSubnet nevű alhálózatokat a New-AzVirtualNetworkSubnetConfig használatával. Hozza létre a virtuális hálózat myVNet-ét a New-AzVirtualNetwork használatával az alhálózat konfigurációival. Végül hozza létre a myAGPublicIPAddress nevű nyilvános IP-címet a New-AzPublicIpAddress használatával. Ezek az erőforrások biztosítják az alkalmazásátjáró és a hozzá kapcsolódó erőforrások hálózati kapcsolatát.

$backendSubnetConfig = New-AzVirtualNetworkSubnetConfig `
  -Name myBackendSubnet `
  -AddressPrefix 10.0.1.0/24

$agSubnetConfig = New-AzVirtualNetworkSubnetConfig `
  -Name myAGSubnet `
  -AddressPrefix 10.0.2.0/24

$vnet = New-AzVirtualNetwork `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -Name myVNet `
  -AddressPrefix 10.0.0.0/16 `
  -Subnet $backendSubnetConfig, $agSubnetConfig

$pip = New-AzPublicIpAddress `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -Name myAGPublicIPAddress `
  -AllocationMethod Static `
  -Sku Standard

Application Gateway létrehozása

Ebben a szakaszban olyan erőforrásokat hoz létre, amelyek támogatják az Application Gatewayt, majd végül létrehozzák azt. A létrehozott erőforrások a következők:

  • IP-konfigurációk és előtérbeli port – Társítja a korábban létrehozott alhálózatot az Application Gatewayhez, és hozzárendel egy portot a hozzáféréshez.
  • Alapértelmezett készlet – Minden alkalmazásátjárónak rendelkeznie kell legalább egy kiszolgálókészletével.
  • Alapértelmezett figyelő és szabály – Az alapértelmezett figyelő figyeli a hozzárendelt port forgalmát, és az alapértelmezett szabály az alapértelmezett készletbe küldi a forgalmat.

Az IP-konfigurációk és az előtérbeli port létrehozása

Társítsa a korábban létrehozott myAGSubnetet az Application Gatewayhez a New-AzApplicationGatewayIPConfiguration használatával. Rendelje hozzá myAGPublicIPAddress az alkalmazás átjáróhoz a New-AzApplicationGatewayFrontendIPConfig használatával.

$vnet = Get-AzVirtualNetwork `
  -ResourceGroupName myResourceGroupAG `
  -Name myVNet

$subnet=$vnet.Subnets[1]

$gipconfig = New-AzApplicationGatewayIPConfiguration `
  -Name myAGIPConfig `
  -Subnet $subnet

$fipconfig = New-AzApplicationGatewayFrontendIPConfig `
  -Name myAGFrontendIPConfig `
  -PublicIPAddress $pip

$frontendport = New-AzApplicationGatewayFrontendPort `
  -Name myFrontendPort `
  -Port 80

A háttérkészlet létrehozása és beállítása

Hozza létre az appGatewayBackendPool nevű háttérkészletet az application gateway számára a New-AzApplicationGatewayBackendAddressPool használatával. Konfigurálja a háttércímkészletek beállításait a New-AzApplicationGatewayBackendHttpSettings használatával.

$defaultPool = New-AzApplicationGatewayBackendAddressPool `
  -Name appGatewayBackendPool

$poolSettings = New-AzApplicationGatewayBackendHttpSettings `
  -Name myPoolSettings `
  -Port 80 `
  -Protocol Http `
  -CookieBasedAffinity Enabled `
  -RequestTimeout 120

Az alapértelmezett figyelő és szabály létrehozása

A figyelő ahhoz szükséges, hogy az alkalmazás átjárója megfelelően irányíthassa a forgalmat a háttércsoporthoz. Ebben a példában egy alapszintű figyelőt hoz létre, amely a fő URL-címen figyeli a forgalmat.

Hozzon létre egy mydefaultListener nevű figyelőt a New-AzApplicationGatewayHttpListener használatával a korábban létrehozott előtér-konfigurációval és előtérporttal. Egy szabályra van szükség ahhoz, hogy a hallgató tudja, melyik backendkészletet használja a bejövő forgalomhoz. Hozzon létre egy szabály1 nevű alapvető szabályt a New-AzApplicationGatewayRequestRoutingRule használatával.

$defaultlistener = New-AzApplicationGatewayHttpListener `
  -Name mydefaultListener `
  -Protocol Http `
  -FrontendIPConfiguration $fipconfig `
  -FrontendPort $frontendport

$frontendRule = New-AzApplicationGatewayRequestRoutingRule `
  -Name rule1 `
  -RuleType Basic `
  -HttpListener $defaultlistener `
  -BackendAddressPool $defaultPool `
  -BackendHttpSettings $poolSettings

Application Gateway létrehozása

Most, hogy létrehozta a szükséges támogató erőforrásokat, adja meg az application gateway paramétereit a New-AzApplicationGatewaySku használatával, majd hozza létre a New-AzApplicationGateway használatával.

$sku = New-AzApplicationGatewaySku `
  -Name Standard_v2 `
  -Tier Standard_v2 `
  -Capacity 2

$appgw = New-AzApplicationGateway `
  -Name myAppGateway `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -BackendAddressPools $defaultPool `
  -BackendHttpSettingsCollection $poolSettings `
  -FrontendIpConfigurations $fipconfig `
  -GatewayIpConfigurations $gipconfig `
  -FrontendPorts $frontendport `
  -HttpListeners $defaultlistener `
  -RequestRoutingRules $frontendRule `
  -Sku $sku

Virtuálisgép-méretezési csoport létrehozása

Ebben a példában létrehoz egy virtuálisgép-méretezési csoportot, amely kiszolgálókat biztosít a háttérkészlethez az Application Gatewayben. Az IP-beállítások konfigurálásakor hozzárendelheti a skálakészletet a háttérkészlethez.

$vnet = Get-AzVirtualNetwork `
  -ResourceGroupName myResourceGroupAG `
  -Name myVNet

$appgw = Get-AzApplicationGateway `
  -ResourceGroupName myResourceGroupAG `
  -Name myAppGateway

$backendPool = Get-AzApplicationGatewayBackendAddressPool `
  -Name appGatewayBackendPool `
  -ApplicationGateway $appgw

$ipConfig = New-AzVmssIpConfig `
  -Name myVmssIPConfig `
  -SubnetId $vnet.Subnets[0].Id `
  -ApplicationGatewayBackendAddressPoolsId $backendPool.Id

$vmssConfig = New-AzVmssConfig `
  -Location eastus `
  -SkuCapacity 2 `
  -SkuName Standard_DS2_v2 `
  -UpgradePolicyMode Automatic

Set-AzVmssStorageProfile $vmssConfig `
  -ImageReferencePublisher MicrosoftWindowsServer `
  -ImageReferenceOffer WindowsServer `
  -ImageReferenceSku 2016-Datacenter `
  -ImageReferenceVersion latest `
  -OsDiskCreateOption FromImage

Set-AzVmssOsProfile $vmssConfig `
  -AdminUsername azureuser `
  -AdminPassword "Azure123456!" `
  -ComputerNamePrefix myvmss

Add-AzVmssNetworkInterfaceConfiguration `
  -VirtualMachineScaleSet $vmssConfig `
  -Name myVmssNetConfig `
  -Primary $true `
  -IPConfiguration $ipConfig

New-AzVmss `
  -ResourceGroupName myResourceGroupAG `
  -Name myvmss `
  -VirtualMachineScaleSet $vmssConfig

Az IIS telepítése

$publicSettings = @{ "fileUris" = (,"https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/appgatewayurl.ps1"); 
  "commandToExecute" = "powershell -ExecutionPolicy Unrestricted -File appgatewayurl.ps1" }

$vmss = Get-AzVmss -ResourceGroupName myResourceGroupAG -VMScaleSetName myvmss

Add-AzVmssExtension -VirtualMachineScaleSet $vmss `
  -Name "customScript" `
  -Publisher "Microsoft.Compute" `
  -Type "CustomScriptExtension" `
  -TypeHandlerVersion 1.8 `
  -Setting $publicSettings

Update-AzVmss `
  -ResourceGroupName myResourceGroupAG `
  -Name myvmss `
  -VirtualMachineScaleSet $vmss

Az Application Gateway tesztelése

Az Application Gateway nyilvános IP-címének lekéréséhez használja a Get-AzPublicIPAddress parancsot. Másolja a nyilvános IP-címet, majd illessze be a böngésző címsorába.

Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress

Az alap URL-cím tesztelése az alkalmazásátjáróban

Erőforrások tisztítása

Ha már nincs rá szükség, távolítsa el az erőforráscsoportot, az Application Gatewayt és az összes kapcsolódó erőforrást a Remove-AzResourceGroup használatával.

Remove-AzResourceGroup -Name myResourceGroupAG

Következő lépések

Webes forgalom korlátozása webalkalmazási tűzfallal