Hálózatkezelés az Azure Container Apps-környezetben

Az Azure Container Apps egy környezet kontextusában fut, saját virtuális hálózattal (VNet).

A Container App-környezet alapértelmezés szerint egy automatikusan létrehozott virtuális hálózattal jön létre. A hálózat részletes szabályozása érdekében meglévő virtuális hálózatot is megadhat egy környezet létrehozásakor. Miután létrehozott vagy meglévő virtuális hálózattal létrehoz egy környezetet, a hálózat típusa nem módosítható.

A létrehozott virtuális hálózatok a következő jellemzőket veszik figyelembe.

Ezek a következők:

  • nem érhető el Önnek, mivel a Microsoft bérlőjében lettek létrehozva
  • nyilvánosan elérhető az interneten keresztül
  • csak az internethez elérhető végpontok elérése

Emellett csak a hálózatkezelési képességek korlátozott részét támogatják, például a bejövő IP-korlátozásokat és a tárolóalkalmazásszintű bejövőforgalom-vezérlőket.

Használjon meglévő virtuális hálózatot, ha több Azure-beli hálózati szolgáltatásra van szüksége, például:

  • Integráció az Application Gatewayrel
  • Network Security Groups (Hálózati biztonsági csoportok)
  • Kommunikáció a virtuális hálózat privát végpontjai mögötti erőforrásokkal

Az elérhető virtuális hálózatok funkciói a környezet kiválasztásától függenek.

Környezet kiválasztása

A Container Apps két különböző környezettípussal rendelkezik, amelyek számos különböző hálózatkezelési jellemzővel rendelkeznek, néhány fő különbséggel.

Környezet típusa Leírás Támogatott csomagtípusok
Számítási feladatok profiljai Támogatja a felhasználó által megadott útvonalakat (UDR) és a NAT-átjárón keresztüli kimenő forgalmat. A minimálisan szükséges alhálózatméret a ./27 Használat, dedikált
Csak felhasználás Nem támogatja a felhasználó által megadott útvonalakat (UDR), a NAT-átjárón keresztüli kimenő forgalmat, a távoli átjárón keresztüli társviszony-létesítést vagy más egyéni kimenő forgalmat. A minimálisan szükséges alhálózatméret a ./23 Felhasználás

Akadálymentességi szintek

Beállíthatja, hogy a tárolóalkalmazás csak a virtuális hálózaton belülről engedélyezi-e a nyilvános bejövő vagy bejövő forgalmat a környezeti szinten.

Akadálymentességi szint Leírás
Külső Lehetővé teszi a tárolóalkalmazás számára a nyilvános kérések fogadását. A külső környezetek virtuális IP-címmel vannak üzembe helyezve egy külső, nyilvános IP-címen.
Belső A belső környezetek nem rendelkeznek nyilvános végpontokkal, és egy belső IP-címre leképezett virtuális IP-címmel (VIP) vannak üzembe helyezve. A belső végpont egy Azure-beli belső terheléselosztó (ILB), és az IP-címek az egyéni virtuális hálózat magánhálózati IP-címlistájából vannak kiállítva.

Egyéni virtuális hálózat konfigurálása

Egyéni virtuális hálózat létrehozásakor tartsa szem előtt a következő helyzeteket:

  • Ha azt szeretné, hogy a tárolóalkalmazás korlátozza az összes külső hozzáférést, hozzon létre egy belső Container Apps-környezetet.

  • Ha saját virtuális hálózatot használ, meg kell adnia egy alhálózatot, amely kizárólag az üzembe helyezett Container App-környezetnek van dedikáltan. Ez az alhálózat más szolgáltatások számára nem érhető el.

  • A hálózati címek a környezet létrehozásakor definiált alhálózati tartományból vannak hozzárendelve.

    • Megadhatja a Container Apps-környezet által használt alhálózati tartományt.

    • A környezet belső telepítésével korlátozhatja a környezetbe irányuló bejövő kéréseket kizárólag a virtuális hálózatra.

Feljegyzés

Ha saját virtuális hálózatot ad meg, a rendszer további felügyelt erőforrásokat hoz létre. Ezek az erőforrások a hozzájuk tartozó díjakkal járnak.

