Share via


Az App Service Environment hálózatkezelési szempontjai

Fontos

Ez a cikk az App Service Environment v2-ről szól, amelyet izolált App Service-csomagokkal használnak. Az App Service Environment v2 2-et 2024. augusztus 31-én kivonjuk. Az App Service Environment új verziója egyszerűbben használható és hatékonyabb infrastruktúrán futtatható. Az új verzióról az App Service-környezet bemutatása című cikkből tudhat meg többet. Ha jelenleg az App Service Environment 2-es verzióját használja, kövesse az ebben a cikkben ismertetett lépéseket az új verzióra való migráláshoz.

2024. január 29-étől már nem hozhat létre új App Service Environment v2-erőforrásokat az elérhető módszerek , például ARM/Bicep-sablonok, Azure Portal, Azure CLI vagy REST API használatával. 2024. augusztus 31-ig át kell telepítenie az App Service Environment v3-ra az erőforrás törlésének és adatvesztésének megakadályozása érdekében.

Az App Service Environment a Azure-alkalmazás Service üzembe helyezése az Azure-beli virtuális hálózat alhálózatán. Az App Service-környezetekhez két üzembe helyezési típus létezik:

  • Külső: Az ilyen típusú üzembe helyezés az interneten elérhető IP-címmel teszi elérhetővé a üzemeltetett alkalmazásokat. További információ: Külső App Service-környezet létrehozása.
  • Belső terheléselosztó: Az ilyen típusú üzembe helyezés a virtuális hálózaton belüli IP-címen teszi elérhetővé a üzemeltetett alkalmazásokat. A belső végpont egy belső terheléselosztó. További információ: Belső terheléselosztó App Service-környezet létrehozása és használata.

Feljegyzés

Ez a cikk az App Service Environment v2-ről szól, amelyet izolált App Service-csomagokkal használnak.

Az üzembe helyezés típusától függetlenül minden App Service-környezet rendelkezik nyilvános virtuális IP-címvel (VIP). Ezt a VIP-t a bejövő felügyeleti forgalomhoz, valamint az App Service-környezetből az internetre irányuló hívások során használt címként használják. Az ilyen hívások az App Service-környezethez rendelt VIP-kapcsolaton keresztül hagyják el a virtuális hálózatot.

Ha az alkalmazások a virtuális hálózaton vagy VPN-en keresztül indítják az erőforrásokat, a forrás IP-címe az alhálózat egyik IP-címe. Mivel az App Service-környezet a virtuális hálózaton belül található, további konfiguráció nélkül is hozzáférhet a virtuális hálózaton belüli erőforrásokhoz. Ha a virtuális hálózat csatlakozik a helyszíni hálózathoz, az alkalmazások további konfiguráció nélkül is hozzáférhetnek az erőforrásokhoz.

Diagram that shows the elements of an external deployment. 

Ha külső üzembe helyezéssel rendelkező App Service-környezettel rendelkezik, akkor a nyilvános VIP az a végpont is, amelyre az alkalmazások a következő megoldásokat oldják fel:

  • HTTP/S
  • FTP/S
  • Webes üzembe helyezés
  • Távoli hibakeresés

Diagram that shows the elements of an internal load balancer deployment.

Ha belső terheléselosztó-üzembe helyezéssel rendelkező App Service-környezettel rendelkezik, a belső cím a HTTP/S, FTP/S, webes üzembe helyezés és távoli hibakeresés végpontja.

Alhálózat mérete

Az App Service-környezet üzembe helyezése után nem módosíthatja a üzemeltetéséhez használt alhálózat méretét. Az App Service Environment az egyes infrastruktúra-szerepkörökhöz és az egyes izolált App Service-csomagpéldányokhoz egy címet használ. Emellett az Azure-hálózatkezelés minden létrehozott alhálózathoz öt címet használ.

Az App Service-csomagok nélküli App Service-környezetek 12 címet fognak használni az alkalmazás létrehozása előtt. Ha a belső terheléselosztó üzembe helyezését használja, az alkalmazás létrehozása előtt 13 címet fog használni. A vertikális felskálázáskor vegye figyelembe, hogy az infrastruktúra-szerepkörök az App Service-csomagpéldányok 15 és 20 minden többszörösénél lesznek hozzáadva.

Fontos

