Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym szybkim starcie tworzysz bramę aplikacji za pomocą Azure PowerShell. Następnie przetestujesz go, aby upewnić się, że działa prawidłowo.
Brama aplikacji kieruje ruch internetowy aplikacji do określonych zasobów w puli zaplecza. Odbiorniki są przypisywane do portów, tworzenia reguł i dodawania zasobów do puli zaplecza. 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.
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
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Program Azure PowerShell w wersji 1.0.0 lub nowszej (jeśli uruchamiasz program Azure PowerShell lokalnie).
Azure Cloud Shell
Na platformie Azure hostowane jest Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać za pośrednictwem przeglądarki. 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. |
|
| Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. |
|
| Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. |
|
Aby użyć usługi Azure Cloud Shell:
Uruchom usługę Cloud Shell.
Wybierz przycisk Kopiuj w bloku kodu (lub bloku poleceń), aby skopiować kod lub polecenie.
Wklej kod lub polecenie do sesji usługi Cloud Shell, wybierając Ctrl++V w systemie macOS.
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. Podsieć bramy aplikacyjnej może zawierać tylko bramy aplikacyjne. 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. W tym przykładzie wybierzesz publiczny adres IP interfejsu frontendowego.
- Utwórz konfiguracje podsieci przy użyciu polecenia
New-AzVirtualNetworkSubnetConfig. - Utwórz sieć wirtualną z konfiguracjami podsieci przy użyciu polecenia
New-AzVirtualNetwork. - Utwórz publiczny adres IP przy użyciu polecenia
New-AzPublicIpAddress.
Uwaga
Polityki punktu końcowego usługi sieci wirtualnej nie są obecnie obsługiwane w podsieci Application Gateway.
$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
- Użyj
New-AzApplicationGatewayIPConfigurationpolecenia , aby utworzyć konfigurację, która kojarzy podsieć utworzoną z bramą aplikacji. - Użyj
New-AzApplicationGatewayFrontendIPConfigpolecenia , aby utworzyć konfigurację, która przypisuje publiczny adres IP utworzony wcześniej dla bramy aplikacji. - 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).
Utwórz pulę backendową
- Użyj
New-AzApplicationGatewayBackendAddressPooldo stworzenia puli zaplecza dla bramy aplikacji. Pula zaplecza jest teraz pusta. Podczas tworzenia kart sieciowych serwerów zaplecza w następnej sekcji dodasz je do puli zaplecza sieciowego. - Skonfiguruj ustawienia puli zaplecza za pomocą polecenia
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łę
Platforma Azure wymaga nasłuchiwacza, aby umożliwić bramie aplikacji kierowanie ruchem do puli zapleczowej. Platforma Azure wymaga również reguły, aby nasłuchiwacz wiedział, która pula serwera zaplecza jest używana dla ruchu przychodzącego.
- Utwórz odbiornik przy użyciu
New-AzApplicationGatewayHttpListenerkonfiguracji frontonu i utworzonego wcześniej portu frontonu. - Użyj
New-AzApplicationGatewayRequestRoutingRulepolecenia , 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:
- Użyj
New-AzApplicationGatewaySkudo określania parametrów bramy aplikacji. - Użyj
New-AzApplicationGatewaypolecenia , 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
Tip
Możesz zmodyfikować wartości parametrów Name i Tier , aby użyć innej jednostki SKU. Na przykład: Basic.
Uwaga
W regionach obsługujących strefy dostępności, jeśli nie określisz stref podczas tworzenia za pośrednictwem interfejsu wiersza polecenia, programu PowerShell, usługi ARM/Bicep lub interfejsu API REST — usługa Azure Application Gateway automatycznie włącza nadmiarowość stref, dystrybuując wystąpienia w wielu strefach dostępności w celu zwiększenia odporności
Serwery zaplecza
Po utworzeniu usługi Application Gateway utwórz maszyny wirtualne zaplecza, które będą hostować witryny internetowe. Zaplecze może składać się z kart sieciowych, zestawów skalowania maszyn wirtualnych, publicznego adresu IP, wewnętrznego adresu IP, w pełni kwalifikowanych nazw domen (FQDN) oraz zapleczy wielodostępnych, takich jak usługa 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
- Pobierz niedawno utworzoną konfigurację puli zaplecza usługi Application Gateway za pomocą polecenia
Get-AzApplicationGatewayBackendAddressPool. - Utwórz interfejs sieciowy za pomocą polecenia
New-AzNetworkInterface. - Utwórz konfigurację maszyny wirtualnej za pomocą polecenia
New-AzVMConfig. - 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:
- Uruchom polecenie
Get-AzPublicIPAddress, aby uzyskać publiczny adres IP bramy aplikacji. - 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
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