Udostępnij przez


Uwidacznianie statycznego adresu IP dla grupy kontenerów

W tym artykule przedstawiono jeden ze sposobów uwidocznienia statycznego, publicznego adresu IP dla grupy kontenerów przy użyciu bramy aplikacji platformy Azure. Wykonaj następujące kroki, gdy potrzebujesz statycznego punktu wejścia dla aplikacji konteneryzowanej dostępnej na zewnątrz, która działa w usłudze Azure Container Instances.

W tym artykule użyjesz interfejsu wiersza polecenia platformy Azure do utworzenia zasobów dla tego scenariusza:

  • Sieć wirtualna platformy Azure
  • Grupa kontenerów wdrożona w sieci wirtualnej , która hostuje małą aplikację internetową
  • Brama aplikacji z publicznym adresem IP frontonu, odbiornikiem hostowania witryny internetowej w bramie i trasą do grupy kontenerów zaplecza

Jeśli brama aplikacji jest uruchomiona, a grupa kontenerów uwidacznia stabilny prywatny adres IP w delegowanej podsieci sieci, grupa kontenerów jest dostępna pod tym publicznym adresem IP.

Uwaga

Usługa Azure Application Gateway obsługuje protokoły HTTP, HTTPS, HTTP/2 i WebSocket.

Azure nalicza opłaty za bramę aplikacji, zależne od czasu, przez jaki jest aprowizowana i dostępna, oraz ilości przetwarzanych danych. Zobacz cennik.

Tworzenie sieci wirtualnej

W typowym przypadku może już istnieć sieć wirtualna platformy Azure. Jeśli go nie masz, utwórz go, jak pokazano w poniższych przykładowych poleceniach. Sieć wirtualna wymaga oddzielnych podsieci dla bramy aplikacji i grupy kontenerów.

Jeśli potrzebujesz grupy zasobów platformy Azure, utwórz grupę zasobów platformy Azure. Na przykład:

az group create --name myResourceGroup --location eastus

Utwórz sieć wirtualną za pomocą polecenia az network vnet create . To polecenie tworzy podsieć myAGSubnet w sieci.

az network vnet create \
  --name myVNet \
  --resource-group myResourceGroup \
  --location eastus \
  --address-prefix 10.0.0.0/16 \
  --subnet-name myAGSubnet \
  --subnet-prefix 10.0.1.0/24

Użyj polecenia az network vnet subnet create , aby utworzyć podsieć dla grupy kontenerów zaplecza. Tutaj jej nazwa to myACISubnet.

az network vnet subnet create \
  --name myACISubnet \
  --resource-group myResourceGroup \
  --vnet-name myVNet   \
  --address-prefix 10.0.2.0/24

Użyj polecenia az network public-ip create , aby utworzyć statyczny zasób publicznego adresu IP. W późniejszym kroku ten adres jest skonfigurowany jako fronton bramy aplikacji.

az network public-ip create \
  --resource-group myResourceGroup \
  --name myAGPublicIPAddress \
  --allocation-method Static \
  --sku Standard

Tworzenie grupy kontenerów

Uruchom następujące polecenie az container create , aby utworzyć grupę kontenerów w sieci wirtualnej skonfigurowanej w poprzednim kroku.

Grupa jest wdrażana w podsieci myACISubnet i zawiera jedno wystąpienie o nazwie appcontainer, które pobiera obraz aci-helloworld. Jak pokazano w innych artykułach w dokumentacji, ten obraz pakuje małą aplikację internetową napisaną w Node.js, która obsługuje statyczną stronę HTML.

az container create \
  --name appcontainer \
  --resource-group myResourceGroup \
  --image mcr.microsoft.com/azuredocs/aci-helloworld \
  --vnet myVNet \
  --subnet myACISubnet

Po pomyślnym wdrożeniu grupa kontenerów ma przypisany prywatny adres IP w sieci wirtualnej. Na przykład uruchom następujące polecenie az container show , aby pobrać adres IP grupy:

az container show \
  --name appcontainer --resource-group myResourceGroup \
  --query ipAddress.ip --output tsv

Dane wyjściowe są podobne do: 10.0.2.4.

Aby użyć w późniejszym kroku, zapisz adres IP w zmiennej środowiskowej:

ACI_IP=$(az container show \
  --name appcontainer \
  --resource-group myResourceGroup \
  --query ipAddress.ip --output tsv)

Ważne

Jeśli grupa kontenerów zostanie zatrzymana, uruchomiona lub ponownie uruchomiona, prywatny adres IP grupy kontenerów może ulec zmianie. W takim przypadku należy zaktualizować konfigurację bramy aplikacji.

Tworzenie bramy aplikacji

Utwórz bramę aplikacji w sieci wirtualnej, wykonując kroki opisane w przewodniku Szybki start bramy aplikacji. Następujące polecenie az network application-gateway create tworzy bramę z publicznym adresem IP frontonu i trasą do grupy kontenerów zaplecza. Szczegółowe informacje o ustawieniach bramy można znaleźć w dokumentacji usługi Application Gateway .

az network application-gateway create \
  --name myAppGateway \
  --location eastus \
  --resource-group myResourceGroup \
  --capacity 2 \
  --sku Standard_v2 \
  --http-settings-protocol http \
  --public-ip-address myAGPublicIPAddress \
  --vnet-name myVNet \
  --subnet myAGSubnet \
  --servers "$ACI_IP" \ 
  --priority 100

Utworzenie bramy aplikacji na platformie Azure może potrwać do 15 minut.

Testowanie publicznego adresu IP

Teraz możesz przetestować dostęp do aplikacji internetowej uruchomionej w grupie kontenerów za bramą aplikacji.

Uruchom polecenie az network public-ip show , aby pobrać publiczny adres IP frontonu bramy:

az network public-ip show \
--resource-group myresourcegroup \
--name myAGPublicIPAddress \
--query [ipAddress] \
--output tsv

Dane wyjściowe to publiczny adres IP podobny do: 52.142.18.133.

Aby wyświetlić uruchomioną aplikację internetową po pomyślnym skonfigurowaniu, przejdź do publicznego adresu IP bramy w przeglądarce. Pomyślny dostęp wygląda podobnie do:

Zrzut ekranu aplikacji uruchomionej w instancji kontenera Azure

Następne kroki

  • Zobacz szablon szybkiego startu, aby utworzyć grupę kontenerów z kontenerem WordPress jako serwer zaplecza za bramą aplikacyjną.
  • Bramę aplikacji można również skonfigurować przy użyciu certyfikatu na potrzeby terminacji SSL. Zapoznaj się z omówieniem i samouczkiem.
  • W zależności od scenariusza rozważ użycie innych rozwiązań równoważenia obciążenia platformy Azure z usługą Azure Container Instances. Na przykład użyj Azure Traffic Manager, aby rozprowadzać ruch pomiędzy wieloma instancjami kontenerów i w wielu regionach. Zobacz ten wpis w blogu.