Szybki start: bezpośredni ruch internetowy za pomocą usługi aplikacja systemu Azure Gateway przy użyciu programu Azure PowerShell
W tym przewodniku Szybki start utworzysz bramę aplikacji przy użyciu programu 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 frontonu, podstawowego odbiornika do hostowania pojedynczej lokacji w bramie aplikacji, podstawowej reguły routingu żądań i dwóch maszyn wirtualnych w puli zaplecza.
Możesz również wykonać ten przewodnik Szybki start przy użyciu interfejsu wiersza polecenia platformy Azure lub witryny 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 platforma Azure hostowane jest Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce. 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+Shift V w systemach Windows i Linux lub wybierając pozycję Cmd+Shift++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 aplikacji może zawierać tylko bramy aplikacji. 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 frontonu.
- Utwórz konfiguracje podsieci przy użyciu polecenia
New-AzVirtualNetworkSubnetConfig
. - Utwórz sieć wirtualną przy użyciu konfiguracji podsieci przy użyciu polecenia
New-AzVirtualNetwork
. - Utwórz publiczny adres IP przy użyciu polecenia
New-AzPublicIpAddress
.
Uwaga
Zasady punktu końcowego usługi dla sieci wirtualnej nie są obecnie obsługiwane w podsieci usługi 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 jednostki SKU w wersji 2 w warstwie Standardowa.
Tworzenie konfiguracji adresów IP i portu frontonu
- Użyj
New-AzApplicationGatewayIPConfiguration
polecenia , aby utworzyć konfigurację, która kojarzy podsieć utworzoną z bramą aplikacji. - Użyj
New-AzApplicationGatewayFrontendIPConfig
polecenia , aby utworzyć konfigurację, która przypisuje publiczny adres IP utworzony wcześniej dla bramy aplikacji. - Użyj
New-AzApplicationGatewayFrontendPort
polecenia , aby przypisać port 80, aby uzyskać dostęp 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).
Tworzenie puli zaplecza
- Użyj
New-AzApplicationGatewayBackendAddressPool
polecenia , aby utworzyć pulę zaplecza dla bramy aplikacji. Pula zaplecza jest teraz pusta. Podczas tworzenia kart sieciowych serwera zaplecza w następnej sekcji dodasz je do puli zaplecza. - 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
Tworzenie odbiornika i dodawanie reguły
Platforma Azure wymaga odbiornika, aby brama aplikacji mogła właściwie kierować ruch do puli zaplecza. Platforma Azure wymaga również reguły, aby odbiornik wiedział, której puli zaplecza używać dla ruchu przychodzącego.
- Utwórz odbiornik przy użyciu
New-AzApplicationGatewayHttpListener
konfiguracji frontonu i utworzonego wcześniej portu frontonu. - 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:
- Służy
New-AzApplicationGatewaySku
do określania parametrów bramy aplikacji. - 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
Napiwek
Możesz zmodyfikować wartości parametrów Name
i Tier
, aby użyć innej jednostki SKU. Na przykład: Basic
.
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) i wielodostępnych zapleczy, takich jak usługa aplikacja systemu Azure 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 aplikacji, zainstalowano ją w tym przewodniku Szybki start, aby sprawdzić, czy platforma Azure pomyślnie utworzyła bramę aplikacji.
Użyj usług do przetestowania bramy 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ź sprawdza, czy brama aplikacji została pomyślnie utworzona i może pomyślnie nawiązać połączenie z zapleczem.
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