Az App Service Environment hálózatkezelése
Az App Service Environment a Windows- és Linux-tárolókat, webalkalmazásokat, API-alkalmazásokat, logikai alkalmazásokat és függvényalkalmazásokat üzemeltető Azure-alkalmazás Szolgáltatás egybérlős üzembe helyezése. Az App Service-környezet telepítésekor kiválaszthatja azt az Azure-beli virtuális hálózatot, amelyben üzembe szeretné helyezni. Az összes bejövő és kimenő alkalmazásforgalom a megadott virtuális hálózaton belül van. A virtuális hálózat egyetlen alhálózatán helyezi üzembe az üzembe helyezést, és semmi más nem helyezhető üzembe az alhálózatban.
Feljegyzés
Ez a cikk az App Service Environment v3-ról szól, amely izolált v2 App Service-csomagokkal használható.
Alhálózati követelmények
Az alábbiakban az App Service Environment által használt alhálózatra vonatkozó minimális követelmények szerepelnek.
- Az alhálózatot delegálni kell a következőre
Microsoft.Web/hostingEnvironments
: . - Az alhálózatnak üresnek kell lennie.
- Az alhálózat tulajdonságának
addressPrefix
sztringként kell formáznia, nem tömbként.
Az alhálózat mérete befolyásolhatja az App Service-csomagpéldányok skálázási korlátait az App Service-környezetben. Éles skálázás esetén az alhálózat címterét (256 címet) javasoljuk /24
. Ha az App Service-környezetben 200 példány maximális kapacitásának közel skálázását tervezi, és a gyakori fel- és leskálázási műveleteket tervezi, javasoljuk, hogy adjon meg egy /23
címteret (512 cím) az alhálózat számára.
Ha kisebb alhálózatot használ, vegye figyelembe a következő korlátozásokat:
- Minden egyes alhálózat öt, felügyeleti célra fenntartott címmel rendelkezik. Az App Service Environment a felügyeleti címek mellett dinamikusan skálázza a támogató infrastruktúrát, és a konfigurációtól és a terheléstől függően 7–27 címet használ. A fennmaradó címeket az App Service-csomag példányaihoz használhatja. Az alhálózat minimális mérete egy
/27
címtér (32 cím). - Az App Service-környezetben használt bármely App Service-csomag operációs rendszere/termékváltozat-kombinációja, például az I1v2 Windows esetén minden 20 aktív példányhoz létrejön egy készenléti példány. A készenléti példányokhoz IP-címekre is szükség van.
- Az App Service-csomagok App Service-környezetben való vertikális fel- és leskálázása során az App Service-csomag által használt IP-címek mennyisége ideiglenesen megkétszereződött, amíg a méretezési művelet befejeződik. Az új példányoknak teljes mértékben működőképesnek kell lenniük a meglévő példányok leépítése előtt.
- A platformfrissítéseknek ingyenes IP-címekre van szükségük, hogy a frissítések a kimenő forgalom megszakítása nélkül történjenek.
- A vertikális felskálázás, a le- vagy a műveletek befejezése után előfordulhat, hogy az IP-címek kiadása előtt rövid idő áll rendelkezésre. Ritkán ez a művelet akár 12 óra is lehet.
- Ha elfogynak az alhálózaton belüli címek, az App Service-csomagokat az App Service-környezetben korlátozhatja. Egy másik lehetőség, hogy nagyobb késést tapasztalhat az intenzív forgalmi terhelés során, ha a Microsoft nem tudja skálázni a támogató infrastruktúrát.
Feljegyzés
A Windows-tárolók alkalmazásonként további IP-címet használnak minden App Service-csomagpéldányhoz, és ennek megfelelően kell méreteznie az alhálózatot. Ha az App Service-környezet például 2 Windows Container App Service-csomaggal rendelkezik, amelyek mindegyike 25 példányból áll, és mindegyikben 5 alkalmazás fut, 300 IP-címre és további címekre lesz szüksége a horizontális (ki- és befelé irányuló) skálázás támogatásához.
Mintaszámítás:
Minden App Service-csomagpéldányhoz: 5 Windows Container Apps = 5 IP-cím 1 IP-cím App Service-csomagpéldányonként 5 + 1 = 6 IP-cím
25 példány esetén: 6 x 25 = 150 IP-cím App Service-csomagonként
Mivel 2 App Service-csomagja van, 2 x 150 = 300 IP-címmel rendelkezik.
Címek
Az App Service Environment a következő hálózati információkkal rendelkezik a létrehozáskor:
Cím típusa | Leírás |
---|---|
App Service Environment virtuális hálózat | A virtuális hálózat üzembe helyezése. |
App Service Environment alhálózat | A betelepített alhálózat. |
Tartomány utótagja | Az alkalmazások által használt alapértelmezett tartomány-utótag. |
Egyéni tartomány utótagja | (nem kötelező) Az alkalmazások által használt egyéni tartomány utótagja. |
Virtuális IP-cím (VIP) | A használt VIP-típus. A két lehetséges érték belső és külső. |
Bejövő cím | A bejövő cím az a cím, amelyen az alkalmazások elérhetők. Ha rendelkezik belső VIP-címmel, az az App Service Environment alhálózatának egy címe. Ha a cím külső, az egy nyilvános cím. |
Feldolgozó kimenő címei | Az alkalmazások ezt vagy ezeket a címeket használják, amikor kimenő hívásokat kezdeményeznek az interneten. |
Platform kimenő címei | A platform ezt a címet használja, amikor kimenő hívásokat indít az internetre. Ilyen például az egyéni tartomány utótagjának tanúsítványainak lekérése a Key Vaultból, ha nem használ privát végpontot. |
A részleteket a portál IP-címek szakaszában találja, ahogyan az alábbi képernyőképen látható:
Az App Service-csomagok App Service-környezetben történő skálázása során az alhálózaton kívül további címeket is használhat. A használt címek száma az App Service-csomagpéldányok számától és a használt forgalomtól függően változik. Az App Service-környezetben lévő alkalmazások nem rendelkeznek dedikált címekkel az alhálózatban. Az alhálózatban egy alkalmazás által használt konkrét címek idővel megváltoznak.
Saját bejövő cím létrehozása
Saját bejövő címét is elérheti az App Service-környezetben. Ha belső VIP-vel hoz létre App Service-környezetet, statikus IP-címet adhat meg az alhálózatban. Ha egy külső VIP-vel rendelkező App Service-környezetet hoz létre, a nyilvános IP-cím erőforrás-azonosítójának megadásával saját Azure Nyilvános IP-címet használhat. A saját bejövő cím beléptetésére vonatkozó korlátozások a következők:
- Külső VIP-vel rendelkező App Service-környezet esetén az Azure Nyilvános IP-cím erőforrásának ugyanabban az előfizetésben kell lennie, mint az App Service Environment.
- A bejövő cím nem módosítható az App Service-környezet létrehozása után.
Portok és hálózati korlátozások
Ahhoz, hogy az alkalmazás fogadhassa a forgalmat, győződjön meg arról, hogy a bejövő hálózati biztonsági csoport (NSG) szabályai lehetővé teszik, hogy az App Service Environment alhálózat fogadja a forgalmat a szükséges portokról. Minden porton kívül, amelyen forgalmat szeretne fogadni, győződjön meg arról, hogy az Azure Load Balancer képes csatlakozni az alhálózathoz a 80-s porton. Ez a port a belső virtuális gép állapot-ellenőrzésére szolgál. Továbbra is szabályozhatja a 80-os port forgalmát a virtuális hálózatról az alhálózatra.
Feljegyzés
Az NSG-szabályok módosítása a HTTP-kapcsolat megőrzése miatt akár 14 napot is igénybe vehet. Ha olyan módosítást hajt létre, amely blokkolja a platform-/felügyeleti forgalmat, akár 14 napig is eltarthat, amíg a hatás megjelenik.
Érdemes konfigurálni a következő bejövő NSG-szabályt:
Forrás-/célport(ok) | Irány | Forrás | Cél | Cél |
---|---|---|---|---|
* / 80,443 | Bejövő | VirtualNetwork | App Service Environment alhálózati tartomány | Alkalmazásforgalom és belső állapot pingelési forgalmának engedélyezése |
Az App Service-környezet működésének minimális követelménye a következő:
Forrás-/célport(ok) | Irány | Forrás | Cél | Cél |
---|---|---|---|---|
* / 80 | Bejövő | AzureLoadBalancer | App Service Environment alhálózati tartomány | Belső állapot pingelési forgalmának engedélyezése |
Ha a minimálisan szükséges szabályt használja, előfordulhat, hogy egy vagy több szabályra van szüksége az alkalmazás forgalmához. Ha az üzembe helyezési vagy hibakeresési lehetőségek bármelyikét használja, engedélyeznie kell ezt a forgalmat az App Service Environment alhálózatra is. Ezeknek a szabályoknak a forrása lehet a virtuális hálózat, vagy egy vagy több konkrét ügyfél IP-címe vagy IP-tartománya. A cél mindig az App Service Environment alhálózati tartománya.
A 80-s port belső állapot pingelési forgalma elkülönítve van a terheléselosztó és a belső kiszolgálók között. A külső forgalom nem érheti el az állapot-ping végpontot.
A bejövő normál alkalmazás-hozzáférési portok a következők:
Használat | Portok |
---|---|
HTTP/HTTPS | 80, 443 |
FTP/FTPS | 21, 990, 10001-10020 |
Visual Studio távoli hibakeresés | 4022, 4024, 4026 |
Webes üzembe helyezési szolgáltatás | 8172 |
Feljegyzés
Ftp-hozzáférés esetén még akkor is engedélyeznie kell a standard FTP-t a 21-s porton, ha a LoadBalancerből az App Service Environment alhálózati tartományba irányuló forgalmat szeretné engedélyezni a 21-as porton, mivel ez az ftp-szolgáltatás belső állapot pingelési forgalmához használatos.
Hálózati útválasztás
Az útvonaltáblákat korlátozás nélkül állíthatja be. Az App Service-környezetből az összes kimenő alkalmazásforgalmat alagútba helyezheti egy kimenő tűzfaleszközre, például az Azure Firewallba. Ebben a forgatókönyvben csak az alkalmazásfüggőségek miatt kell aggódnia.
Az alkalmazásfüggőségek olyan végpontokat tartalmaznak, amelyekre az alkalmazásnak szüksége van a futásidőben. Az alkalmazás által hívott API-k és szolgáltatások mellett a függőségek olyan végpontok is származtathatók, mint a tanúsítvány-visszavonási lista (CRL) végpontjai és identitás-/hitelesítési végpontjai, például a Microsoft Entra-azonosító. Ha folyamatos üzembe helyezést használ az App Service-ben, előfordulhat, hogy típustól és nyelvtől függően engedélyeznie kell a végpontokat is. Kifejezetten a Linux folyamatos üzembe helyezéséhez engedélyeznie oryx-cdn.microsoft.io:443
kell.
A webalkalmazás tűzfaleszközeit( például Azure-alkalmazás Gatewayt) a bejövő forgalom elé helyezheti. Így adott alkalmazásokat tehet közzé az Adott App Service-környezetben.
Az alkalmazás az egyik alapértelmezett kimenő címet használja a nyilvános végpontokra irányuló kimenő forgalomhoz. Ha testre szeretné szabni az alkalmazások kimenő címét egy App Service-környezetben, hozzáadhat egy NAT-átjárót az alhálózathoz.
Feljegyzés
A kimenő SMTP-kapcsolat (25-ös port) támogatott az App Service Environment v3-hoz. A támogatottságot annak az előfizetésnek a beállítása határozza meg, amelyben a virtuális hálózat üzembe van helyezve. Az 1. előtt létrehozott virtuális hálózatok/alhálózatok esetében. 2022. augusztusban ideiglenes konfigurációmódosítást kell kezdeményeznie a virtuális hálózaton/alhálózaton ahhoz, hogy a beállítás szinkronizálva legyen az előfizetésből. Ilyen lehet például egy ideiglenes alhálózat hozzáadása, egy NSG ideiglenes társítása vagy leválasztása, vagy egy szolgáltatásvégpont ideiglenes konfigurálása. További információ és hibaelhárítás : Kimenő SMTP-csatlakozási problémák elhárítása az Azure-ban.
Privát végpont
Ahhoz, hogy privát végpontokat engedélyezhessen az App Service-környezetben üzemeltetett alkalmazásokhoz, először engedélyeznie kell ezt a funkciót az App Service-környezet szintjén.
Az Azure Portalon keresztül aktiválhatja. Az App Service Environment konfigurációs paneljén kapcsolja be a beállítástAllow new private endpoints
.
Másik lehetőségként a következő parancssori felület engedélyezheti:
az appservice ase update --name myasename --allow-new-private-endpoint-connections true
További információ a privát végpontról és a webalkalmazásról: Azure Web App Private Endpoint
DNS
Az alábbi szakaszok az App Service-környezetbe bejövő és kimenő DNS-szempontokat és konfigurációt ismertetik. A példák az Azure Public Cloud tartományi utótagját appserviceenvironment.net
használják. Ha más felhőket használ, például az Azure Governmentt, a megfelelő tartomány utótagját kell használnia. App Service Environment-tartományok esetén a rendszer a DNS-korlátok miatt 59 karakterből csonkolja a webhelynevet. A pontokkal rendelkező App Service Environment-tartományok esetében a helynév 40 karakterből áll, a pontnév pedig 19 karakterből áll a DNS-korlátok miatt.
DNS-konfiguráció az App Service-környezethez
Ha az App Service-környezet külső VIRTUÁLIS IP-címmel készült, az alkalmazások automatikusan nyilvános DNS-be kerülnek. Ha az App Service-környezet belső VIP-vel készült, két lehetősége van az App Service-környezet létrehozásakor. Ha úgy választ, hogy az Azure DNS privát zónái automatikusan vannak konfigurálva, akkor a DNS a virtuális hálózaton van konfigurálva. Ha úgy dönt, hogy manuálisan konfigurálja a DNS-t, saját DNS-kiszolgálót kell használnia, vagy azure DNS privát zónákat kell konfigurálnia. A bejövő cím megkereséséhez nyissa meg az App Service Environment portált, és válassza ki az IP-címeket.
Ha saját DNS-kiszolgálót szeretne használni, adja hozzá a következő rekordokat:
- Hozzon létre egy zónát a következőhöz
<App Service Environment-name>.appserviceenvironment.net
: . - Hozzon létre egy A rekordot a zónában, amely * az App Service-környezet által használt bejövő IP-címre mutat.
- Hozzon létre egy A rekordot abban a zónában, amely az App Service-környezet által használt bejövő IP-címre mutat @ értékre.
- Hozzon létre egy zónát a nevesített
scm
fájlban<App Service Environment-name>.appserviceenvironment.net
. - Hozzon létre egy A rekordot a
scm
zónában, amely *-ra mutat az App Service-környezet privát végpontja által használt IP-címre.
A DNS konfigurálása az Azure DNS privát zónáiban:
- Hozzon létre egy Azure DNS privát zónát .
<App Service Environment-name>.appserviceenvironment.net
- Hozzon létre egy A rekordot a zónában, amely * a bejövő IP-címre mutat.
- Hozzon létre egy A rekordot abban a zónában, amely a @-ra mutat a bejövő IP-címre.
- Hozzon létre egy A rekordot abban a zónában, amely a *.scm-et a bejövő IP-címre pontokat adja.
Az alkalmazás létrehozásakor megadott alapértelmezett tartományon kívül egyéni tartományt is hozzáadhat az alkalmazáshoz. Egyéni tartománynevet anélkül állíthat be, hogy az alkalmazásokat érvényesíteni kéne. Ha egyéni tartományokat használ, győződjön meg arról, hogy konfigurálva vannak a DNS-rekordok. Az előző útmutatást követve konfigurálhatja a DNS-zónákat és -rekordokat egy egyéni tartománynévhez (cserélje le az alapértelmezett tartománynevet az egyéni tartománynévre). Az egyéni tartománynév alkalmazáskérésekhez működik, de nem működik a scm
webhelyen. A scm
webhely csak az appname.scm> webhelyen <érhető el.<asename.appserviceenvironment.net>.
DNS-konfiguráció FTP-hozzáféréshez
A belső terheléselosztó (ILB) App Service Environment v3-hoz való FTP-hozzáféréshez meg kell győződnie arról, hogy a DNS konfigurálva van. Konfiguráljon egy Privát Azure DNS-zónát vagy azzal egyenértékű egyéni DNS-t a következő beállításokkal:
- Hozzon létre egy Azure DNS privát zónát .
ftp.appserviceenvironment.net
- Hozzon létre egy A rekordot a zónában, amely a bejövő IP-címre mutat
<App Service Environment-name>
.
A DNS beállítása mellett az App Service Environment konfigurációjában és az alkalmazás szintjén is engedélyeznie kell.
DNS-konfiguráció az App Service-környezetből
Az App Service-környezetben lévő alkalmazások a virtuális hálózat által konfigurált DNS-t használják. Ha azt szeretné, hogy egyes alkalmazások egy másik DNS-kiszolgálót használjanak, manuálisan is beállíthatja alkalmazásonként, az alkalmazásbeállítások és WEBSITE_DNS_SERVER
WEBSITE_DNS_ALT_SERVER
a .
WEBSITE_DNS_ALT_SERVER
konfigurálja a másodlagos DNS-kiszolgálót. A másodlagos DNS-kiszolgálót csak akkor használja a rendszer, ha nincs válasz az elsődleges DNS-kiszolgálótól.