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.
Ezt a rövid útmutatót az Azure CLI vagy az Azure Portal használatával is elvégezheti.
Feljegyzés
Az Application Gateway előtérrendszere mostantól támogatja a kettős veremű IP-címeket (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).
Előfeltételek
- Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
- Az Azure PowerShell 1.0.0-s vagy újabb verziója (ha helyileg futtatja az Azure PowerShellt).
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. | ![]() |
Látogasson el a https://shell.azure.com webhelyre, vagy kattintson a Cloud Shell indítása gombra a böngészőben. | ![]() |
Az Azure Portal jobb felső sarkában található menüben kattintson a Cloud Shell gombra. | ![]() |
Az Azure Cloud Shell használata:
Indítsa el a Cloud Shellt.
A kód vagy parancs másolásához kattintson a Másolás gombra egy kódblokkon (vagy parancsblokkon).
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.
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ése témakört. 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.
- Alhálózat-konfigurációk létrehozása a következővel
New-AzVirtualNetworkSubnetConfig
: . - Hozza létre a virtuális hálózatot az alhálózati konfigurációkkal a következő használatával
New-AzVirtualNetwork
: . - 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
Ebben a példában a Standard v2 termékváltozatot használjuk.
Az IP-konfigurációk és az előtérbeli port létrehozása
- A létrehozott alhálózatot az Application Gatewayhez társító konfiguráció létrehozásához használható
New-AzApplicationGatewayIPConfiguration
. - 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
. - 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
- 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. - 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.
- Hozzon létre egy figyelőt
New-AzApplicationGatewayHttpListener
a korábban létrehozott előtér-konfigurációval és előtérporttal. - 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:
- Az Application Gateway paramétereinek megadására használható
New-AzApplicationGatewaySku
. - 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
Tipp.
A paraméterek értékeit Name
Tier
módosíthatja egy másik termékváltozat használatára. Például: Basic
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
- Szerezze be a nemrég létrehozott Application Gateway háttérkészlet-konfigurációt a következővel
Get-AzApplicationGatewayBackendAddressPool
: . - Hozzon létre egy hálózati adaptert a .
New-AzNetworkInterface
- Virtuálisgép-konfiguráció létrehozása a .
New-AzVMConfig
- 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:
- Futtassa
Get-AzPublicIPAddress
az Application Gateway nyilvános IP-címének lekéréséhez. - 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
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