Rövid útmutató: Webes forgalom irányítása Azure-alkalmazás Átjáróval az Azure PowerShell használatával

Ebben a rövid útmutatóban az Azure PowerShell használatával hozhat létre egy alkalmazásátjárót. Ezután tesztelje, hogy megfelelően működik-e.

Az Application Gateway egy háttérkészlet adott erőforrásaira irányítja az alkalmazás webes forgalmát. Figyelőket rendelhet a portokhoz, szabályokat hozhat létre, és erőforrásokat adhat hozzá egy háttérkészlethez. Az egyszerűség kedvéért ez a cikk egy egyszerű beállítást használ egy nyilvános előtérbeli IP-címmel, egy alapszintű figyelővel, amely egyetlen helyet üzemeltet az Application Gatewayen, egy alapszintű kérés-útválasztási szabályt és két virtuális gépet a háttérkészletben.

application gateway resources

Ezt a rövid útmutatót az Azure CLI vagy az Azure Portal használatával is elvégezheti.

Előfeltételek

Azure Cloud Shell

Az Azure által üzemeltetett Azure Cloud Shell egy interaktív felület, amelyet a böngészőből használhat. A Bash vagy a PowerShell segítségével is használhatja a Cloud Shellt az Azure-szolgáltatásokhoz. A Cloud Shell előre telepített parancsaival futtathatja a jelen cikkben szereplő kódot anélkül, hogy bármit telepítenie kellene a helyi környezetben.

Az Azure Cloud Shell indítása:

Lehetőség Példa/hivatkozás
Válassza a Kipróbálás lehetőséget egy kód vagy parancsblokk jobb felső sarkában. A Kipróbálás lehetőség választása nem másolja automatikusan a kódot vagy a parancsot a Cloud Shellbe. Screenshot that shows an example of Try It for Azure Cloud Shell.
Látogasson el a https://shell.azure.com webhelyre, vagy kattintson a Cloud Shell indítása gombra a böngészőben. Button to launch Azure Cloud Shell.
Az Azure Portal jobb felső sarkában található menüben kattintson a Cloud Shell gombra. Screenshot that shows the Cloud Shell button in the Azure portal

Az Azure Cloud Shell használata:

  1. Indítsa el a Cloud Shellt.

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

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

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

Feljegyzés

Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Az első lépésekhez tekintse meg az Azure PowerShell telepítését ismertető szakaszt. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

Csatlakozás az Azure szolgáltatáshoz

Az Azure-hoz való csatlakozáshoz futtassa a következőt Connect-AzAccount:

Erőforráscsoport létrehozása

Az Azure-ban hozzárendelhet kapcsolódó erőforrásokat egy erőforráscsoporthoz. Használhat egy meglévő erőforráscsoportot, vagy létrehozhat egy újat.

Új erőforráscsoport létrehozásához használja a New-AzResourceGroup parancsmagot:

New-AzResourceGroup -Name myResourceGroupAG -Location eastus

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

Ahhoz, hogy az Azure kommunikálhasson a létrehozott erőforrások között, virtuális hálózatra van szüksége. Az Application Gateway alhálózata csak alkalmazásátjárókat tartalmazhat. Más erőforrások nem engedélyezettek. Létrehozhat egy új alhálózatot az Application Gatewayhez, vagy használhat egy meglévőt. Ebben a példában két alhálózatot hoz létre: egyet az application gatewayhez, a másikat a háttérkiszolgálókhoz. Az Application Gateway előtérbeli IP-címét konfigurálhatja úgy, hogy a használati esetnek megfelelően nyilvános vagy privát legyen. Ebben a példában egy nyilvános előtérbeli IP-címet fog választani.

  1. Alhálózat-konfigurációk létrehozása a következővel New-AzVirtualNetworkSubnetConfig: .
  2. Hozza létre a virtuális hálózatot az alhálózati konfigurációkkal a következő használatával New-AzVirtualNetwork: .
  3. Hozza létre a nyilvános IP-címet a következővel New-AzPublicIpAddress: .

Feljegyzés

A virtuális hálózati szolgáltatás végpontszabályzatai jelenleg nem támogatottak az Application Gateway alhálózatában.

$agSubnetConfig = New-AzVirtualNetworkSubnetConfig `
  -Name myAGSubnet `
  -AddressPrefix 10.21.0.0/24
$backendSubnetConfig = New-AzVirtualNetworkSubnetConfig `
  -Name myBackendSubnet `
  -AddressPrefix 10.21.1.0/24
