Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Quickstart: Direct web traffic with Azure Application Gateway using Azure PowerShell

In this quickstart, you use Azure PowerShell to create an application gateway. Następnie przetestujesz go, aby upewnić się, że działa prawidłowo.

The application gateway directs application web traffic to specific resources in a backend pool. You assign listeners to ports, create rules, and add resources to a backend pool. Dla uproszczenia w tym artykule użyto prostej konfiguracji z publicznym adresem IP frontend, podstawowego listenera do hostowania pojedynczej strony w bramie aplikacyjnej, podstawowej reguły routingu żądań i dwóch maszyn wirtualnych w puli zaplecza.

Diagram koncepcyjny konfiguracji Szybkiego startu.

Możesz również ukończyć ten szybki start przy użyciu Azure CLI lub Azure portal.

Uwaga

Fronton usługi Application Gateway obsługuje teraz adresy IP z dwoma stosami (wersja zapoznawcza). Teraz można utworzyć maksymalnie cztery adresy IP frontonu: dwa adresy IPv4 (publiczne i prywatne) i dwa adresy IPv6 (publiczne i prywatne).

Wymagania wstępne

Azure Cloud Shell

Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Do pracy z usługami platformy Azure można używać programu Bash lub PowerShell w środowisku Cloud Shell. Aby uruchomić kod w tym artykule, możesz użyć wstępnie zainstalowanych poleceń usługi Cloud Shell bez konieczności instalowania niczego w środowisku lokalnym.

Aby uruchomić środowisko Azure Cloud Shell:

Opcja Przykład/link
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu lub polecenia. Wybranie pozycji Wypróbuj nie powoduje automatycznego skopiowania kodu lub polecenia do usługi Cloud Shell. Zrzut ekranu przedstawiający przykład narzędzia Try It dla usługi Azure Cloud Shell.
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. Przycisk uruchamiania usługi Azure Cloud Shell.
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. Zrzut ekranu przedstawiający przycisk usługi Cloud Shell w witrynie Azure Portal

Aby użyć usługi Azure Cloud Shell:

  1. Uruchom usługę Cloud Shell.

  2. Wybierz przycisk Kopiuj w bloku kodu (lub bloku poleceń), aby skopiować kod lub polecenie.

  3. Wklej kod lub polecenie do sesji usługi Cloud Shell, wybierając Ctrl++V w systemie macOS.

  4. Wybierz Enter, aby uruchomić kod lub polecenie.

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Łączenie się z platformą Azure

Aby nawiązać połączenie z platformą Azure, uruchom polecenie Connect-AzAccount.

Tworzenie grupy zasobów

Na platformie Azure możesz przydzielić powiązane zasoby do grupy zasobów. Możesz użyć istniejącej grupy zasobów lub utworzyć nową.

Aby utworzyć nową grupę zasobów, użyj New-AzResourceGroup polecenia cmdlet :

New-AzResourceGroup -Name myResourceGroupAG -Location eastus

Tworzenie zasobów sieciowych

Do komunikacji między tworzonymi zasobami platforma Azure potrzebuje sieci wirtualnej. The application gateway subnet can contain only application gateways. Inne zasoby nie są dozwolone. Możesz utworzyć nową podsieć dla usługi Application Gateway lub użyć istniejącej. W tym przykładzie tworzysz dwie podsieci: jedną dla bramy aplikacji i drugą dla serwerów zaplecza. Adres IP frontonu usługi Application Gateway można skonfigurować tak, aby był publiczny lub prywatny zgodnie z twoim przypadkiem użycia. In this example, you'll choose a Public Frontend IP address.

  1. Utwórz konfiguracje podsieci przy użyciu polecenia New-AzVirtualNetworkSubnetConfig.
  2. Utwórz sieć wirtualną z konfiguracjami podsieci przy użyciu polecenia New-AzVirtualNetwork.
  3. Utwórz publiczny adres IP przy użyciu polecenia New-AzPublicIpAddress.

Uwaga

Virtual network service endpoint policies are currently not supported in an Application Gateway subnet.

$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

Tworzenie bramy aplikacji

W tym przykładzie użyto SKU Standard v2.

Utwórz konfiguracje IP i port frontowy

  1. Użyj New-AzApplicationGatewayIPConfiguration polecenia , aby utworzyć konfigurację, która kojarzy podsieć utworzoną z bramą aplikacji.
  2. Użyj New-AzApplicationGatewayFrontendIPConfig polecenia , aby utworzyć konfigurację, która przypisuje publiczny adres IP utworzony wcześniej dla bramy aplikacji.
  3. Użyj New-AzApplicationGatewayFrontendPort, aby przypisać port 80 do uzyskania dostępu do bramy aplikacji.
