Szybki Start: bezpośredni ruch internetowy za pomocą usługi Azure Application Gateway przy użyciu Azure PowerShellQuickstart: Direct web traffic with Azure Application Gateway using Azure PowerShell

W tym przewodniku szybki start użyjesz Azure PowerShell, aby utworzyć bramę aplikacji.In this quickstart, you use Azure PowerShell to create an application gateway. Następnie przetestuj go, aby upewnić się, że działa prawidłowo.Then you test it to make sure it works correctly.

Aplikacja Application Gateway kieruje ruch sieci Web aplikacji do określonych zasobów w puli zaplecza.The application gateway directs application web traffic to specific resources in a backend pool. Można przypisywać odbiorniki do portów, tworzyć reguły i dodawać zasoby do puli zaplecza.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 frontonu, podstawowego odbiornika do hostowania pojedynczej lokacji bramy aplikacji, podstawowej reguły routingu żądań i dwóch maszyn wirtualnych w puli zaplecza.For the sake of simplicity, this article uses a simple setup with a public front-end IP, a basic listener to host a single site on the application gateway, a basic request routing rule, and two virtual machines in the backend pool.

Możesz również ukończyć ten przewodnik Szybki Start przy użyciu interfejsu wiersza polecenia platformy Azure lub Azure Portal.You can also complete this quickstart using Azure CLI or the Azure portal.

Używanie usługi Azure Cloud ShellUse Azure Cloud Shell

Na platforma Azure hostowane jest Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce.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.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Aby uruchomić kod z tego artykułu bez konieczności instalowania narzędzi w środowisku lokalnym, można użyć wstępnie zainstalowanych poleceń środowiska Cloud Shell.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Aby uruchomić środowisko Azure Cloud Shell:To start Azure Cloud Shell:

OpcjaOption Przykład/linkExample/Link
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu.Select Try It in the upper-right corner of a code block. Wybranie pozycji Wypróbuj nie spowoduje automatycznego skopiowania kodu do środowiska Cloud Shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Przykład funkcji Wypróbuj w środowisku Azure Cloud Shell
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Uruchamianie środowiska Cloud Shell w nowym oknieLaunch Cloud Shell in a new window
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal.Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Przycisk Cloud Shell w witrynie Azure Portal

Aby uruchomić kod z tego artykułu w środowisku Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Uruchom usługę Cloud Shell.Start Cloud Shell.

  2. Wybierz przycisk Kopiuj w bloku kodu, aby skopiować kod.Select the Copy button on a code block to copy the code.

  3. Wklej kod w sesji Cloud Shell, naciskając klawisze Ctrl+Shift+V w systemach Windows i Linux lub klawisze Cmd+Shift+V w systemie macOS.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Naciśnij klawisz Enter, aby uruchomić kod.Select Enter to run the code.

Uwaga

Ten artykuł został zaktualizowany o korzystanie z nowego modułu Azure PowerShell Az.This article has been updated to use the new Azure PowerShell Az module. Nadal możesz używać modułu AzureRM, który będzie nadal otrzymywać poprawki błędów do co najmniej grudnia 2020 r.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Aby dowiedzieć się więcej na temat nowego modułu Az i zgodności z modułem AzureRM, zobacz Wprowadzenie do nowego modułu Az programu Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Aby uzyskać instrukcje dotyczące instalacji modułu Az, zobacz Instalowanie programu Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Wymagania wstępnePrerequisites

Nawiązywanie połączenia z usługą AzureConnect to Azure

Aby nawiązać połączenie z platformą Azure, uruchom Connect-AzAccountpolecenie.To connect with Azure, run Connect-AzAccount.

Tworzenie grupy zasobówCreate a resource group

Na platformie Azure możesz przydzielić powiązane zasoby do grupy zasobów.In Azure, you allocate related resources to a resource group. Możesz użyć istniejącej grupy zasobów lub utworzyć nową.You can either use an existing resource group or create a new one.

Aby utworzyć nową grupę zasobów, użyj New-AzResourceGroup polecenia cmdlet:To create a new resource group, use the New-AzResourceGroup cmdlet:

New-AzResourceGroup -Name myResourceGroupAG -Location eastus

Tworzenie zasobów sieciowychCreate network resources

