Uwaga
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 przewodniku szybkiego startu użyjesz Azure CLI do stworzenia bramy aplikacji. Następnie przetestujesz go, aby upewnić się, że działa prawidłowo.
Brama sieciowa aplikacji kieruje ruch sieciowy aplikacji do określonych zasobów w puli zaplecza. Przypisujesz odbiorniki do portów, tworzysz reguły oraz dodajesz zasoby 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ż wykonać ten szybki start przy użyciu programu Azure PowerShell lub portalu Azure.
Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Wymagania wstępne
Użyj środowiska Bash w Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Get started with Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj Azure CLI. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie Azure CLI w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić Azure CLI w kontenerze Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do Azure CLI za pomocą polecenia az login. Aby zakończyć proces uwierzytelniania, wykonaj kroki wyświetlane na Twoim terminalu. Aby uzyskać inne opcje logowania, zobacz Uwierzytelnianie na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure.
Gdy zostaniesz o to poproszony/a, zainstaluj rozszerzenie Azure CLI przy pierwszym użyciu. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Używanie rozszerzeń i zarządzanie nimi za pomocą interfejsu wiersza polecenia platformy Azure.
Uruchom az version, aby sprawdzić zainstalowaną wersję i biblioteki zależne. Aby zaktualizować do najnowszej wersji, uruchom az upgrade.
- Ten artykuł wymaga wersji 2.0.4 lub nowszej interfejsu wiersza polecenia platformy Azure. W przypadku korzystania z usługi Azure Cloud Shell najnowsza wersja jest już zainstalowana.
Uwaga / Notatka
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).
Utwórz grupę zasobów
Na platformie Azure możesz przydzielić powiązane zasoby do grupy zasobów. Utwórz grupę zasobów przy użyciu polecenia az group create
.
W poniższym przykładzie pokazano sposób tworzenia grupy zasobów o nazwie myResourceGroupAG w lokalizacji eastus.
az group create --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 utworzysz dwie podsieci: jedną dla bramy aplikacji, a 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.
Uwaga / Notatka
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).
Aby utworzyć sieć wirtualną i podsieć, użyj polecenia az network vnet create
. Uruchom polecenie az network public-ip create
, aby utworzyć publiczny adres IP.
az network vnet create \
--name myVNet \
--resource-group myResourceGroupAG \
--location eastus \
--address-prefix 10.21.0.0/16 \
--subnet-name myAGSubnet \
--subnet-prefix 10.21.0.0/24
az network vnet subnet create \
--name myBackendSubnet \
--resource-group myResourceGroupAG \
--vnet-name myVNet \
--address-prefix 10.21.1.0/24
az network public-ip create \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress \
--allocation-method Static \
--sku Standard
Tworzenie serwerów zaplecza
Zaplecze może mieć karty sieciowe, zestawy skalowania maszyn wirtualnych, publiczne adresy IP, wewnętrzne adresy IP, w pełni kwalifikowane nazwy domen (FQDN) i wielodostępne zaplecza obsługujące wielu najemców, takie jak usługa Azure App Service. W tym przykładzie utworzysz dwie maszyny wirtualne do użycia jako serwery zaplecza dla bramy aplikacji. Zainstaluj również serwer NGINX na maszynach wirtualnych, aby przetestować bramę aplikacji.
Tworzenie dwóch maszyn wirtualnych
Zainstaluj serwer internetowy NGINX na maszynach wirtualnych, aby sprawdzić, czy brama aplikacji została pomyślnie utworzona. Możesz użyć pliku konfiguracji cloud-init, aby zainstalować serwer NGINX i uruchomić aplikację "Hello World" Node.js na maszynie wirtualnej z systemem Linux. Aby uzyskać więcej informacji na temat pakietu cloud-init, zobacz Cloud-init support for virtual machines in Azure (Obsługa pakietu Cloud-init dla maszyn wirtualnych na platformie Azure).
W usłudze Azure Cloud Shell skopiuj i wklej następującą konfigurację do pliku o nazwie cloud-init.txt. Wprowadź cloud-init.txtedytora , aby utworzyć plik.
#cloud-config
package_upgrade: true
packages:
- nginx
- nodejs
- npm
write_files:
- owner: www-data:www-data
- path: /etc/nginx/sites-available/default
content: |
server {
listen 80;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
- owner: azureuser:azureuser
- path: /home/azureuser/myapp/index.js
content: |
var express = require('express')
var app = express()
var os = require('os');
app.get('/', function (req, res) {
res.send('Hello World from host ' + os.hostname() + '!')
})
app.listen(3000, function () {
console.log('Hello world app listening on port 3000!')
})
runcmd:
- service nginx restart
- cd "/home/azureuser/myapp"
- npm init
- npm install express -y
- nodejs index.js
Utwórz interfejsy sieciowe za pomocą polecenia az network nic create
. Aby utworzyć maszyny wirtualne, użyj polecenia az vm create
.
for i in `seq 1 2`; do
az network nic create \
--resource-group myResourceGroupAG \
--name myNic$i \
--vnet-name myVNet \
--subnet myBackendSubnet
az vm create \
--resource-group myResourceGroupAG \
--name myVM$i \
--nics myNic$i \
--image Ubuntu2204 \
--admin-username azureuser \
--generate-ssh-keys \
--custom-data cloud-init.txt
done
Tworzenie bramy aplikacji
Utwórz bramę aplikacji przy użyciu polecenia az network application-gateway create
. Podczas tworzenia bramy aplikacji przy użyciu interfejsu wiersza polecenia platformy Azure należy określić informacje o konfiguracji, takie jak pojemność, jednostka SKU (na przykład: Basic
) i ustawienia protokołu HTTP. Następnie platforma Azure dodaje prywatne adresy IP interfejsów sieciowych jako serwery w puli zaplecza bramy aplikacji.
W tym przykładzie użyto SKU Standard v2.
address1=$(az network nic show --name myNic1 --resource-group myResourceGroupAG | grep "\"privateIPAddress\":" | grep -oE '[^ ]+$' | tr -d '",')
address2=$(az network nic show --name myNic2 --resource-group myResourceGroupAG | grep "\"privateIPAddress\":" | grep -oE '[^ ]+$' | tr -d '",')
az network application-gateway create \
--name myAppGateway \
--location eastus \
--resource-group myResourceGroupAG \
--capacity 2 \
--sku Standard_v2 \
--public-ip-address myAGPublicIPAddress \
--vnet-name myVNet \
--subnet myAGSubnet \
--servers "$address1" "$address2" \
--priority 100
Tworzenie bramy aplikacji na platformie Azure może potrwać do 30 minut. Po jego utworzeniu możesz wyświetlić następujące ustawienia w sekcji Ustawienia strony bramy aplikacji :
- appGatewayBackendPool: znajduje się na stronie Pule zaplecza. Określa wymaganą pulę serwerów zaplecza.
- appGatewayBackendHttpSettings: znajduje się na stronie ustawień PROTOKOŁU HTTP . Określa, że brama aplikacji używa portu 80 i protokołu HTTP do komunikacji.
- appGatewayHttpListener: znajduje się na stronie Odbiorniki. Określa odbiornik domyślny skojarzony z appGatewayBackendPool.
- appGatewayFrontendIP: znajduje się na stronie Konfiguracji adresów IP przednich. Przypisuje myAGPublicIPAddress do appGatewayHttpListener.
- rule1: znajduje się na stronie Reguły . Określa domyślną regułę routingu skojarzona z elementem appGatewayHttpListener.
Testowanie bramy aplikacji
Chociaż platforma Azure nie wymaga serwera internetowego NGINX, aby utworzyć tę bramę aplikacji, zainstalowano go w tym samouczku typu szybki start, aby zweryfikować, czy platforma Azure pomyślnie utworzyła tę bramę aplikacji. Aby uzyskać publiczny adres IP nowej bramy aplikacji, użyj polecenia az network public-ip show
.
az network public-ip show \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress \
--query [ipAddress] \
--output tsv
Skopiuj i wklej publiczny adres IP na pasku adresu przeglądarki.
Po odświeżeniu przeglądarki powinna zostać wyświetlona nazwa drugiej maszyny wirtualnej. Oznacza to, że brama aplikacji została pomyślnie utworzona i może nawiązać połączenie z zapleczem.
Uprzątnij zasoby
Jeśli nie potrzebujesz już zasobów utworzonych za pomocą bramy aplikacji, użyj az group delete
polecenia , aby usunąć grupę zasobów. Usunięcie grupy zasobów spowoduje również usunięcie bramy aplikacji i wszystkich powiązanych z nią zasobów.
az group delete --name myResourceGroupAG