Az App Service-környezeten csak az alhálózaton lehet más. Ügyeljen arra, hogy olyan címteret válasszon, amely lehetővé teszi a jövőbeli növekedést. Ezt a beállítást később nem módosíthatja. 256 címmel rendelkező méretet /24 javasoljuk.

Fel- vagy leskálázáskor a rendszer új, megfelelő méretű szerepköröket ad hozzá, majd a számítási feladatokat az aktuális méretről a célméretre migrálja. Az eredeti virtuális gépek csak a számítási feladatok migrálása után lesznek eltávolítva. Ha például 100 App Service-csomagpéldányt tartalmazó App Service-környezettel rendelkezik, van egy időszak, amelyben a virtuális gépek számának kétszeresére van szükség.

Bejövő és kimenő függőségek

Az alábbi szakaszok az App Service-környezettel kapcsolatos függőségeket ismertetik. Egy másik szakasz a DNS-beállításokat ismerteti.

Bejövő függőségek

Csak az App Service-környezet működéséhez az alábbi portoknak kell nyitva állnia:

Használat Kezdőérték Végérték
Menedzsment Az App Service felügyeleti címei App Service Environment alhálózat: 454, 455
Az App Service Environment belső kommunikációja App Service Environment alhálózat: Minden port App Service Environment alhálózat: Minden port
Az Azure Load Balancer bejövő forgalmának engedélyezése Azure load balancer App Service Environment alhálózat: 16001

A 7564-as és 1221-as portok nyitvaként jelenhetnek meg egy portvizsgálaton. Ip-címmel válaszolnak, és semmi többre. Ha szeretné, letilthatja őket.

A bejövő felügyeleti forgalom a rendszerfigyelés mellett az App Service-környezet parancsát és vezérlését is biztosítja. A forgalom forráscímei az App Service Environment felügyeleti címeiben jelennek meg. A hálózati biztonsági konfigurációnak engedélyeznie kell a hozzáférést az App Service Environment felügyeleti címéről a 454-ös és a 455-ös porton. Ha letiltja a hozzáférést ezekről a címekről, az App Service-környezet nem megfelelő állapotúvá válik, majd fel lesz függesztve. A 454-ös és a 455-ös porton érkező TCP-forgalomnak ugyanabból a VIP-ből kell visszalépnie, vagy aszimmetrikus útválasztási probléma merül fel.

Az alhálózaton belül számos portot használnak a belső összetevők közötti kommunikációhoz, és ezek változhatnak. Ehhez az alhálózat összes portjának elérhetőnek kell lennie az alhálózatról.

Az Azure load balancer és az App Service Environment alhálózat közötti kommunikációhoz a minimálisan nyitva lévő portok a 454, a 455 és az 16001. Ha belső terheléselosztó üzemelő példányt használ, akkor a forgalmat csak a 454, 455, 16001 portra zárolhatja. Ha külső üzembe helyezést használ, akkor figyelembe kell vennie a normál alkalmazáselérési portokat. Konkrétan a következők:

Használat Portok
HTTP/HTTPS 80, 443
FTP/FTPS 21, 990, 10001-10020
Visual Studio távoli hibakeresés 4020, 4022, 4024
Webes üzembe helyezési szolgáltatás 8172

Ha letiltja az alkalmazásportokat, az App Service-környezet továbbra is működhet, de előfordulhat, hogy az alkalmazás nem. Ha alkalmazáshoz rendelt IP-címeket használ külső üzembe helyezéssel, engedélyeznie kell az alkalmazásokhoz rendelt IP-címekről az alhálózatra érkező forgalmat. Az App Service Environment portálon lépjen az IP-címekre, és tekintse meg azokat a portokat, amelyekről engedélyeznie kell a forgalmat.

Kimenő függőségek

A kimenő hozzáféréshez az App Service-környezet több külső rendszertől függ. Ezen rendszerfüggőségek közül sok DNS-névvel van definiálva, és nem képez le rögzített IP-címekre. Az App Service-környezet ezért az alhálózatról kimenő hozzáférést igényel az összes külső IP-címhez, számos porton keresztül.

Az App Service Environment az alábbi portokon kommunikál az internethez elérhető címekhez:

Felhasználások Portok
DNS 53
NTP 123
CRL, Windows-frissítések, Linux-függőségek, Azure-szolgáltatások 80/443
Azure SQL 1433
Figyelés 12000