Amikor elkezdi megtervezni a hálózatot a tárolóalkalmazás köré, tekintse meg a virtuális hálózatok tervezését.

Diagram of how Azure Container Apps environments use an existing V NET, or you can provide your own.

Feljegyzés

A virtuális hálózatok áthelyezése különböző erőforráscsoportok vagy előfizetések között nem engedélyezett, ha a virtuális hálózatot egy Container Apps-környezet használja.

HTTP-peremhálózati proxy viselkedése

Az Azure Container Apps az Envoy proxyt használja peremhálózati HTTP-proxyként. A Transport Layer Security (TLS) leáll a peremhálózaton, a kérések pedig a forgalom felosztási szabályai alapján lesznek átirányítva, és a forgalmat a megfelelő alkalmazáshoz irányítják.

A HTTP-alkalmazások skálázása a HTTP-kérések és kapcsolatok száma alapján. A megbízott a fürtök belső forgalmát irányítja.

Az alsóbb rétegbeli kapcsolatok támogatják a HTTP1.1-et és a HTTP2-t, és az envoy automatikusan észleli és frissíti a kapcsolatokat, ha az ügyfélkapcsolat frissítést igényel.

A felsőbb rétegbeli kapcsolatok a bemeneti objektum tulajdonságának transportbeállításával vannak definiálva.

Bejövő forgalom konfigurálása

A bejövő forgalom szakaszban a következő beállításokat konfigurálhatja:

  • Akadálymentességi szint: Beállíthatja, hogy a tárolóalkalmazás külsőleg vagy belsőleg elérhetőként legyen elérhető a környezetben. A környezeti változók CONTAINER_APP_ENV_DNS_SUFFIX segítségével automatikusan feloldható a környezet teljes tartománynevének (FQDN) utótagja. Ha ugyanazon a környezetben kommunikál a tárolóalkalmazások között, használhatja az alkalmazás nevét is. További információ az alkalmazások eléréséről: Bejövő forgalom az Azure Container Appsben.

  • Forgalomfelosztási szabályok: Az alkalmazás különböző változatai közötti forgalomeloszlási szabályokat definiálhatja. További információ: Forgalom felosztása.

A különböző hálózati forgatókönyvekről további információt az Azure Container Apps bejövő forgalmát ismertető cikkben talál.

Portálfüggőségek

Az Azure Container Apps minden alkalmazásához két URL-cím található.

A Container Apps-futtatókörnyezet kezdetben létrehoz egy teljes tartománynevet (FQDN) az alkalmazás eléréséhez. A tárolóalkalmazás teljes tartománynevét az Azure Portalon, a tárolóalkalmazás Áttekintés ablakában tekintheti meg.

A rendszer létrehoz egy második URL-címet is. Ez a hely hozzáférést biztosít a naplóstreamelési szolgáltatáshoz és a konzolhoz. Szükség esetén előfordulhat, hogy hozzá kell adnia https://azurecontainerapps.dev/ a tűzfal vagy proxy engedélyezési listájához.

Portok és IP-címek

A bejövő kapcsolatokhoz az alábbi portok érhetők el.

Protokoll Port(ok)
HTTP/HTTPS 80, 443

Az IP-címek a következő típusokra vannak lebontva:

Típus Leírás
Nyilvános bejövő IP-cím Külső üzemelő példányok alkalmazásforgalmához, valamint belső és külső üzemelő példányok felügyeleti forgalmához használható.
Kimenő nyilvános IP-cím A virtuális hálózatot elhagyó kimenő kapcsolatok "from" IP-címeként használatos. Ezek a kapcsolatok nem VPN-ként vannak átirányítva. A kimenő IP-címek idővel változhatnak. A Container Apps-környezetből kimenő forgalom nat-átjáró vagy más proxy használata csak számítási feladatprofil-környezetekben támogatott.
Belső terheléselosztó IP-címe Ez a cím csak belső környezetben létezik.

Alhálózat

A virtuális hálózati integráció egy dedikált alhálózattól függ. Az, hogy az IP-címek hogyan vannak lefoglalva egy alhálózatban, és hogy milyen alhálózati méretek támogatottak, attól függ, hogy melyik csomagot használja az Azure Container Appsben.