$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

Uwaga

Fronton usługi Application Gateway obsługuje teraz adresy IP z podwójnym stosem (publiczna wersja zapoznawcza). Teraz można utworzyć maksymalnie cztery adresy IP frontonu: dwa adresy IPv4 (publiczne i prywatne) i dwa adresy IPv6 (publiczne i prywatne).

Create the backend pool

  1. Use New-AzApplicationGatewayBackendAddressPool to create the backend pool for the application gateway. The backend pool is empty for now. When you create the backend server NICs in the next section, you'll add them to the backend pool.
  2. Configure the settings for the backend pool with New-AzApplicationGatewayBackendHttpSetting.
$backendPool = New-AzApplicationGatewayBackendAddressPool `
  -Name myAGBackendPool
$poolSettings = New-AzApplicationGatewayBackendHttpSetting `
  -Name myPoolSettings `
  -Port 80 `
  -Protocol Http `
  -CookieBasedAffinity Enabled `
  -RequestTimeout 30

Utwórz odbiornik i dodaj regułę

Azure requires a listener to enable the application gateway for routing traffic appropriately to the backend pool. Azure also requires a rule for the listener to know which backend pool to use for incoming traffic.

  1. Create a listener using New-AzApplicationGatewayHttpListener with the frontend configuration and frontend port that you previously created.
  2. Użyj New-AzApplicationGatewayRequestRoutingRule polecenia , aby utworzyć regułę o nazwie rule1.
$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

Tworzenie bramy aplikacji

Teraz po utworzeniu niezbędnych zasobów pomocniczych utwórz bramę aplikacji:

  1. Użyj New-AzApplicationGatewaySku do określania parametrów bramy aplikacji.
  2. Użyj New-AzApplicationGateway polecenia , aby utworzyć bramę aplikacji.
$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

Porada

Możesz zmodyfikować wartości parametrów Name i Tier , aby użyć innej jednostki SKU. Na przykład: Basic.

Backend servers

Po utworzeniu usługi Application Gateway utwórz maszyny wirtualne zaplecza, które będą hostować witryny internetowe. A backend can be composed of NICs, virtual machine scale sets, public IP address, internal IP address, fully qualified domain names (FQDN), and multitenant backends like Azure App Service.

W tym przykładzie utworzysz dwie maszyny wirtualne do użycia jako serwery zaplecza dla bramy aplikacji. Zainstalujesz również usługi IIS na maszynach wirtualnych, aby sprawdzić, czy platforma Azure pomyślnie utworzyła bramę aplikacji.

Tworzenie dwóch maszyn wirtualnych

  1. Get the recently created Application Gateway backend pool configuration with Get-AzApplicationGatewayBackendAddressPool.
  2. Utwórz interfejs sieciowy za pomocą polecenia New-AzNetworkInterface.
  3. Utwórz konfigurację maszyny wirtualnej za pomocą polecenia New-AzVMConfig.
  4. Utwórz maszynę wirtualną za pomocą polecenia New-AzVM.

Po uruchomieniu następującego przykładowego kodu w celu utworzenia maszyn wirtualnych na platformie Azure zostanie wyświetlony monit o podanie poświadczeń. Wprowadź nazwę użytkownika i hasło:

$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
}

Testowanie bramy aplikacji

Mimo że usługi IIS nie są wymagane do utworzenia bramy aplikacyjnej, zainstalowano ją w tym szybkim starcie, aby sprawdzić, czy platforma Azure pomyślnie utworzyła bramę aplikacyjną.

Użyj usługi IIS, aby przetestować bramę aplikacji:

  1. Uruchom polecenie Get-AzPublicIPAddress , aby uzyskać publiczny adres IP bramy aplikacji.
  2. Skopiuj i wklej publiczny adres IP na pasku adresu przeglądarki. Po odświeżeniu przeglądarki powinna zostać wyświetlona nazwa maszyny wirtualnej. Prawidłowa odpowiedź weryfikuje, czy brama aplikacji została pomyślnie utworzona i może pomyślnie połączyć się z backendem.
Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress

Testowanie bramy aplikacji

Czyszczenie zasobów

Jeśli nie potrzebujesz już zasobów utworzonych za pomocą bramy aplikacji, usuń grupę zasobów. Usunięcie grupy zasobów spowoduje również usunięcie bramy aplikacji i wszystkich powiązanych z nią zasobów.

Aby usunąć grupę zasobów, wywołaj Remove-AzResourceGroup polecenie cmdlet:

Remove-AzResourceGroup -Name myResourceGroupAG

Następne kroki