A kimenő függőségek az App Service-környezet zárolása listában találhatók. Ha az App Service-környezet elveszíti a hozzáférést a függőségeihez, leáll. Ha ez elég hosszú ideig történik, fel lesz függesztve.

Ügyfél DNS-e

Ha a virtuális hálózat ügyfél által definiált DNS-kiszolgálóval van konfigurálva, a bérlői számítási feladatok használják. Az App Service-környezet felügyeleti célokra az Azure DNS-t használja. Ha a virtuális hálózat ügyfél által kiválasztott DNS-kiszolgálóval van konfigurálva, a DNS-kiszolgálónak elérhetőnek kell lennie az alhálózatról.

Feljegyzés

Az App Service Environment v2-ben a tárolók csatlakoztatása vagy tárolólemezkép-lekérései nem tudják az ügyfél által definiált DNS-t használni a virtuális hálózaton vagy az WEBSITE_DNS_SERVER alkalmazásbeállításon keresztül.

A DNS-feloldás webalkalmazásból való teszteléséhez használja a konzolparancsot nameresolver. Nyissa meg a webhely hibakeresési ablakát scm az alkalmazáshoz, vagy nyissa meg az alkalmazást a portálon, és válassza a konzolt. A rendszerhéj-parancssorból kiadhatja a parancsot nameresolvera megkeresni kívánt DNS-névvel együtt. A visszakapott eredmény ugyanaz, mint amit az alkalmazás kapna, miközben ugyanazt a keresést végezné. Ha használja nslookup, akkor inkább az Azure DNS használatával végez kereséseket.

Ha módosítja annak a virtuális hálózatnak a DNS-beállítását, amelyben az App Service-környezet található, újra kell indítania. Az újraindítás elkerülése érdekében érdemes konfigurálni a DNS-beállításokat a virtuális hálózathoz az App Service-környezet létrehozása előtt.

Portálfüggőségek

Az előző szakaszokban ismertetett függőségek mellett néhány további szempontot is figyelembe kell vennie, amelyek a portál felületével kapcsolatosak. Az Azure Portal egyes funkciói a forrásvezérlő-kezelő (SCM) webhely közvetlen elérésétől függnek. A Azure-alkalmazás Service minden alkalmazásához két URL-cím található. Az első URL-cím az alkalmazás elérése. A második URL-cím az SCM-webhely elérése, amelyet Kudu-konzolnak is neveznek. Az SCM-webhelyet használó funkciók a következők:

  • WebJobs
  • Funkciók
  • Naplóstreamelés
  • Kudu
  • Bővítmények
  • Process Explorer
  • Konzol

Belső terheléselosztó használata esetén az SCM-hely nem érhető el a virtuális hálózaton kívülről. Egyes képességek nem működnek az alkalmazásportálon, mert hozzáférésre van szükségük az alkalmazás SCM-webhelyéhez. A portál helyett közvetlenül is csatlakozhat az SCM-webhelyhez.

Ha a belső terheléselosztó a tartománynév contoso.appserviceenvironment.net, és az alkalmazás neve tesztalkalmazás, akkor az alkalmazás a következő helyen testapp.contoso.appserviceenvironment.netérhető el: . A hozzá kapcsolódó SCM-webhely a következő helyen testapp.scm.contoso.appserviceenvironment.netérhető el: .

IP-címek

Az App Service-környezetnek van néhány IP-címe, amiről tudnia kell. Ezek a következők:

  • 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 "forrás" IP-címeként használatos. Ezek a kapcsolatok nem VPN-ként vannak átirányítva.
  • Belső terheléselosztó IP-címe: Ez a cím csak belső üzemelő példányban létezik.
  • Alkalmazás által hozzárendelt IP-alapú TLS/SSL-címek: Ezek a címek csak külső telepítéssel és IP-alapú TLS/SSL-kötés konfigurálásakor lehetségesek.

Ezek az IP-címek az Azure Portalon láthatók az App Service Environment felhasználói felületén. Ha belső üzembe helyezéssel rendelkezik, megjelenik a belső terheléselosztó IP-címe.

Feljegyzés

Ezek az IP-címek nem változnak, amíg az App Service-környezet fut. Ha az App Service-környezet fel lesz függesztve, majd visszaállítja, a használt címek megváltoznak. A felfüggesztés normál oka az, ha letiltja a bejövő felügyeleti hozzáférést, vagy letiltja a függőségekhez való hozzáférést.

Alkalmazáshoz rendelt IP-címek

