Application Gateway létrehozása belső átirányítással az Azure CLI használatával
Az Azure CLI használatával konfigurálhatja a webes forgalom átirányítását egy alkalmazásátjáró létrehozásakor. Ebben az oktatóanyagban egy virtuálisgép-méretezési csoport használatával definiál egy háttérkészletet. Ezután konfigurálja a figyelőket és a szabályokat a saját tartományai alapján, hogy a webes forgalom a megfelelő készletbe érkezzen. Ez az oktatóanyag feltételezi, hogy több tartomány tulajdonosa, és példákat használ www.contoso.com és www.contoso.org.
Ebben a cikkben az alábbiakkal ismerkedhet meg:
- A hálózat beállítása
- Application Gateway létrehozása
- Figyelők és átirányítási szabály hozzáadása
- Virtuálisgép-méretezési csoport létrehozása a háttérkészlettel
- CNAME rekord létrehozása a tartományban
If you don't have an Azure subscription, create an Azure free account before you begin.
Előfeltételek
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: A Bash rövid útmutatója az Azure Cloud Shellben.
Ha inkább helyi cli-referenciaparancsokat szeretne futtatni, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszert használ, fontolja meg az Azure CLI Docker-tárolóban való futtatását. További információ: Az Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd : Bejelentkezés az Azure CLI-vel.
Amikor a rendszer kéri, először telepítse az Azure CLI-bővítményt. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
- Ehhez az oktatóanyaghoz az Azure CLI 2.0.4-es vagy újabb verziója szükséges. Az Azure Cloud Shell használata esetén a legújabb verzió már telepítve van.
Erőforráscsoport létrehozása
Az erőforráscsoport olyan logikai tároló, amelybe a rendszer üzembe helyezi és kezeli az Azure-erőforrásokat. Hozzon létre egy erőforráscsoportot az az group create paranccsal.
A következő példában létrehozunk egy myResourceGroupAG nevű erőforráscsoportot az eastus helyen.
az group create --name myResourceGroupAG --location eastus
Hálózati erőforrások létrehozása
Hozza létre a myVNet nevű virtuális hálózatot és a myAGSubnet nevű alhálózatot az az network vnet create paranccsal. Ezután hozzáadhatja a myBackendSubnet nevű alhálózatot, amelyet a kiszolgálók háttérkészlete igényel az az network vnet subnet create használatával. Hozza létre a myAGPublicIPAddress elnevezésű nyilvános IP-címet az az network public-ip create paranccsal.
az network vnet create \
--name myVNet \
--resource-group myResourceGroupAG \
--location eastus \
--address-prefix 10.0.0.0/16 \
--subnet-name myAGSubnet \
--subnet-prefix 10.0.1.0/24
az network vnet subnet create \
--name myBackendSubnet \
--resource-group myResourceGroupAG \
--vnet-name myVNet \
--address-prefix 10.0.2.0/24
az network public-ip create \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress
Application Gateway létrehozása
Az az network application-gateway create paranccsal létrehozhatja a myAppGateway nevű alkalmazásátjárót. Amikor az Azure CLI-vel hoz létre egy Application Gatewayt, meg kell adnia bizonyos konfigurációs adatokat, például a kapacitást, az SKU-t, valamint a HTTP-beállításokat. Az alkalmazásátjáró a korábban létrehozott myAGSubnet alhálózathoz és myAGPublicIPAddress IP-címhez lesz rendelve.
az network application-gateway create \
--name myAppGateway \
--location eastus \
--resource-group myResourceGroupAG \
--vnet-name myVNet \
--subnet myAGsubnet \
--capacity 2 \
--sku Standard_Medium \
--http-settings-cookie-based-affinity Disabled \
--frontend-port 80 \
--http-settings-port 80 \
--http-settings-protocol Http \
--public-ip-address myAGPublicIPAddress
Az alkalmazásátjáró létrehozása néhány percig is eltarthat. Az alkalmazásátjáró létrehozása után a következő új funkcióit láthatja:
- appGatewayBackendPool – Az Application Gatewayeknek legalább egy háttércímkészlettel kell rendelkezniük.
- appGatewayBackendHttpSettings – Meghatározza, hogy a kommunikációhoz a rendszer a 80-as portot és egy HTTP-protokollt használ.
- appGatewayHttpListener – Az appGatewayBackendPool készlethez társított alapértelmezett figyelő.
- appGatewayFrontendIP – Hozzárendeli a myAGPublicIPAddress IP-címet az appGatewayHttpListener figyelőhöz.
- rule1 – Az appGatewayHttpListener figyelőhöz rendelt alapértelmezett útválasztási szabály.
Figyelők és szabályok hozzáadása
A figyelő ahhoz szükséges, hogy az alkalmazásátjáró megfelelően irányíthassa a forgalmat a háttérkészlethez. Ebben az oktatóanyagban két figyelőt hoz létre a két tartományhoz. Ebben a példában a figyelők www.contoso.com és www.contoso.org tartományaihoz jönnek létre.
Adja hozzá a forgalom irányításához szükséges háttérfigyelőket az az network application-gateway http-listener create paranccsal.
az network application-gateway http-listener create \
--name contosoComListener \
--frontend-ip appGatewayFrontendIP \
--frontend-port appGatewayFrontendPort \
--resource-group myResourceGroupAG \
--gateway-name myAppGateway \
--host-name www.contoso.com
az network application-gateway http-listener create \
--name contosoOrgListener \
--frontend-ip appGatewayFrontendIP \
--frontend-port appGatewayFrontendPort \
--resource-group myResourceGroupAG \
--gateway-name myAppGateway \
--host-name www.contoso.org
Az átirányítási konfiguráció hozzáadása
Adja hozzá az átirányítási konfigurációt, amely forgalmat küld a www.consoto.org figyelőjének az application gateway www.contoso.com számára az az network application-gateway redirect-config create használatával.
az network application-gateway redirect-config create \
--name orgToCom \
--gateway-name myAppGateway \
--resource-group myResourceGroupAG \
--type Permanent \
--target-listener contosoListener \
--include-path true \
--include-query-string true
Útválasztási szabályok hozzáadása
A szabályok feldolgozása a létrehozásuk sorrendjében történik, a forgalom pedig az application gatewaynek küldött URL-címnek megfelelő első szabály használatával lesz irányítva. Ha például egy adott porton egy alapszintű figyelőt használó és egy többhelyes figyelőt használó szabály is aktív, a többhelyes figyelővel rendelkező szabályt az alapszintű figyelővel rendelkező elé kell venni, hogy a többhelyes szabály a várakozásnak megfelelően működjön.
Ebben a példában két új szabályt hoz létre, és törli a létrehozott alapértelmezett szabályt. A szabályt az az network application-gateway rule create paranccsal adhatja hozzá.
az network application-gateway rule create \
--gateway-name myAppGateway \
--name contosoComRule \
--resource-group myResourceGroupAG \
--http-listener contosoComListener \
--rule-type Basic \
--address-pool appGatewayBackendPool
az network application-gateway rule create \
--gateway-name myAppGateway \
--name contosoOrgRule \
--resource-group myResourceGroupAG \
--http-listener contosoOrgListener \
--rule-type Basic \
--redirect-config orgToCom
az network application-gateway rule delete \
--gateway-name myAppGateway \
--name rule1 \
--resource-group myResourceGroupAG
Virtuálisgép-méretezési csoportok létrehozása
Ebben a példában létrehoz egy virtuálisgép-méretezési csoportot, amely támogatja a létrehozott háttérkészletet. A létrehozott méretezési csoport neve myvmss , és két virtuálisgép-példányt tartalmaz, amelyekre az NGINX-et telepíti.
az vmss create \
--name myvmss \
--resource-group myResourceGroupAG \
--image Ubuntu2204 \
--admin-username azureuser \
--admin-password Azure123456! \
--instance-count 2 \
--vnet-name myVNet \
--subnet myBackendSubnet \
--vm-sku Standard_DS2 \
--upgrade-policy-mode Automatic \
--app-gateway myAppGateway \
--backend-pool-name appGatewayBackendPool
Az NGINX telepítése
Futtassa ezt a parancsot a rendszerhéjablakban:
az vmss extension set \
--publisher Microsoft.Azure.Extensions \
--version 2.0 \
--name CustomScript \
--resource-group myResourceGroupAG \
--vmss-name myvmss \
--settings '{ "fileUris": ["https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/install_nginx.sh"],
"commandToExecute": "./install_nginx.sh" }'
CNAME rekord létrehozása a tartományban
Az alkalmazásátjáró nyilvános IP-címmel történő létrehozása után lekérheti a DNS-címet, és a segítségével létrehozhat egy CNAME rekordot a tartományban. Az alkalmazásátjáró DNS-címét az az network public-ip show paranccsal kérheti le. Másolja a DNSSettings fqdn értékét, és használja a létrehozandó CNAME rekord értékeként. Az A rekordok használata nem javasolt, mivel a virtuális IP-cím változhat az alkalmazásátjáró újraindításakor.
az network public-ip show \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress \
--query [dnsSettings.fqdn] \
--output tsv
Az alkalmazásátjáró tesztelése
Adja meg a tartománya nevét a böngésző címsorában. Mint http://www.contoso.com.
Módosítsa például a címet a másik tartományra, http://www.contoso.org és látnia kell, hogy a forgalom vissza lett irányítva a figyelőhöz www.contoso.com.
Következő lépések
Ez az oktatóanyag bemutatta, hogyan végezheti el az alábbi műveleteket:
- A hálózat beállítása
- Application Gateway létrehozása
- Figyelők és átirányítási szabály hozzáadása
- Virtuálisgép-méretezési csoport létrehozása a háttérkészlettel
- CNAME rekord létrehozása a tartományban