Megosztás a következőn keresztül:


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

Tárolóalkalmazás létrehozása

Először jelentkezzen be az Azure Portalra.

  1. Keresse meg a Container Apps alkalmazást a felső keresősávon.

  2. Válassza a Container Apps lehetőséget a keresési eredmények között.

  3. Válassza a Létrehozás gombot.

  4. 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.
  5. A Container Apps Environment létrehozása mezőben válassza az Új hivatkozás létrehozása lehetőséget.

  6. 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
  7. 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.

  8. Nyilvános hálózati hozzáférés letiltása.

  9. 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.

  10. Állítsa a privát végpontok engedélyezése igen értékre.

  11. Privát végpont nevének beállítása saját-privát végpontra.

  12. 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.

  13. 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.

  14. 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.

  15. 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.

  16. Hagyja a DNS-t az Azure saját DNS Zónában.

  17. Válassza a Létrehozás lehetőséget.

  18. 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.

  19. 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.

  20. 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.

  21. 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.

  • 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

  1. 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
    
  2. 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
    
  3. 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

  1. 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
    
  2. 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)
    
  3. 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

  1. 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)
    
  2. 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/\..*//')
    
  3. Hozzon létre egy privát DNS-zónát.

    az network private-dns zone create \
        --resource-group $RESOURCE_GROUP \
        --name $PRIVATE_DNS_ZONE
    
  4. 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
    
  5. 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.

  1. Virtuális gépek keresése a felső keresősávon.

  2. Válassza ki a virtuális gépeket a keresési eredmények között.

  3. Válassza a Létrehozás lehetőséget.

  4. 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.
  5. 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.
  6. Válassza a Felülvizsgálat és létrehozás lehetőséget.

  7. 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

  1. Először jelentkezzen be az Azure Portalra.

  2. 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.

  3. 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.

  4. A Bastion lapon válassza a Bastion üzembe helyezése lehetőséget.

  5. Á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.

  6. Válassza a Kapcsolódás lehetőséget.

  7. A csatlakozás után futtassa a PowerShellt a virtuális gépen.

  8. 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>
    
  9. Nyisson meg egy böngészőt a virtuális gépen.

  10. 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