Gondosan válassza ki az alhálózat méretét. Az alhálózat méretei nem módosíthatók a Container Apps-környezet létrehozása után.

A különböző környezettípusok eltérő alhálózati követelményekkel rendelkeznek:

  • /27 a virtuális hálózat integrációjához szükséges minimális alhálózat-méret.

  • Az alhálózatot delegálni kell.Microsoft.App/environments

  • Ha külső környezetet használ külső bejövő forgalommal, a bejövő forgalom az infrastruktúra nyilvános IP-címén halad át, nem pedig az alhálózaton keresztül.

  • A Container Apps automatikusan 12 IP-címet foglal le az alhálózattal való integrációhoz. Az infrastruktúra-integrációhoz szükséges IP-címek száma nem változik a környezet skálázási igényeitől függően. A további IP-címek a következő szabályok szerint lesznek lefoglalva attól függően, hogy milyen típusú számítási feladatprofilt használ, és a környezet számítási feladatprofiljától függően további IP-címeket foglal le:

    • Dedikált számítási feladatprofil: A tárolóalkalmazás felskálázása során minden csomóponthoz egy IP-cím van hozzárendelve.

    • Használati tevékenységprofil: Minden IP-cím több replika között is megosztható. Ha azt tervezi, hogy hány IP-cím szükséges az alkalmazáshoz, 10 replikánként 1 IP-címet tervezze meg.

  • Ha egyetlen változat módban módosítja a változatot , a szükséges címtér rövid ideig megduplázódik a nulla állásidős üzemelő példány támogatása érdekében. Ez hatással van a valós, elérhető támogatott replikákra vagy csomópontokra egy adott alhálózat méretéhez. Az alábbi táblázat a CIDR-blokkonként elérhető maximális címeket és a horizontális skálázásra gyakorolt hatást mutatja.

    Alhálózat mérete Elérhető IP-címek1 Maximális csomópontok (dedikált számítási feladatprofil)2 Replikák maximális kihasználtsági profilja)2
    /23 500 250 2500
    /24 244 122 1,220
    /25 116 58 580
    /26 52 26 260
    /27 20 10 100

    1 Az elérhető IP-címek az alhálózat mérete és az Azure Container Apps-infrastruktúra számára szükséges 12 IP-cím.
    2 Ez az egyváltozatos változat módban lévő alkalmazásokat számolja el.

Alhálózati címtartomány korlátozásai

Az alhálózati címtartományok nem fedhetik át az Azure Kubernetes Services által fenntartott alábbi tartományokat:

  • 169.254.0.0/16
  • 172.30.0.0/16
  • 172.31.0.0/16
  • 192.0.2.0/24

Emellett a számítási feladatprofil-környezet a következő címeket foglalja le:

  • 100.100.0.0/17
  • 100.100.128.0/19
  • 100.100.160.0/19
  • 100.100.192.0/19

Alhálózat-konfiguráció parancssori felülettel

A Container Apps-környezet létrehozásakor erőforrás-azonosítókat kell megadnia egyetlen alhálózathoz.

Ha a parancssori felületet használja, az alhálózati erőforrás-azonosítót meghatározó paraméter a következő infrastructure-subnet-resource-id. Az alhálózat infrastruktúra-összetevőket és felhasználói alkalmazástárolókat üzemeltet.

Ha az Azure CLI-t csak használatalapú környezettel használja, és a platformReservedCidr tartomány definiálva van, mindkét alhálózat nem fedheti át a megadott platformReservedCidrIP-tartományt.

Útvonalak

Felhasználó által megadott útvonalak (UDR)

A munkaterhelési profilok környezetében támogatott a felhasználó által meghatározott útvonalak (UDR) és a NAT Gateway-en keresztül történő ellenőrzött kilépés. A csak fogyasztási környezetben ezek a funkciók nem támogatottak.

Feljegyzés