New-AzVirtualNetwork `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -Name myVNet `
  -AddressPrefix 10.21.0.0/16 `
  -Subnet $agSubnetConfig, $backendSubnetConfig
New-AzPublicIpAddress `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -Name myAGPublicIPAddress `
  -AllocationMethod Static `
  -Sku Standard

Application Gateway létrehozása

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

  1. A létrehozott alhálózatot az Application Gatewayhez társító konfiguráció létrehozásához használható New-AzApplicationGatewayIPConfiguration .
  2. A korábban az Application Gatewayhez létrehozott nyilvános IP-címet hozzárendelő konfiguráció létrehozásához használható New-AzApplicationGatewayFrontendIPConfig .
  3. A New-AzApplicationGatewayFrontendPort 80-os port hozzárendelésével érheti el az Application Gatewayt.
$vnet   = Get-AzVirtualNetwork -ResourceGroupName myResourceGroupAG -Name myVNet
$subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name myAGSubnet
$pip    = Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress 
$gipconfig = New-AzApplicationGatewayIPConfiguration `
  -Name myAGIPConfig `
  -Subnet $subnet
$fipconfig = New-AzApplicationGatewayFrontendIPConfig `
  -Name myAGFrontendIPConfig `
  -PublicIPAddress $pip
$frontendport = New-AzApplicationGatewayFrontendPort `
  -Name myFrontendPort `
  -Port 80

Feljegyzés

Az Application Gateway előtere mostantól támogatja a kettős veremű IP-címeket (nyilvános előzetes verzió). Mostantól legfeljebb négy előtérbeli IP-címet hozhat létre: két IPv4-címet (nyilvános és privát) és két IPv6-címet (nyilvános és privát).

A háttérkészlet létrehozása

  1. Az Application Gateway háttérkészletének létrehozásához használható New-AzApplicationGatewayBackendAddressPool . A háttérkészlet egyelőre üres. Amikor a következő szakaszban létrehozza a háttérkiszolgáló hálózati adapterét, hozzáadja őket a háttérkészlethez.
  2. Konfigurálja a háttérkészlet beállításait a következővel New-AzApplicationGatewayBackendHttpSetting: .
$backendPool = New-AzApplicationGatewayBackendAddressPool `
  -Name myAGBackendPool
$poolSettings = New-AzApplicationGatewayBackendHttpSetting `
  -Name myPoolSettings `
  -Port 80 `
  -Protocol Http `
  -CookieBasedAffinity Enabled `
  -RequestTimeout 30

Figyelő létrehozása és szabály hozzáadása

Az Azure-nak szüksége van egy figyelőre, hogy engedélyezze az Application Gateway számára a forgalom megfelelő átirányítását a háttérkészlethez. Az Azure azt is megköveteli, hogy a figyelő tudja, melyik háttérkészletet használja a bejövő forgalomhoz.

  1. Hozzon létre egy figyelőt New-AzApplicationGatewayHttpListener a korábban létrehozott előtér-konfigurációval és előtérporttal.
  2. Szabály1 nevű szabály létrehozásához használhatóNew-AzApplicationGatewayRequestRoutingRule.
$defaultlistener = New-AzApplicationGatewayHttpListener `
  -Name myAGListener `
  -Protocol Http `
  -FrontendIPConfiguration $fipconfig `
  -FrontendPort $frontendport
$frontendRule = New-AzApplicationGatewayRequestRoutingRule `
  -Name rule1 `
  -RuleType Basic `
  -Priority 100 `
  -HttpListener $defaultlistener `
  -BackendAddressPool $backendPool `
  -BackendHttpSettings $poolSettings

Application Gateway létrehozása

Most, hogy létrehozta a szükséges támogató erőforrásokat, hozza létre az Application Gatewayt:

  1. Az Application Gateway paramétereinek megadására használható New-AzApplicationGatewaySku .
  2. Az Application Gateway létrehozásához használható New-AzApplicationGateway .
$sku = New-AzApplicationGatewaySku `
  -Name Standard_v2 `
  -Tier Standard_v2 `
  -Capacity 2
New-AzApplicationGateway `
  -Name myAppGateway `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -BackendAddressPools $backendPool `
  -BackendHttpSettingsCollection $poolSettings `
  -FrontendIpConfigurations $fipconfig `
  -GatewayIpConfigurations $gipconfig `
  -FrontendPorts $frontendport `
  -HttpListeners $defaultlistener `
  -RequestRoutingRules $frontendRule `
  -Sku $sku