Külső üzembe helyezéssel IP-címeket rendelhet az egyes alkalmazásokhoz. Ezt belső üzembe helyezéssel nem teheti meg. Az alkalmazás saját IP-címmel való konfigurálásáról további információt az egyéni DNS-név biztonságossá tételéről TLS-/SSL-kötéssel a Azure-alkalmazás Szolgáltatásban című témakörben talál.

Ha egy alkalmazás saját IP-alapú SSL-címmel rendelkezik, az App Service Environment két portot foglal le az adott IP-címre való leképezéshez. Az egyik port a HTTP-forgalomhoz, a másik a HTTPS-hez tartozik. Ezek a portok az App Service Environment portál IP-címek szakaszában jelennek meg. A forgalomnak képesnek kell lennie elérni ezeket a portokat a VIP-ről. Ellenkező esetben az alkalmazások nem érhetők el. Ezt a követelményt fontos megjegyezni a hálózati biztonsági csoportok (NSG-k) konfigurálásakor.

Hálózati biztonsági csoportok

Az NSG-k lehetővé teszik a virtuális hálózaton belüli hálózati hozzáférés szabályozását. A portál használatakor a legalacsonyabb prioritású implicit megtagadási szabály mindent megtagad. A buildelés az engedélyezési szabályok.

Nem rendelkezik hozzáféréssel az App Service-környezet üzemeltetéséhez használt virtuális gépekhez. A Microsoft által kezelt előfizetésben vannak. Ha korlátozni szeretné az alkalmazásokhoz való hozzáférést, állítsa be az NSG-ket az alhálózaton. Ennek során ügyeljen a függőségekre. Ha letiltja a függőségeket, az App Service-környezet nem működik.

Az NSG-ket az Azure Portalon vagy a PowerShellen keresztül konfigurálhatja. Az itt található információk az Azure Portalt jelenítik meg. Az NSG-k a portálon a Hálózatkezelés területen legfelső szintű erőforrásként hozhatók létre és kezelhetők.

Az NSG-ben a szükséges bejegyzéseknek engedélyeznie kell a forgalmat:

Bejövő

  • TCP a 454-ös, 455-ös porton lévő IP-szolgáltatáscímkéről AppServiceManagement
  • TCP az 16001-s port terheléselosztójából
  • Az App Service Environment alhálózatától az App Service Environment alhálózatig minden porton

Kimenő

  • UDP az 53-os porton lévő összes IP-címhez
  • UDP az összes IP-címhez a 123-as porton
  • TCP az összes IP-címhez a 80-443-ai porton
  • TCP az IP-szolgáltatás címkéjéhez Sql az 1433-as porton
  • TCP az összes IP-címhez az 12000-s porton
  • Az App Service Environment alhálózatra az összes porton

Ezek a portok nem tartalmazzák azokat a portokat, amelyeket az alkalmazások a sikeres használathoz igényelnek. Tegyük fel például, hogy az alkalmazásnak meg kell hívnia egy MySQL-kiszolgálót a 3306-os porton. A 123-es porton található Hálózati időprotokoll (NTP) az operációs rendszer által használt időszinkronizálási protokoll. Az NTP-végpontok nem az App Service-ra vonatkoznak, az operációs rendszertől függően változhatnak, és nem szerepelnek a címek jól definiált listájában. Az időszinkronizálási problémák elkerülése érdekében engedélyeznie kell az UDP-forgalmat a 123-as port összes címére. A kimenő TCP-forgalom az 12000-s portra a rendszer támogatásához és elemzéséhez szükséges. A végpontok dinamikusak, és nem egy jól definiált címkészletben találhatók.

A normál alkalmazáselé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 4020, 4022, 4024
Webes üzembe helyezési szolgáltatás 8172

Az alapértelmezett szabály lehetővé teszi, hogy a virtuális hálózaton lévő IP-címek beszéljenek az alhálózattal. Egy másik alapértelmezett szabály lehetővé teszi, hogy a terheléselosztó, más néven a nyilvános VIP kommunikáljon az App Service-környezettel. Az alapértelmezett szabályok megtekintéséhez válassza az Alapértelmezett szabályok lehetőséget (a Hozzáadás ikon mellett).