Ha az UDR-t azure-tűzfallal használja az Azure Container Appsben, bizonyos teljes tartománynév- és szolgáltatáscímkéket kell hozzáadnia a tűzfal engedélyezési listájához. További információ: UDR konfigurálása az Azure Firewall használatával.

  • Az UDR-t használhatja a munkaterhelési profilok környezetében, hogy korlátozza a konténeralkalmazásból az Azure tűzfalon vagy más hálózati eszközökön keresztül kimenő forgalmat.

  • Az UDR konfigurálása a Container Apps környezet hatókörén kívül történik.

Diagram of how UDR is implemented for Container Apps.

Az Azure létrehozáskor létrehoz egy alapértelmezett útvonaltáblát a virtuális hálózatokhoz. Felhasználó által definiált útvonaltábla implementálásával szabályozhatja, hogy a forgalom hogyan legyen irányítva a virtuális hálózaton belül. Létrehozhat például egy UDR-t, amely az összes forgalmat a tűzfalra irányítja.

Az UDR konfigurálása az Azure Firewall használatával

A felhasználó által megadott útvonalak csak számítási feladatprofil-környezetekben támogatottak. Az alábbi alkalmazás- és hálózati szabályokat hozzá kell adni a tűzfal engedélyezési listájához attól függően, hogy milyen erőforrásokat használ.

Feljegyzés

Az UDR Container Apps szolgáltatással való beállításáról az Azure Firewall kimenő forgalmának korlátozásához a Container Apps és az Azure Firewall útmutatójában tájékozódhat.

Alkalmazásszabályok

Az alkalmazásszabályok az alkalmazásréteg alapján engedélyezik vagy tiltják le a forgalmat. Forgatókönyv alapján a következő kimenő tűzfalalkalmazási szabályok szükségesek.

Forgatókönyvek Teljes tartománynevek Leírás
Minden forgatókönyv mcr.microsoft.com, *.data.mcr.microsoft.com A Microsoft Container Registry (MCR) ezen teljes tartományneveit az Azure Container Apps használja, és ezeket az alkalmazásszabályokat vagy az MCR hálózati szabályait hozzá kell adni az engedélyezési listához az Azure Container Apps Azure Firewalllal való használatakor.
Azure Container Registry (ACR) Az Ön ACR-címe, *.blob.core.windows.netlogin.microsoft.com Ezekre a teljes tartománynevekre az Azure Container Apps ACR-sel és az Azure Firewalllal való használatakor van szükség.
Azure Key Vault Az Ön-Azure-Key-Vault-címe, login.microsoft.com Ezekre a teljes tartománynevekre az Azure Key Vault hálózati szabályához szükséges szolgáltatáscímke mellett van szükség.
Felügyelt identitás *.identity.azure.net, login.microsoftonline.com, *.login.microsoftonline.com*.login.microsoft.com Ezekre a teljes tartománynevekre akkor van szükség, ha felügyelt identitást használ az Azure Firewall használatával az Azure Container Appsben.
Docker Hub-beállításjegyzék hub.docker.com, , registry-1.docker.ioproduction.cloudflare.docker.com Ha Docker Hub-beállításjegyzéket használ, és a tűzfalon keresztül szeretné elérni, ezeket a teljes tartományneveket hozzá kell adnia a tűzfalhoz.
Hálózatszabályok

A hálózati szabályok engedélyezik vagy letiltják a forgalmat a hálózati és átviteli réteg alapján. Forgatókönyv alapján a következő kimenő tűzfalhálózati szabályokra van szükség.

Forgatókönyvek Szolgáltatáscímke Leírás
Minden forgatókönyv MicrosoftContainerRegistry, AzureFrontDoorFirstParty A Microsoft Container Registry (MCR) szolgáltatáscímkéinek használatát az Azure Container Apps használja, és vagy ezeket a hálózati szabályokat, vagy az MCR alkalmazásszabályait hozzá kell adni az engedélyezési listához az Azure Container Apps Azure Firewalllal való használatakor.
Azure Container Registry (ACR) AzureContainerRegistry, AzureActiveDirectory Ha az ACR-t az Azure Container Apps használatával használja, konfigurálnia kell az Azure Container Registry által használt alkalmazásszabályokat.
Azure Key Vault AzureKeyVault, AzureActiveDirectory Ezek a szolgáltatáscímkék az Azure Key Vault alkalmazásszabályához tartozó teljes tartománynév mellett szükségesek.
Felügyelt identitás AzureActiveDirectory Ha felügyelt identitást használ az Azure Container Appsszel, konfigurálnia kell ezeket a felügyelt identitás által használt alkalmazásszabályokat.

