Application Gateway létrehozása TLS-visszafejtéssel az Azure PowerShell használatával
Az Azure PowerShell használatával létrehozhat egy olyan TLS/SSL-leállításitanúsítvánnyal rendelkező application gatewayt, amely egy virtuálisgép-méretezési csoportot használ a háttérkiszolgálókhoz. 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.
Ebben a cikkben az alábbiakkal ismerkedhet meg:
- Önaláírt tanúsítvány létrehozása
- Hálózat beállítása
- Alkalmazásátjáró létrehozása a tanúsítvánnyal
- Virtuálisgép-méretezési csoport létrehozása az alapértelmezett háttérkészlettel
Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.
Megjegyzés:
We recommend that you use the Azure Az PowerShell module to interact with Azure. See Install Azure PowerShell to get started. To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.
Ez a cikk az Azure PowerShell-modul 1.0.0-s vagy újabb verzióját igényli. A verzió azonosításához 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 is futnia Login-AzAccount
kell.
Önaláírt tanúsítvány létrehozása
Éles környezetben importálnia kell egy megbízható szolgáltató által aláírt érvényes tanúsítványt. Ebben a cikkben önaláírt tanúsítványt hoz létre a New-SelfSignedCertificate használatával. Az Export-PfxCertificate parancsmagot a visszaadott ujjlenyomattal futtatva egy PFX-fájlt exportálhat a tanúsítványból.
New-SelfSignedCertificate `
-certstorelocation cert:\localmachine\my `
-dnsname www.contoso.com
Ennek nagyjából a következőképpen kell kinéznie:
PSParentPath: Microsoft.PowerShell.Security\Certificate::LocalMachine\my
Thumbprint Subject
---------- -------
E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630 CN=www.contoso.com
A PFX-fájl létrehozása az ujjlenyomattal:
$pwd = ConvertTo-SecureString -String "Azure123456!" -Force -AsPlainText
Export-PfxCertificate `
-cert cert:\localMachine\my\E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630 `
-FilePath c:\appgwcert.pfx `
-Password $pwd
Erőforráscsoport létrehozása
Az erőforráscsoport olyan logikai tároló, amelybe a rendszer üzembe helyezi és kezeli az Azure-erőforrásokat. Hozzon létre egy myResourceGroupAG nevű 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 myVNet nevű virtuális hálózatot 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
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á a myAGPublicIPAddress parancsot az application gatewayhez a New-AzApplicationGatewayFrontendIPConfig használatával.
$vnet = Get-AzVirtualNetwork `
-ResourceGroupName myResourceGroupAG `
-Name myVNet
$subnet=$vnet.Subnets[0]
$gipconfig = New-AzApplicationGatewayIPConfiguration `
-Name myAGIPConfig `
-Subnet $subnet
$fipconfig = New-AzApplicationGatewayFrontendIPConfig `
-Name myAGFrontendIPConfig `
-PublicIPAddress $pip
$frontendport = New-AzApplicationGatewayFrontendPort `
-Name myFrontendPort `
-Port 443
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 gatewayhez a New-AzApplicationGatewayBackendAddressPool használatával. Konfigurálja a háttérkészlet beállításait a New-AzApplicationGatewayBackendHttp Gépház 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ó megfelelően irányíthassa a forgalmat a háttérkészlethez. Ebben a példában egy alapszintű figyelőt hoz létre, amely a gyökér URL-cím HTTPS-forgalmát figyeli.
Hozzon létre egy tanúsítványobjektumot a New-AzApplicationGatewaySslCertificate használatával, majd 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, előtérporttal és tanúsítvánnyal. A szabály ahhoz szükséges, hogy a figyelő tudja, melyik háttérkészletet használja a bejövő forgalomhoz. Hozzon létre egy szabály1 nevű alapvető szabályt a New-AzApplicationGatewayRequestRoutingRule használatával.
$pwd = ConvertTo-SecureString `
-String "Azure123456!" `
-Force `
-AsPlainText
$cert = New-AzApplicationGatewaySslCertificate `
-Name "appgwcert" `
-CertificateFile "c:\appgwcert.pfx" `
-Password $pwd
$defaultlistener = New-AzApplicationGatewayHttpListener `
-Name mydefaultListener `
-Protocol Https `
-FrontendIPConfiguration $fipconfig `
-FrontendPort $frontendport `
-SslCertificate $cert
$frontendRule = New-AzApplicationGatewayRequestRoutingRule `
-Name rule1 `
-RuleType Basic `
-HttpListener $defaultlistener `
-BackendAddressPool $defaultPool `
-BackendHttpSettings $poolSettings `
-priority 100
Az alkalmazásátjáró létrehozása a tanúsítvánnyal
Most, hogy létrehozta a szükséges támogató erőforrásokat, adja meg a myAppGateway nevű application gateway paramétereit a New-AzApplicationGatewaySku használatával, majd hozza létre a New-AzApplicationGateway használatával a tanúsítvánnyal.
Application Gateway létrehozása
$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 `
-SslCertificates $cert
Virtuálisgép-méretezési csoport létrehozása
Ebben a példában egy olyan virtuálisgép-méretezési csoportot hoz létre, amely kiszolgálókat biztosít a háttérkészlet számára az alkalmazásátjáróban. Az IP-beállítások konfigurálásakor hozzárendel egy méretezési csoportot 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[1].Id `
-ApplicationGatewayBackendAddressPoolsId $backendPool.Id
$vmssConfig = New-AzVmssConfig `
-Location eastus `
-SkuCapacity 2 `
-SkuName Standard_DS2 `
-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 alkalmazásátjáró tesztelése
A Get-AzPublicIPAddress használatával lekérheti az application gateway nyilvános IP-címét. Másolja a nyilvános IP-címet, majd illessze be a böngésző címsorába.
Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress
Ha önaláírt tanúsítványt használt, a biztonsági figyelmeztetés elfogadásához válassza a Részletek lehetőséget, majd válassza a Továbblépés a weblapra lehetőséget. Ekkor a biztonságos IIS-webhely a következő példához hasonlóan jelenik meg:
Clean up resources
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