Do komunikacji między tworzonymi zasobami platforma Azure potrzebuje sieci wirtualnej.For Azure to communicate between the resources that you create, it needs a virtual network. Podsieć bramy aplikacji może zawierać tylko bramy aplikacji.The application gateway subnet can contain only application gateways. Inne zasoby nie są dozwolone.No other resources are allowed. Można utworzyć nową podsieć dla Application Gateway lub użyć istniejącej.You can either create a new subnet for Application Gateway or use an existing one. W tym przykładzie utworzysz dwie podsieci w tym przykładzie: jeden dla bramy aplikacji, a drugi dla serwerów wewnętrznej bazy danych.In this example, you create two subnets in this example: one for the application gateway, and another for the backend servers. Można skonfigurować adres IP frontonu Application Gateway publiczny lub prywatny zgodnie z Twoim przypadkiem użycia.You can configure the Frontend IP of the Application Gateway to be Public or Private as per your use case. W tym przykładzie wybrano publiczny adres IP frontonu.In this example, you'll choose a Public Frontend IP.

  1. Utwórz konfiguracje podsieci przy użyciu New-AzVirtualNetworkSubnetConfigpolecenia.Create the subnet configurations using New-AzVirtualNetworkSubnetConfig.
  2. Utwórz sieć wirtualną z konfiguracjami podsieci za pomocą New-AzVirtualNetworkpolecenia.Create the virtual network with the subnet configurations using New-AzVirtualNetwork.
  3. Utwórz publiczny adres IP za pomocą New-AzPublicIpAddress.Create the public IP address using New-AzPublicIpAddress.
$agSubnetConfig = New-AzVirtualNetworkSubnetConfig `
  -Name myAGSubnet `
  -AddressPrefix 10.0.1.0/24
$backendSubnetConfig = New-AzVirtualNetworkSubnetConfig `
  -Name myBackendSubnet `
  -AddressPrefix 10.0.2.0/24
New-AzVirtualNetwork `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -Name myVNet `
  -AddressPrefix 10.0.0.0/16 `
  -Subnet $agSubnetConfig, $backendSubnetConfig
New-AzPublicIpAddress `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -Name myAGPublicIPAddress `
  -AllocationMethod Static `
  -Sku Standard

Tworzenie bramy aplikacjiCreate an application gateway

Tworzenie konfiguracji adresów IP i portu frontonuCreate the IP configurations and frontend port

  1. Użyj New-AzApplicationGatewayIPConfiguration , aby utworzyć konfigurację, która kojarzy utworzoną podsieć z bramą aplikacji.Use New-AzApplicationGatewayIPConfiguration to create the configuration that associates the subnet you created with the application gateway.
  2. Użyj New-AzApplicationGatewayFrontendIPConfig , aby utworzyć konfigurację, która przypisuje publiczny adres IP, który został wcześniej utworzony do bramy aplikacji.Use New-AzApplicationGatewayFrontendIPConfig to create the configuration that assigns the public IP address that you previously created to the application gateway.
  3. Użyj New-AzApplicationGatewayFrontendPort , aby przypisać port 80 w celu uzyskania dostępu do bramy aplikacji.Use New-AzApplicationGatewayFrontendPort to assign port 80 to access the application gateway.
$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

Tworzenie puli zapleczaCreate the backend pool

  1. Użyj New-AzApplicationGatewayBackendAddressPool , aby utworzyć pulę zaplecza dla bramy aplikacji.Use New-AzApplicationGatewayBackendAddressPool to create the backend pool for the application gateway. Pula zaplecza będzie teraz pusta.The backend pool will be empty for now. Gdy tworzysz karty sieciowe serwera wewnętrznej bazy danych w następnej sekcji, dodasz je do puli zaplecza.When you create the backend server NICs in the next section, you will add them to the backend pool.
  2. Skonfiguruj ustawienia puli zaplecza przy użyciu programu New-AzApplicationGatewayBackendHttpSetting.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

Tworzenie odbiornika i dodawanie regułyCreate the listener and add a rule

Platforma Azure wymaga odbiornika, aby brama aplikacji mogła właściwie kierować ruch do puli zaplecza.Azure requires a listener to enable the application gateway for routing traffic appropriately to the backend pool. Platforma Azure wymaga również reguły, aby odbiornik wiedział, której puli zaplecza używać dla ruchu przychodzącego.Azure also requires a rule for the listener to know which backend pool to use for incoming traffic.

  1. Utwórz odbiornik przy użyciu New-AzApplicationGatewayHttpListener programu z utworzoną wcześniej konfiguracją frontonu i frontonem.Create a listener using New-AzApplicationGatewayHttpListener with the frontend configuration and frontend port that you previously created.
  2. Służy New-AzApplicationGatewayRequestRoutingRule do tworzenia reguły o nazwie RULE1.Use New-AzApplicationGatewayRequestRoutingRule to create a rule named rule1.
$defaultlistener = New-AzApplicationGatewayHttpListener `
  -Name myAGListener `
  -Protocol Http `
  -FrontendIPConfiguration $fipconfig `
  -FrontendPort $frontendport