Feljegyzés

A jelen cikkben nem szereplő Azure Firewall használatával használt Azure-erőforrások esetében tekintse meg a szolgáltatáscímkék dokumentációját.

NAT-átjáró integrációja

A NAT Gateway használatával egyszerűsítheti a kimenő internetkapcsolatot a virtuális hálózat kimenő internetes forgalmához egy számítási feladatprofil-környezetben.

Ha nat-átjárót konfigurál az alhálózaton, a NAT-átjáró statikus nyilvános IP-címet biztosít a környezet számára. A tárolóalkalmazásból érkező összes kimenő forgalom a NAT-átjáró statikus nyilvános IP-címén keresztül lesz irányítva.

Környezetbiztonság

Diagram of how to fully lock down your network for Container Apps.

Az alábbi műveletek végrehajtásával teljes mértékben biztonságossá teheti a bejövő és kimenő hálózati adatforgalmi tevékenységprofilok környezetét:

Környezeti szintű hálózati titkosítás (előzetes verzió)

Az Azure Container Apps támogatja a környezeti szintű hálózati titkosítást a kölcsönös átviteli rétegbiztonság (mTLS) használatával. Ha végpontok közötti titkosításra van szükség, az mTLS titkosítja a környezeten belüli alkalmazások között továbbított adatokat.

A Container Apps-környezeten belüli alkalmazások automatikusan hitelesítve lesznek. A Container Apps-futtatókörnyezet azonban nem támogatja a hozzáférés-vezérlés engedélyezését a beépített mTLS-t használó alkalmazások között.

Ha az alkalmazások a környezeten kívüli ügyféllel kommunikálnak, az mTLS-sel való kétirányú hitelesítés támogatott. További információ: ügyféltanúsítványok konfigurálása.

Feljegyzés

Az mTLS engedélyezése az alkalmazások számára növelheti a válasz késését, és csökkentheti a maximális átviteli sebességet a nagy terhelésű forgatókönyvekben.

Az mTLS-t az alábbi parancsokkal engedélyezheti.

Létrehozáskor:

az containerapp env create \
    --name <environment-name> \
    --resource-group <resource-group> \
    --location <location> \
    --enable-mtls

Meglévő tárolóalkalmazás esetén:

az containerapp env update \
    --name <environment-name> \
    --resource-group <resource-group> \
    --enable-mtls

DNS

  • Egyéni DNS: Ha a virtuális hálózat az alapértelmezett Azure-beli DNS-kiszolgáló helyett egyéni DNS-kiszolgálót használ, konfigurálja a DNS-kiszolgálót a nem megoldott DNS-lekérdezések továbbítására 168.63.129.16. Az Azure rekurzív feloldói ezt az IP-címet használják a kérések megoldásához. Az NSG vagy a tűzfal konfigurálásakor ne tiltsa le a 168.63.129.16 címet, ellenkező esetben a Container Apps-környezet nem fog megfelelően működni.

  • VNet-scope bejövő forgalom: Ha belső környezetben szeretné használni a VNet-hatókör bejövő forgalmát , konfigurálja tartományait az alábbi módok egyikével:

    1. Nem egyéni tartományok: Ha nem tervez egyéni tartományt használni, hozzon létre egy privát DNS-zónát, amely feloldja a Container Apps-környezet alapértelmezett tartományát a Container Apps-környezet statikus IP-címére. Használhatja az Azure saját DNS vagy saját DNS-kiszolgálóját. Ha Azure saját DNS használ, hozzon létre egy privát DNS-zónát, amely a Container App-környezet alapértelmezett tartománya (<UNIQUE_IDENTIFIER>.<REGION_NAME>.azurecontainerapps.io) néven van elnevezve egy A rekorddal. A A rekord tartalmazza a Container Apps-környezet nevét *<DNS Suffix> és statikus IP-címét.

    2. Egyéni tartományok: Ha egyéni tartományokat szeretne használni, és külső Container Apps-környezetet használ, használjon nyilvánosan feloldható tartományt, hogy egyéni tartományt és tanúsítványt adjon hozzá a tárolóalkalmazáshoz. Ha belső Container Apps-környezetet használ, nincs érvényesítés a DNS-kötés számára, mivel a fürt csak a virtuális hálózaton belülről érhető el. Emellett hozzon létre egy privát DNS-zónát, amely a csúcstartományt a Container Apps-környezet statikus IP-címére oldja fel. Használhatja az Azure saját DNS vagy saját DNS-kiszolgálóját. Ha Azure-saját DNS használ, hozzon létre egy csúcstartományként elnevezett saját DNS zónát A egy olyan rekorddal, amely a Container Apps-környezet statikus IP-címére mutat.