Ha minden más szabályt elutasít az alapértelmezett szabályok elé, megakadályozhatja a VIRTUÁLIS IP-cím és az App Service-környezet közötti forgalmat. Ha meg szeretné akadályozni, hogy a forgalom a virtuális hálózaton belülről érkezik, adjon hozzá saját szabályt a bejövő forgalom engedélyezéséhez. Használjon egy tetszőleges AzureLoadBalancercélhelyet és egy porttartományt *tartalmazó forrást. Mivel az NSG-szabály az alhálózatra van alkalmazva, nem kell konkrétnak lennie a célhelyen.

Ha IP-címet rendelt az alkalmazáshoz, győződjön meg arról, hogy nyitva tartja a portokat. A portok megtekintéséhez válassza az App Service Environment>IP-címeit.  

Az NSG-k definiálása után rendelje hozzá őket az alhálózathoz. Ha nem emlékszik a virtuális hálózatra vagy alhálózatra, az App Service Environment portálon láthatja. Az NSG alhálózathoz való hozzárendeléséhez lépjen az alhálózat felhasználói felületére, és válassza ki az NSG-t.

Útvonalak

A kényszerített bújtatás akkor történik, ha útvonalakat állít be a virtuális hálózaton, hogy a kimenő forgalom ne menjen közvetlenül az internetre. Ehelyett a forgalom máshová megy, például egy Azure ExpressRoute-átjáróra vagy egy virtuális berendezésre. Ha ilyen módon kell konfigurálnia az App Service-környezetet, tekintse meg az App Service-környezet kényszerített bújtatással való konfigurálását.

Amikor létrehoz egy App Service-környezetet a portálon, automatikusan létrehoz egy útvonaltáblát az alhálózaton. Ezek az útvonalak egyszerűen azt mondják, hogy a kimenő forgalmat közvetlenül az internetre küldik.

Ha manuálisan szeretné létrehozni ugyanazokat az útvonalakat, kövesse az alábbi lépéseket:

  1. Nyissa meg az Azure Portalt, és válassza a Hálózatkezelési>útvonaltáblák lehetőséget.

  2. Hozzon létre egy új útvonaltáblát a virtuális hálózatával megegyező régióban.

  3. Az útvonaltábla felhasználói felületén válassza az Útvonalak>hozzáadása lehetőséget.

  4. Állítsa a Következő ugrás típust internetre, a Cím előtagot pedig a 0.0.0.0/0 értékre. Válassza a Mentés lehetőséget.

    Ezután a következőhöz hasonlót fog látni:

    Screenshot that shows functional routes.

  5. Az új útvonaltábla létrehozása után lépjen az alhálózatra. Válassza ki az útvonaltáblát a portál listájából. A módosítás mentése után látnia kell az alhálózattal feljegyzett NSG-ket és útvonalakat.

    Screenshot that shows NSGs and routes.

Szolgáltatásvégpontok

A szolgáltatásvégpontok lehetővé teszik a több-bérlős szolgáltatásokhoz való hozzáférés korlátozását azure-beli virtuális hálózatok és alhálózatok halmazára. További információ: Virtuális hálózati szolgáltatásvégpontok.

Amikor engedélyezi a szolgáltatásvégpontokat egy erőforráson, az összes többi útvonalnál magasabb prioritású útvonalak jönnek létre. Ha bármely Azure-szolgáltatás szolgáltatásvégpontjait használja egy kényszerített bújtatású App Service-környezettel, az ezekre a szolgáltatásokra vonatkozó forgalom nem lesz kényszerített bújtatású.

Ha egy Azure SQL-példánysal rendelkező alhálózaton engedélyezve vannak a szolgáltatásvégpontok, az alhálózatról csatlakoztatott összes Azure SQL-példánynak engedélyezve kell lennie a szolgáltatásvégpontoknak. Ha több Azure SQL-példányt szeretne elérni ugyanarról az alhálózatról, nem engedélyezheti a szolgáltatásvégpontokat csak az egyik Azure SQL-példányon, egy másikon pedig nem. A szolgáltatásvégpontok tekintetében nem viselkedik más Azure-szolgáltatás az Azure SQL-hez hasonlóan. Amikor engedélyezi a szolgáltatásvégpontokat az Azure Storage-ban, zárolja az adott erőforráshoz való hozzáférést az alhálózatról. A többi Azure Storage-fiókhoz azonban továbbra is hozzáférhet, még akkor is, ha nincsenek engedélyezve a szolgáltatásvégpontok.

Diagram that shows service endpoints.