Háttérkiszolgálók

Most, hogy létrehozta az Application Gatewayt, hozza létre a webhelyeket üzemeltető háttérbeli virtuális gépeket. A háttérrendszer lehet hálózati adapterekből, virtuálisgép-méretezési csoportokból, nyilvános IP-címből, belső IP-címből, teljes tartománynevekből (FQDN) és több-bérlős háttérrendszerekből, például Azure-alkalmazás szolgáltatásból.

Ebben a példában két virtuális gépet hoz létre az Application Gateway háttérkiszolgálójaként. Az IIS-t a virtuális gépekre is telepítheti annak ellenőrzéséhez, hogy az Azure sikeresen létrehozta-e az application gatewayt.

Két virtuális gép létrehozása

  1. Szerezze be a nemrég létrehozott Application Gateway háttérkészlet-konfigurációt a következővel Get-AzApplicationGatewayBackendAddressPool: .
  2. Hozzon létre egy hálózati adaptert a .New-AzNetworkInterface
  3. Virtuálisgép-konfiguráció létrehozása a .New-AzVMConfig
  4. Hozza létre a virtuális gépet a következővel New-AzVM: .

Amikor a következő kódmintát futtatja a virtuális gépek létrehozásához, az Azure hitelesítő adatokat kér. Adjon meg egy felhasználónevet és egy jelszót:

$appgw = Get-AzApplicationGateway -ResourceGroupName myResourceGroupAG -Name myAppGateway
$backendPool = Get-AzApplicationGatewayBackendAddressPool -Name myAGBackendPool -ApplicationGateway $appgw
$vnet   = Get-AzVirtualNetwork -ResourceGroupName myResourceGroupAG -Name myVNet
$subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name myBackendSubnet
$cred = Get-Credential
for ($i=1; $i -le 2; $i++)
{
  $nic = New-AzNetworkInterface `
    -Name myNic$i `
    -ResourceGroupName myResourceGroupAG `
    -Location EastUS `
    -Subnet $subnet `
    -ApplicationGatewayBackendAddressPool $backendpool
  $vm = New-AzVMConfig `
    -VMName myVM$i `
    -VMSize Standard_DS2_v2
  Set-AzVMOperatingSystem `
    -VM $vm `
    -Windows `
    -ComputerName myVM$i `
    -Credential $cred
  Set-AzVMSourceImage `
    -VM $vm `
    -PublisherName MicrosoftWindowsServer `
    -Offer WindowsServer `
    -Skus 2016-Datacenter `
    -Version latest
  Add-AzVMNetworkInterface `
    -VM $vm `
    -Id $nic.Id
  Set-AzVMBootDiagnostic `
    -VM $vm `
    -Disable
  New-AzVM -ResourceGroupName myResourceGroupAG -Location EastUS -VM $vm
  Set-AzVMExtension `
    -ResourceGroupName myResourceGroupAG `
    -ExtensionName IIS `
    -VMName myVM$i `
    -Publisher Microsoft.Compute `
    -ExtensionType CustomScriptExtension `
    -TypeHandlerVersion 1.4 `
    -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}' `
    -Location EastUS
}

Az alkalmazásátjáró tesztelése

Bár az alkalmazásátjáró létrehozásához nincs szükség IIS-ra, ebben a rövid útmutatóban telepítette annak ellenőrzéséhez, hogy az Azure sikeresen létrehozta-e az application gatewayt.

Az IIS használatával tesztelje az Application Gatewayt:

  1. Futtassa Get-AzPublicIPAddress az Application Gateway nyilvános IP-címének lekéréséhez.
  2. Másolja és illessze be a nyilvános IP-címet a böngésző címsorába. A böngésző frissítésekor látnia kell a virtuális gép nevét. Egy érvényes válasz ellenőrzi, hogy az application gateway sikeresen létrejött-e, és sikeresen tud-e csatlakozni a háttérrendszerhez.
Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress

Test application gateway

Az erőforrások eltávolítása

Ha már nincs szüksége az application gatewayrel létrehozott erőforrásokra, törölje az erőforráscsoportot. Az erőforráscsoport törlésekor az Application Gatewayt és annak összes kapcsolódó erőforrását is törli.

Az erőforráscsoport törléséhez hívja meg a Remove-AzResourceGroup parancsmagot:

Remove-AzResourceGroup -Name myResourceGroupAG

Következő lépések