A Container Apps-környezet statikus IP-címe elérhető az Azure Portalon a tárolóalkalmazás oldalának egyéni DNS-utótagjában , vagy az Azure CLI az containerapp env list parancs használatával.

Felügyelt erőforrások

Ha belső vagy külső környezetet helyez üzembe a saját hálózatában, egy új erőforráscsoport jön létre abban az Azure-előfizetésben, amelyben a környezet üzemel. Ez az erőforráscsoport az Azure Container Apps platform által felügyelt infrastruktúra-összetevőket tartalmazza. Ne módosítsa az ebben a csoportban lévő szolgáltatásokat vagy magát az erőforráscsoportot.

Számítási feladatprofilok környezete

Az Azure-előfizetésben létrehozott erőforráscsoport neve, amelyben a környezet üzemel, alapértelmezés szerint előtaggal ME_ van elnevezve, és az erőforráscsoport neve testre szabható a tárolóalkalmazás-környezet létrehozásakor.

Külső környezetek esetén az erőforráscsoport egy nyilvános IP-címet tartalmaz, amelyet kifejezetten a külső környezethez való bejövő kapcsolathoz és egy terheléselosztóhoz használnak. Belső környezetek esetén az erőforráscsoport csak Load Balancert tartalmaz.

A standard Azure Container Apps-számlázás mellett a következő díjakat kell fizetnie:

  • Egy standard statikus nyilvános IP-cím a kimenő forgalomhoz belső vagy külső környezet használata esetén, valamint egy standard statikus nyilvános IP-cím a bejövő forgalomhoz külső környezet használata esetén. Ha SNAT-problémák miatt több nyilvános IP-re van szüksége a kimenő forgalomhoz, nyisson meg egy támogatási jegyet a felülbírálás kéréséhez.

  • Egy standard terheléselosztó.

  • A feldolgozott adatok költsége (AB-kben) magában foglalja a bejövő és a kimenő forgalmat is a felügyeleti műveletekhez.

Csak használatalapú környezet

Az Azure-előfizetésben létrehozott erőforráscsoport neve, amelyben a környezet üzemel, alapértelmezés szerint előtaggal MC_ rendelkezik, és az erőforráscsoport neve nem szabható testre tárolóalkalmazás létrehozásakor. Az erőforráscsoport olyan nyilvános IP-címeket tartalmaz, amelyeket kifejezetten a környezetből és a terheléselosztóból való kimenő kapcsolathoz használnak.

A standard Azure Container Apps-számlázás mellett a következő díjakat kell fizetnie:

  • Egy szabványos statikus nyilvános IP-cím a kimenő forgalomhoz. Ha több IP-címre van szüksége a kimenő forgalomhoz a forráshálózati címfordítással (SNAT) kapcsolatos problémák miatt, nyisson meg egy támogatási jegyet a felülbírálás kéréséhez.

  • Belső környezet használata esetén két standard terheléselosztó , külső környezet használata esetén pedig egy standard terheléselosztó . Minden terheléselosztónak hatnál kevesebb szabálya van. A feldolgozott adatok költsége (AB-kben) magában foglalja a bejövő és a kimenő forgalmat is a felügyeleti műveletekhez.

Következő lépések