Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule dodajesz niestandardową sondę do istniejącej bramki aplikacji za pomocą PowerShell. Niestandardowe sondy są przydatne w aplikacjach posiadających konkretną stronę kontroli stanu lub w aplikacjach, które nie dostarczają skutecznej odpowiedzi w domyślnej aplikacji webowej.
Note
Zalecamy użycie modułu Azure Az PowerShell do interakcji z Azure. Aby rozpocząć, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.
Wymaganie: Install the Azure PowerShell module
Aby wykonać kroki opisane w tym artykule, musisz zainstalować i skonfigurować moduł Azure PowerShell. Upewnij się, że wypełniłeś wszystkie instrukcje. Po zakończeniu instalacji zaloguj się do Azure i wybierz subskrypcję.
Note
Do wykonania tych kroków potrzebujesz konta Azure. Jeśli nie masz konta platformy Azure, możesz go utworzyć bezpłatnie.
Stwórz bramę aplikacyjną za pomocą niestandardowej sondy
Zaloguj się i stwórz grupę zasobów
Użyj
Connect-AzAccountdo uwierzytelniania.Connect-AzAccountZdobądź subskrypcje na konto.
Get-AzSubscriptionWybierz, z której subskrypcji Azure chcesz korzystać.
Select-AzSubscription -Subscriptionid '{subscriptionGuid}'Utwórz grupę zasobów. Możesz pominąć ten krok, jeśli masz już istniejącą grupę zasobów.
New-AzResourceGroup -Name appgw-rg -Location 'West US'
Azure Resource Manager wymaga, aby wszystkie grupy zasobów określiły lokalizację. To miejsce określa, gdzie Azure przechowuje metadane grupy zasobów. Upewnij się, że wszystkie polecenia do utworzenia bramy aplikacji używają tej samej grupy zasobów.
W poprzednim przykładzie stworzyliśmy grupę zasobów o nazwie appgw-RG w lokalizacji West US.
Stwórz sieć wirtualną i podsieć
Poniższy przykład tworzy sieć wirtualną oraz podsieć dla bramki aplikacji. Brama aplikacyjna wymaga własnej podsieci do użycia. Z tego powodu podsieć utworzona dla bramy aplikacyjnej powinna być mniejsza niż przestrzeń adresowa VNET, aby umożliwić tworzenie i wykorzystanie innych podsieci.
# Assign the address range 10.0.0.0/24 to a subnet variable to be used to create a virtual network.
$subnet = New-AzVirtualNetworkSubnetConfig -Name subnet01 -AddressPrefix 10.0.0.0/24
# Create a virtual network named appgwvnet in resource group appgw-rg for the West US region using the prefix 10.0.0.0/16 with subnet 10.0.0.0/24.
$vnet = New-AzVirtualNetwork -Name appgwvnet -ResourceGroupName appgw-rg -Location 'West US' -AddressPrefix 10.0.0.0/16 -Subnet $subnet
# Assign a subnet variable for the next steps, which create an application gateway.
$subnet = $vnet.Subnets[0]
Tworzenie publicznego adresu IP dla konfiguracji frontonu
Stwórz statyczny publiczny zasób IP Standard SKU o nazwie publicIP01 w grupie zasobów appgw-rg dla regionu zachodniego USA. Application Gateway v2 obsługuje tylko statyczne publiczne adresy IP standardowego SKU.
$publicip = New-AzPublicIpAddress -ResourceGroupName appgw-rg -Name publicIP01 -Location 'West US' -AllocationMethod Static -Sku Standard
Tworzenie bramy aplikacji
Wszystkie elementy konfiguracyjne konfigurujesz przed utworzeniem bramki aplikacji. Poniższy przykład tworzy elementy konfiguracyjne potrzebne dla zasobu bramy aplikacji.
| Component | Description |
|---|---|
| Konfiguracja IP bramy | Konfiguracja IP dla bramki aplikacyjnej. |
| Pula serwerów zaplecza | Pula adresów IP, FQDN lub kart sieciowych przeznaczonych do serwerów aplikacji hostujących aplikację webową |
| Sonda kondycji | Niestandardowa sonda służąca do monitorowania stanu stanu członków puli backendowej |
| Ustawienia HTTP | Zestaw ustawień, w tym port, protokół, powinowactwo oparte na ciasteczkach, sonda i timeout. Te ustawienia decydują o tym, jak ruch jest kierowany do członków puli backendowej |
| Port frontend | Port, na którym brama aplikacji nasłuchuje ruchu |
| Listener | Połączenie protokołu, konfiguracji interfejsu IP oraz portu frontendowego. To właśnie nasłuchuje nadchodzących próśb. |
| Rule | Kieruje ruch do odpowiedniego backendu na podstawie ustawień HTTP. |
# Creates an application gateway Frontend IP configuration named gatewayIP01
$gipconfig = New-AzApplicationGatewayIPConfiguration -Name gatewayIP01 -Subnet $subnet
#Creates a backend IP address pool named pool01 with IP addresses 134.170.185.46, 134.170.188.221, 134.170.185.50.
$pool = New-AzApplicationGatewayBackendAddressPool -Name pool01 -BackendIPAddresses 134.170.185.46, 134.170.188.221, 134.170.185.50
# Creates a probe that will check health at http://contoso.com/path/path.htm
$probe = New-AzApplicationGatewayProbeConfig -Name probe01 -Protocol Http -HostName 'contoso.com' -Path '/path/path.htm' -Interval 30 -Timeout 30 -UnhealthyThreshold 8
# Creates the backend http settings to be used. This component references the $probe created in the previous command.
$poolSetting = New-AzApplicationGatewayBackendHttpSettings -Name poolsetting01 -Port 80 -Protocol Http -CookieBasedAffinity Disabled -Probe $probe -RequestTimeout 80
# Creates a frontend port for the application gateway to listen on port 80 that will be used by the listener.
$fp = New-AzApplicationGatewayFrontendPort -Name frontendport01 -Port 80
# Creates a frontend IP configuration. This associates the $publicip variable defined previously with the frontend IP that will be used by the listener.
$fipconfig = New-AzApplicationGatewayFrontendIPConfig -Name fipconfig01 -PublicIPAddress $publicip
# Creates the listener. The listener is a combination of protocol and the frontend IP configuration $fipconfig and frontend port $fp created in previous steps.
$listener = New-AzApplicationGatewayHttpListener -Name listener01 -Protocol Http -FrontendIPConfiguration $fipconfig -FrontendPort $fp
# Creates the rule that routes traffic to the backend pools. In this example, we create a basic rule that uses the previously defined HTTP settings and backend address pool. It also associates the listener with the rule.
$rule = New-AzApplicationGatewayRequestRoutingRule -Name rule01 -RuleType Basic -BackendHttpSettings $poolSetting -HttpListener $listener -BackendAddressPool $pool -Priority 1
# Sets the SKU of the application gateway. In this example, we create a Standard v2 application gateway with two instances.
$sku = New-AzApplicationGatewaySku -Name Standard_v2 -Tier Standard_v2 -Capacity 2
# The final step creates the application gateway with all the previously defined components.
$appgw = New-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg -Location 'West US' -BackendAddressPools $pool -Probes $probe -BackendHttpSettingsCollection $poolSetting -FrontendIpConfigurations $fipconfig -GatewayIpConfigurations $gipconfig -FrontendPorts $fp -HttpListeners $listener -RequestRoutingRules $rule -Sku $sku
Dodawanie sondy do istniejącej bramy aplikacji
Poniższy fragment kodu dodaje sondę do istniejącej bramki aplikacji.
# Load the application gateway resource into a PowerShell variable by using Get-AzApplicationGateway.
$getgw = Get-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg
# Create the probe object that will check health at http://contoso.com/path/path.htm
$probe = Add-AzApplicationGatewayProbeConfig -ApplicationGateway $getgw -Name probe01 -Protocol Http -HostName 'contoso.com' -Path '/path/custompath.htm' -Interval 30 -Timeout 30 -UnhealthyThreshold 8
# Set the backend HTTP settings to use the new probe
$getgw = Set-AzApplicationGatewayBackendHttpSettings -ApplicationGateway $getgw -Name $getgw.BackendHttpSettingsCollection.name -Port 80 -Protocol Http -CookieBasedAffinity Disabled -Probe $probe -RequestTimeout 120
# Save the application gateway with the configuration changes
Set-AzApplicationGateway -ApplicationGateway $getgw
Usuwanie sondy z istniejącej bramy aplikacji
Poniższy fragment kodu usuwa sondę z istniejącej bramki aplikacji.
# Load the application gateway resource into a PowerShell variable by using Get-AzApplicationGateway.
$getgw = Get-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg
# Remove the probe from the application gateway configuration object
$getgw = Remove-AzApplicationGatewayProbeConfig -ApplicationGateway $getgw -Name $getgw.Probes.name
# Set the backend HTTP settings to remove the reference to the probe. The backend http settings now use the default probe
$getgw = Set-AzApplicationGatewayBackendHttpSettings -ApplicationGateway $getgw -Name $getgw.BackendHttpSettingsCollection.name -Port 80 -Protocol http -CookieBasedAffinity Disabled
# Save the application gateway with the configuration changes
Set-AzApplicationGateway -ApplicationGateway $getgw
Uzyskaj publiczny adres IP bramki aplikacji
Po utworzeniu bramy pobierz jej statyczny publiczny adres IP. Aby użyć domeny niestandardowej, stwórz rekord A, który mapuje domenę na ten adres. Więcej informacji można znaleźć w artykule Mapuj niestandardową domenę na zasób Azure.
$publicip = Get-AzPublicIpAddress -ResourceGroupName appgw-rg -Name publicIP01
$publicip.IpAddress
Następne kroki
Naucz się konfigurować TLS offloading, odwiedzając: Configure TLS Offload