Privát végpont használata Azure Container Apps-környezettel (előzetes verzió)
Ebből a cikkből megtudhatja, hogyan használhat privát végpontot az Azure Container App biztonságos elérésére anélkül, hogy közzéteheti azt a nyilvános interneten.
A privát végpontok a virtuális hálózat (VNet) magánhálózati IP-címét használják. Ez a végpont privátan és biztonságosan csatlakozik egy Azure Private Link által működtetett szolgáltatáshoz.
Az Azure Container Apps privát végpontjai csak a bejövő HTTP-forgalmat támogatják. A TCP-forgalom nem támogatott.
Előfeltételek
- Aktív előfizetéssel rendelkező Azure-fiók.
- Ha még nem rendelkezik fiókkal, ingyen létrehozhat egyet.
Tárolóalkalmazás létrehozása
Először jelentkezzen be az Azure Portalra.
Keresse meg a Container Apps alkalmazást a felső keresősávon.
Válassza a Container Apps lehetőséget a keresési eredmények között.
Válassza a Létrehozás gombot.
Az Alapok lap Tárolóalkalmazás létrehozása lapján adja meg a következő értékeket.
Beállítás Művelet Előfizetés Válassza ki az Azure-előfizetését. Erőforráscsoport Válassza az Új létrehozása lehetőséget, és adja meg a saját tárolóalkalmazásokat. Tárolóalkalmazás neve Adja meg a saját tárolóalkalmazást. Központi telepítés forrása Válassza a Tárolórendszerkép lehetőséget. Régió Válassza az USA középső régiója lehetőséget. A Container Apps Environment létrehozása mezőben válassza az Új hivatkozás létrehozása lehetőséget.
Az Alapok lap Container Apps-környezet létrehozása lapján adja meg a következő értékeket:
Beállítás Érték Környezet neve Írja be a saját környezetemet. Zónaredundancia Válassza a Letiltva lehetőséget Virtuális hálózat (VNet) létrehozásához válassza a Hálózat lapfület . Alapértelmezés szerint a nyilvános hálózati hozzáférés engedélyezve van, ami azt jelenti, hogy a privát végpontok le vannak tiltva.
Nyilvános hálózati hozzáférés letiltása.
Hagyja meg a Saját virtuális hálózat használata nem értékre történő beállítását. Használhat meglévő virtuális hálózatot, de a privát végpontokat csak a számítási feladatprofil-környezetek támogatják, amelyek legalább CIDR-tartományt
/27
tartalmazó alhálózatot igényelnek. Az alhálózat-méretezéssel kapcsolatos további információkért tekintse meg a hálózati architektúra áttekintését.Állítsa a privát végpontok engedélyezése igen értékre.
Privát végpont nevének beállítása saját-privát végpontra.
A Privát végpont virtuális hálózat mezőjében válassza az Új hivatkozás létrehozása lehetőséget.
A Virtuális hálózat létrehozása lapon állítsa be a virtuális hálózatot a saját-private-endpoint-vnetre. Kattintson az OK gombra.
A Privát végpont virtuális hálózat alhálózat mezőjében válassza az Új hivatkozás létrehozása lehetőséget.
Az Alhálózat létrehozása lapon állítsa az alhálózat nevét a saját-private-endpoint-vnet-alhálózatra. Kattintson az OK gombra.
Hagyja a DNS-t az Azure saját DNS Zónában.
Válassza a Létrehozás lehetőséget.
Az Alapszintű beállítások lap Tárolóalkalmazás létrehozása lapján válassza a Tovább: Tároló >lehetőséget.
A Tároló lap Tárolóalkalmazás létrehozása lapján válassza a Gyorsútmutató lemezkép használata lehetőséget.
Válassza a Véleményezés lehetőséget, és hozza létre a lap alján.
Ha nem található hiba, a Létrehozás gomb engedélyezve van.
Ha vannak hibák, a hibákat tartalmazó lapok piros ponttal vannak megjelölve. Lépjen a megfelelő lapra. A hibát tartalmazó mezők piros színnel vannak kiemelve. Az összes hiba kijavítása után válassza a Véleményezés lehetőséget, majd hozza létre újra.
Válassza a Létrehozás lehetőséget.
Megjelenik egy lap, amelyen az üzembe helyezés folyamatban van . Az üzembe helyezés sikeres befejezése után a következő üzenet jelenik meg: Az üzembe helyezés befejeződött.
Amikor megkeresi a tárolóalkalmazás végpontját, a rendszer azért kap értesítést
ERR_CONNECTION_CLOSED
, mert a tárolóalkalmazás-környezet nyilvános hozzáférése le van tiltva. Ehelyett a privát végponton keresztül érheti el a tárolóalkalmazást.
Előfeltételek
Aktív előfizetéssel rendelkező Azure-fiók.
- Ha még nem rendelkezik fiókkal, ingyen létrehozhat egyet.
Az Azure CLI legújabb verziója. A legújabb verzió futtatásához futtassa az alábbi parancsot.
az upgrade
Az Azure CLI-hez készült Azure Container Apps-bővítmény legújabb verziója. A legújabb verzió futtatásához futtassa az alábbi parancsot.
az extension add --name containerapp --upgrade --allow-preview true
Feljegyzés
2024 májusától kezdődően az Azure CLI-bővítmények alapértelmezés szerint nem engedélyezik az előzetes verziójú funkciókat. A Container Apps előzetes verziójú funkcióinak eléréséhez telepítse a Container Apps bővítményt a következővel
--allow-preview true
: .
További információ az előfeltételekről és a beállításról : Rövid útmutató: Az első tárolóalkalmazás üzembe helyezése a containerapp up használatával.
Környezeti változók beállítása
Állítsa be a következő környezeti változókat.
RESOURCE_GROUP="my-container-apps"
LOCATION="centralus"
ENVIRONMENT_NAME="my-environment"
CONTAINERAPP_NAME="my-container-app"
VNET_NAME="my-vnet"
SUBNET_NAME="my-subnet"
PRIVATE_ENDPOINT="my-private-endpoint"
PRIVATE_ENDPOINT_CONNECTION="my-private-endpoint-connection"
PRIVATE_DNS_ZONE="privatelink.${LOCATION}.azurecontainerapps.io"
DNS_LINK="my-dns-link"
Azure-erőforráscsoport létrehozása
Hozzon létre egy erőforráscsoportot a tárolóalkalmazás üzembe helyezéséhez kapcsolódó szolgáltatások rendszerezéséhez.
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION
Virtuális hálózat létrehozása
Azure-beli virtuális hálózat (VNet) létrehozása. Használhat meglévő virtuális hálózatot, de a privát végpontokat csak a számítási feladatprofil-környezetek támogatják, amelyek legalább CIDR-tartományt
/27
tartalmazó alhálózatot igényelnek. Az alhálózat-méretezéssel kapcsolatos további információkért tekintse meg a hálózati architektúra áttekintését.az network vnet create \ --resource-group $RESOURCE_GROUP \ --name $VNET_NAME \ --location $LOCATION \ --address-prefix 10.0.0.0/16
Hozzon létre egy alhálózatot a virtuális hálózathoz való társításhoz és a magánvégpont létrehozásához.
az network vnet subnet create \ --resource-group $RESOURCE_GROUP \ --vnet-name $VNET_NAME \ --name $SUBNET_NAME \ --address-prefixes 10.0.0.0/21
Kérje le az alhálózat azonosítóját. Ezzel hozza létre a privát végpontot.
SUBNET_ID=$(az network vnet subnet show \ --resource-group $RESOURCE_GROUP \ --vnet-name $VNET_NAME \ --name $SUBNET_NAME \ --query "id" \ --output tsv)
Környezet létrehozása
Hozza létre a Container Apps-környezetet. A privát végpontokat csak számítási feladatprofil-környezetek támogatják, ami az új környezetek alapértelmezett típusa.
az containerapp env create \ --name $ENVIRONMENT_NAME \ --resource-group $RESOURCE_GROUP \ --location $LOCATION
Kérje le a környezet azonosítóját. Ezzel konfigurálhatja a környezetet.
ENVIRONMENT_ID=$(az containerapp env show \ --resource-group $RESOURCE_GROUP \ --name $ENVIRONMENT_NAME \ --query "id" \ --output tsv)
Tiltsa le a környezet nyilvános hálózati hozzáférését. Ez a privát végpontok engedélyezéséhez szükséges.
az containerapp env update \ --id $ENVIRONMENT_ID \ --public-network-access Disabled
Privát végpont létrehozása
Hozza létre a privát végpontot a korábban létrehozott környezetben és alhálózatban.
az network private-endpoint create \
--resource-group $RESOURCE_GROUP \
--location $LOCATION \
--name $PRIVATE_ENDPOINT \
--subnet $SUBNET_ID \
--private-connection-resource-id $ENVIRONMENT_ID \
--connection-name $PRIVATE_ENDPOINT_CONNECTION \
--group-id managedEnvironments
A privát DNS-zóna konfigurálása
Kérje le a privát végpont IP-címét. Ezzel dns-rekordot adhat hozzá a privát DNS-zónához.
PRIVATE_ENDPOINT_IP_ADDRESS=$(az network private-endpoint show \ --name $PRIVATE_ENDPOINT \ --resource-group $RESOURCE_GROUP \ --query 'customDnsConfigs[0].ipAddresses[0]' \ --output tsv)
Kérje le a környezet alapértelmezett tartományát. Ezzel dns-rekordot adhat hozzá a privát DNS-zónához.
DNS_RECORD_NAME=$(az containerapp env show \ --id $ENVIRONMENT_ID \ --query 'properties.defaultDomain' \ --output tsv | sed 's/\..*//')
Hozzon létre egy privát DNS-zónát.
az network private-dns zone create \ --resource-group $RESOURCE_GROUP \ --name $PRIVATE_DNS_ZONE
Hozzon létre egy kapcsolatot a virtuális hálózat és a privát DNS-zóna között.
az network private-dns link vnet create \ --resource-group $RESOURCE_GROUP \ --zone-name $PRIVATE_DNS_ZONE \ --name $DNS_LINK \ --virtual-network $VNET_NAME \ --registration-enabled false
Adjon hozzá egy rekordot a privát végponthoz a privát DNS-zónához.
az network private-dns record-set a add-record \ --resource-group $RESOURCE_GROUP \ --zone-name $PRIVATE_DNS_ZONE \ --record-set-name $DNS_RECORD_NAME \ --ipv4-address $PRIVATE_ENDPOINT_IP_ADDRESS
Tárolóalkalmazás üzembe helyezése
Tárolóalkalmazás üzembe helyezése a környezetben. Ez a tárolóalkalmazás egyszerűen a rövid útmutató lemezképét használja.
Amikor megkeresi a tárolóalkalmazás végpontját, a rendszer azért kap értesítést ERR_CONNECTION_CLOSED
, mert a tárolóalkalmazás-környezet nyilvános hozzáférése le van tiltva. Ehelyett a privát végponton keresztül érheti el a tárolóalkalmazást.
az containerapp up \
--name $CONTAINERAPP_NAME \
--resource-group $RESOURCE_GROUP \
--location $LOCATION \
--environment $ENVIRONMENT_NAME \
--image mcr.microsoft.com/k8se/quickstart:latest \
--target-port 80 \
--ingress external \
--query properties.configuration.ingress.fqdn
A privát végpont kapcsolatának ellenőrzése
Ebben a szakaszban létrehoz egy virtuális gépet a virtuális hálózathoz, hogy hozzáférjen a privát végponttal definiált tárolóalkalmazáshoz.
Virtuális gép (VM) létrehozása
Először jelentkezzen be az Azure Portalra.
Virtuális gépek keresése a felső keresősávon.
Válassza ki a virtuális gépeket a keresési eredmények között.
Válassza a Létrehozás lehetőséget.
Az Alapszintű beállítások lapon adja meg a következő értékeket a virtuális gép létrehozása lapon.
Beállítás Művelet Előfizetés Válassza ki az Azure-előfizetését. Erőforráscsoport Válassza ki a saját tárolóalkalmazásokat. Virtuális gép neve Adja meg az azurevm-et. Régió Válassza az USA középső régiója lehetőséget. Rendelkezésre állási beállítások Válassza a Nincs szükség infrastruktúra-redundanciára lehetőséget. Biztonsági típus Válassza a Standard lehetőséget. Kép Válassza a Windows Server 2022 Datacenter : Azure Edition – x64 Gen2 lehetőséget. Felhasználónév Adja meg az azureusert. Jelszó Adjon meg egy jelszót. Jelszó megerősítése Írja be ismét a jelszót. Nyilvános bejövő portok Válassza a Nincs lehetőséget. A Hálózatkezelés lapon adja meg a következő értékeket.
Beállítás Művelet Virtuális hálózat Válassza ki a my-private-endpoint-vnetet. Alhálózat Válassza ki a my-private-endpoint-vnet-subnet (10.0.0.0/23). Nyilvános IP-cím Válassza a Nincs lehetőséget. Hálózati hálózati biztonsági csoport Válassza a Speciális lehetőséget. Válassza a Felülvizsgálat és létrehozás lehetőséget.
Válassza a Létrehozás lehetőséget.
Környezeti változók beállítása
Állítsa be a következő környezeti változókat.
VM_NAME="azurevm"
VM_ADMIN_USERNAME="azureuser"
Virtuális gép (VM) létrehozása
Futtassa az alábbi parancsot.
az vm create \
--resource-group $RESOURCE_GROUP \
--name $VM_NAME \
--image Win2022Datacenter \
--public-ip-address "" \
--vnet-name $VNET_NAME \
--subnet $SUBNET_NAME \
--admin-username $VM_ADMIN_USERNAME
A parancs futtatása után a rendszer rendszergazdai jelszót kér a virtuális géphez.
A rendszergazdai felhasználónévnek 1 és 20 karakter közötti hosszúságúnak kell lennie.
A rendszergazdai jelszóra a következő követelmények vonatkoznak:
- 12 és 123 karakter közötti hosszúságúnak kell lennie.
- A következők közül 3-nak kell lennie: 1 kisbetű, 1 nagybetű, 1 szám és 1 speciális karakter.
A kapcsolat tesztelése
Először jelentkezzen be az Azure Portalra.
Keresse meg a felső keresősávon létrehozott virtuális gépet, és válassza ki a keresési eredmények közül.
A virtuális gép Áttekintés lapján válassza a Csatlakozás lehetőséget, majd a Csatlakozás a Bastionon keresztül lehetőséget.
A Bastion lapon válassza a Bastion üzembe helyezése lehetőséget.
Állítsa be a felhasználónevet és a virtuális gép jelszavát a virtuális gép létrehozásakor használt felhasználónévre és jelszóra.
Válassza a Kapcsolódás lehetőséget.
A csatlakozás után futtassa a PowerShellt a virtuális gépen.
A PowerShellben futtassa a következő parancsot. Cserélje le a <HELYŐRZŐket> az értékekre.
nslookup <CONTAINER_APP_ENDPOINT>
A kimenet hasonló az alábbi példához, és az értékek a <HELYŐRZŐKET cserélik> le.
Server: UnKnown Address: 168.63.129.16 Non-authoritative answer: Name: <ENVIRONMENT_DEFAULT_DOMAIN>.privatelink.<LOCATION>.azurecontainerapps.io Address: 10.0.0.4 Aliases: <CONTAINER_APP_ENDPOINT>
Nyisson meg egy böngészőt a virtuális gépen.
Keresse meg a tárolóalkalmazás végpontját. Megjelenik a tárolóalkalmazás rövid útmutatójának képének kimenete.
Az erőforrások eltávolítása
Ha nem fogja tovább használni ezt az alkalmazást, eltávolíthatja a saját tárolóalkalmazások erőforráscsoportját. Ez törli az Azure Container Apps-példányt és az összes társított szolgáltatást.
Figyelemfelhívás
Az alábbi parancs törli a megadott erőforráscsoportot és a benne lévő összes erőforrást. Ha az útmutató hatókörén kívüli erőforrások szerepelnek a megadott erőforráscsoportban, akkor azok is törlődnek.
az group delete --name $RESOURCE_GROUP