$frontendRule = New-AzApplicationGatewayRequestRoutingRule `
  -Name rule1 `
  -RuleType Basic `
  -HttpListener $defaultlistener `
  -BackendAddressPool $backendPool `
  -BackendHttpSettings $poolSettings

Tworzenie bramy aplikacjiCreate the application gateway

Teraz po utworzeniu niezbędnych zasobów pomocniczych utwórz bramę aplikacji:Now that you've created the necessary supporting resources, create the application gateway:

  1. Użyj New-AzApplicationGatewaySku , aby określić parametry dla bramy aplikacji.Use New-AzApplicationGatewaySku to specify parameters for the application gateway.
  2. Użyj New-AzApplicationGateway , aby utworzyć bramę aplikacji.Use New-AzApplicationGateway to create the application gateway.
$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

Serwery zapleczaBackend servers

Teraz, gdy utworzono Application Gateway, Utwórz maszyny wirtualne zaplecza, które będą hostować witryny sieci Web.Now that you have created the Application Gateway, create the backend virtual machines which will host the websites. Zaplecze może składać się z kart sieciowych, zestawów skalowania maszyn wirtualnych, publicznych adresów IP, wewnętrznych adresów IP, w pełni kwalifikowanych nazw domen (FQDN) i wielodostępnych zaplecza, takich jak Azure App Service.Backend can be composed of NICs, virtual machine scale sets, public IPs, internal IPs, fully qualified domain names (FQDN), and multi-tenant back-ends like Azure App Service. W tym przykładzie utworzysz dwie maszyny wirtualne platformy Azure, które będą używane jako serwery zaplecza dla bramy aplikacji.In this example, you create two virtual machines for Azure to use as backend servers for the application gateway. Zainstalujesz również usługi IIS na maszynach wirtualnych, aby sprawdzić, czy platforma Azure pomyślnie utworzyła bramę aplikacji.You also install IIS on the virtual machines to verify that Azure successfully created the application gateway.

Tworzenie dwóch maszyn wirtualnychCreate two virtual machines

  1. Pobierz ostatnio utworzoną Application Gateway konfigurację puli zaplecza przy Get-AzApplicationGatewayBackendAddressPoolużyciu programu.Get the recently created Application Gateway backend pool configuration with Get-AzApplicationGatewayBackendAddressPool.
  2. Utwórz interfejs sieciowy przy użyciu New-AzNetworkInterface.Create a network interface with New-AzNetworkInterface.
  3. Utwórz konfigurację maszyny wirtualnej za pomocą New-AzVMConfigprogramu.Create a virtual machine configuration with New-AzVMConfig.
  4. Utwórz maszynę wirtualną za New-AzVMpomocą programu.Create the virtual machine with 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ń.When you run the following code sample to create the virtual machines, Azure prompts you for credentials. Wprowadź azureuser dla nazwy użytkownika i hasła:Enter azureuser for the user name and a password:

$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 aplikacjiTest the application gateway

Mimo że zainstalowanie usług IIS nie jest wymagane do utworzenia bramy aplikacji, zainstalowano je w ramach tego przewodnika Szybki start, aby sprawdzić, czy platforma Azure pomyślnie utworzyła bramę aplikacji.Although IIS isn't required to create the application gateway, you installed it in this quickstart to verify whether Azure successfully created the application gateway. Użyj usług do przetestowania bramy aplikacji:Use IIS to test the application gateway:

  1. Uruchom Get-AzPublicIPAddress , aby uzyskać publiczny adres IP bramy aplikacji.Run Get-AzPublicIPAddress to get the public IP address of the application gateway.
  2. Skopiuj i wklej publiczny adres IP na pasku adresu przeglądarki.Copy and paste the public IP address into the address bar of your browser. Po odświeżeniu przeglądarki powinna zostać wyświetlona nazwa maszyny wirtualnej.When you refresh the browser, you should see the name of the virtual machine. Prawidłowa odpowiedź weryfikuje, czy Brama aplikacji została pomyślnie utworzona i może pomyślnie nawiązać połączenie z zapleczem.A valid response verifies that the application gateway was successfully created and it can successfully connect with the backend.
Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress

Testowanie bramy aplikacji

Oczyszczanie zasobówClean up resources

Gdy nie potrzebujesz już zasobów utworzonych przy użyciu bramy aplikacji, Usuń grupę zasobów.When you no longer need the resources that you created with the application gateway, delete the resource group. Po usunięciu grupy zasobów należy również usunąć bramę aplikacji i wszystkie powiązane z nią zasoby.When you delete the resource group, you also delete the application gateway and all its related resources.

Aby usunąć grupę zasobów, wywołaj Remove-AzResourceGroup polecenie cmdlet:To delete the resource group, call the Remove-AzResourceGroup cmdlet:

Remove-AzResourceGroup -Name myResourceGroupAG

Następne krokiNext steps