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.
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.
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 transport
beá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 meg van határozva, az alhálózat nem fedheti át a megadott platformReservedCidr
IP-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.
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.net login.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.io production.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
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:
Hozza létre a belső tárolóalkalmazás-környezetet egy számítási feladatprofil-környezetben. A lépésekért tekintse meg a számítási feladatok profiljainak kezelését az Azure CLI-vel.
Integrálja a Container Appst egy Application Gateway-átjáróval.
Konfigurálja az UDR-t, hogy az összes forgalmat az Azure Firewallon keresztül irányíthassa.
Társközi titkosítás az Azure Container Apps-környezetben
Az Azure Container Apps támogatja a társközi TLS-titkosítást a környezetben. A funkció engedélyezése a környezet összes hálózati forgalmát titkosítja egy privát tanúsítvánnyal, amely érvényes az Azure Container Apps-környezet hatókörében. Ezeket a tanúsítványokat az Azure Container Apps automatikusan felügyeli.
Feljegyzés
Alapértelmezés szerint a társközi titkosítás le van tiltva. A társközi titkosítás 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 alábbi példa egy olyan környezetet mutat be, amelyen engedélyezve van a társközi titkosítás.
1 A bejövő TLS-forgalom leáll a környezet szélén lévő bejövő proxynál.
2 A környezet bejövő és kimenő forgalmát a TLS titkos tanúsítvánnyal titkosítja, és a fogadó visszafejti.
3 Az A alkalmazásból a B alkalmazás teljes tartománynevére irányuló hívások először a peremhálózati bejövő proxyra kerülnek, és TLS-titkosítással vannak elérhetővé téve.
4 Az A alkalmazásból a B alkalmazás nevének használatával indított hívások közvetlenül a B alkalmazásba kerülnek, és TLS-titkosítással vannak elérhetővé téve.
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 az alkalmazások között a beépített társközi titkosítással.
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.
A társközi titkosítást az alábbi parancsokkal engedélyezheti.
Létrehozáskor:
az containerapp env create \
--name <environment-name> \
--resource-group <resource-group> \
--location <location> \
--enable-peer-to-peer-encryption
Meglévő tárolóalkalmazás esetén:
az containerapp env update \
--name <environment-name> \
--resource-group <resource-group> \
--enable-peer-to-peer-encryption
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 a168.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:
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 egyA
rekorddal. AA
rekord tartalmazza a Container Apps-környezet nevét*<DNS Suffix>
és statikus IP-címét.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.