Oktatóanyag: Azure Functions kimenő IP-cím vezérlése Azure-beli virtuális hálózati NAT Gateway használatával
A virtuális hálózati címfordítás (NAT) leegyszerűsíti a csak kimenő internetkapcsolatot a virtuális hálózatok esetében. Ha alhálózaton van konfigurálva, minden kimenő kapcsolat a megadott statikus nyilvános IP-címeket használja. A NAT olyan alkalmazások esetében lehet hasznos, amelyeknek olyan külső szolgáltatást kell használniuk, amely biztonsági intézkedésként ip-cím engedélyezési listáját használja. További információ: Mi az az Azure NAT Gateway?.
Ez az oktatóanyag bemutatja, hogyan irányíthat ki kimenő forgalmat EGY HTTP által aktivált függvényből NAT Gateway-átjárókkal. Ez a függvény lehetővé teszi a saját kimenő IP-címének ellenőrzését. Ebben az oktatóanyagban a következőket fogja végezni:
- Virtuális hálózat létrehozása
- Prémium csomagú függvényalkalmazás létrehozása
- Hozzon létre egy nyilvános IP-címet
- NAT Gateway létrehozása
- Függvényalkalmazás konfigurálása a kimenő forgalom NAT-átjárón keresztüli irányításához
Topológia
Az alábbi ábrán a létrehozott megoldás architektúrája látható:
A Prémium csomagban futó függvények ugyanazokkal az üzemeltetési képességekkel rendelkeznek, mint a Azure App Service-ben lévő webalkalmazások, amelyek tartalmazzák a VNet-integráció funkciót. A VNet-integrációval kapcsolatos további információkért, beleértve a hibaelhárítást és a speciális konfigurációt, tekintse meg az alkalmazás Azure-beli virtuális hálózattal való integrálását ismertető cikket.
Előfeltételek
Ebben az oktatóanyagban fontos, hogy tisztában legyen az IP-címzéssel és az előfizetéssel. Ebből a cikkből kiindulva megismerheti a címzés és a részkiosztás alapjait. Számos további cikk és videó érhető el online.
Ha nem rendelkezik Azure-előfizetéssel, a kezdés előtt hozzon létre egy ingyenes fiókot .
Ha már elvégezte a Functions azure-beli virtuális hálózattal való integrálását ismertető oktatóanyagot, továbbléphet a HTTP-eseményindító-függvény létrehozása című részre.
Virtuális hálózat létrehozása
Az Azure Portal menüjében válassza az Erőforrás létrehozása elemet. A Azure Marketplace válassza a Hálózatkezelés>virtuális hálózat lehetőséget.
A Virtuális hálózat létrehozása területen adja meg vagy válassza ki a megadott beállításokat az alábbi táblázatban látható módon:
Beállítás Érték Előfizetés Válassza ki előfizetését. Erőforráscsoport Válassza az Új létrehozása lehetőséget, írja be a myResourceGroup kifejezést, majd kattintson az OK gombra. Name Adja meg a myResourceGroup-vnet nevet. Hely Válassza az USA keleti régiója lehetőséget. Válassza a Tovább: IP-címek lehetőséget, és az IPv4-címtartomány mezőbe írja be a 10.10.0.0/16 értéket.
Válassza az Alhálózat hozzáadása lehetőséget, majd adja meg a Tutorial-Net nevet az Alhálózat neve mezőben, az Alhálózat címtartománya mezőben pedig a 10.10.1.0/24 értéket.
Válassza a Hozzáadás, majd az Áttekintés + létrehozás lehetőséget. Hagyja meg a többit alapértelmezettként, és válassza a Létrehozás lehetőséget.
A Virtuális hálózat létrehozása területen válassza a Létrehozás lehetőséget.
Ezután létre fog hozni egy függvényalkalmazást a Prémium csomagban. Ez a csomag kiszolgáló nélküli skálázást biztosít, miközben támogatja a virtuális hálózati integrációt.
Függvényalkalmazás létrehozása Prémium csomagban
Ez az oktatóanyag bemutatja, hogyan hozhatja létre függvényalkalmazását prémium csomagban. Ugyanez a funkció dedikált (App Service) csomag használatakor is elérhető.
Megjegyzés
Az oktatóanyag legjobb élményéhez válassza a .NET-et a futtatókörnyezeti veremhez, és válassza a Windows operációs rendszer lehetőséget. Emellett hozza létre a függvényalkalmazást a virtuális hálózatával megegyező régióban.
Az Azure Portal menüjében vagy a Kezdőlapon válassza az Erőforrás létrehozása elemet.
Az Új lapon válassza a Számítási>függvényalkalmazás lehetőséget.
Az Alapvető beállítások lapon használja a függvényalkalmazás beállításait az alábbi táblázatban megadottak szerint:
Beállítás Ajánlott érték Leírás Előfizetés Az Ön előfizetése Az előfizetés, amelyben létrehozta az új függvényalkalmazást. Erőforráscsoport myResourceGroup Az új erőforráscsoport neve, amelyben létrehozza a függvényalkalmazást. Függvényalkalmazás neve Globálisan egyedi név Az új függvényalkalmazást azonosító név. Az érvényes karakterek az a-z
(kis- és nagybetűk megkülönböztetése nélkül)0-9
és az-
.Közzététel Kód Kódfájlok közzétételét teszi lehetővé egy Docker-tárolóban. Futtatókörnyezet verme Elsődleges nyelv Válasszon egy olyan futtatókörnyezetet, amely támogatja a kedvenc függvényprogramozási nyelvét. A portálon belüli szerkesztés jelenleg nem támogatott Python-fejlesztéshez. Régió Előnyben részesített régió Válasszon egy önhöz közeli régiót vagy a függvények által elért egyéb szolgáltatások közelében. Válassza a Tovább: Üzemeltetés lehetőséget. Az Üzemeltetés lapon adja meg a következő beállításokat:
Beállítás Ajánlott érték Leírás Storage-fiók Globálisan egyedi név Hozzon létre egy tárfiókot a függvényalkalmazás számára. A tárfiókok neve 3–24 karakter hosszúságú lehet, és csak számokból és kisbetűkből állhat. Használhat egy meglévő fiókot is, amelynek meg kell felelnie a tárfiók követelményeinek. Operációs rendszer Előnyben részesített operációs rendszer A futtatókörnyezeti verem kiválasztása alapján előre ki van jelölve egy operációs rendszer, de szükség esetén módosíthatja a beállítást. A Python csak Linuxon támogatott. A portálon belüli szerkesztés csak Windows rendszeren támogatott. Felkészülés Prémium Szolgáltatási csomag, amely meghatározza az erőforrások lefoglalását a függvényalkalmazáshoz. Válassza a Prémium lehetőséget. Alapértelmezés szerint egy új App Service csomag jön létre. Az alapértelmezett termékváltozat és méret az EP1, ahol az EP a rugalmas prémium értéket jelenti. További információért tekintse meg a Prémium termékváltozatok listáját.
Ha JavaScript-függvényeket futtat prémium csomagban, olyan példányt kell választania, amely kevesebb vCPU-val rendelkezik. További információ: Egymagos Prémium csomagok kiválasztása.Válassza a Tovább: Figyelés lehetőséget. A Figyelés lapon adja meg a következő beállításokat:
Beállítás Ajánlott érték Leírás Application Insights Alapértelmezett Létrehoz egy azonos alkalmazásnévvel rendelkező Application Insights-erőforrást a legközelebbi támogatott régióban. A beállítás kibontásával módosíthatja az Új erőforrásnevet , vagy választhat egy másik helyet egy Azure-beli földrajzi helyen az adatok tárolásához. Válassza az Áttekintés + létrehozás lehetőséget az alkalmazáskonfigurációk kiválasztásának áttekintéséhez.
A Felülvizsgálat + létrehozás lapon tekintse át a beállításokat, majd válassza a Létrehozás lehetőséget a függvényalkalmazás kiépítéséhez és üzembe helyezéséhez.
Válassza az Értesítések ikont a portál jobb felső sarkában, és watch a Sikeres üzembe helyezés üzenethez.
Az új függvényalkalmazás megtekintéséhez válassza az Erőforrás megnyitása lehetőséget. A Rögzítés az irányítópulton lehetőséget is választhatja. A rögzítéssel könnyebben visszatérhet ehhez a függvényalkalmazás-erőforráshoz az irányítópultról.
A függvényalkalmazás csatlakoztatása a virtuális hálózathoz
Most már csatlakoztathatja a függvényalkalmazást a virtuális hálózathoz.
A függvényalkalmazásban válassza a hálózatkezelés lehetőséget a bal oldali menüben, majd a VNet-integráció területen válassza a Konfiguráláshoz kattintson ide lehetőséget.
A VNET-integráció lapon válassza a Virtuális hálózat hozzáadása lehetőséget.
A Hálózati szolgáltatás állapota területen használja a rendszerkép alatti táblázatban található beállításokat:
Beállítás Ajánlott érték Leírás Virtual Network MyResourceGroup-vnet Ezt a virtuális hálózatot hozta létre korábban. Alhálózat Új alhálózat létrehozása Hozzon létre egy alhálózatot a virtuális hálózaton a függvényalkalmazás számára. A VNet-integrációt úgy kell konfigurálni, hogy üres alhálózatot használjon. Alhálózat neve Function-Net Az új alhálózat neve. Virtuális hálózati címblokk 10.10.0.0/16 Csak egy címblokkot kell definiálnia. Alhálózati címterület 10.10.2.0/24 Az alhálózat mérete korlátozza azoknak a példányoknak a teljes számát, amelyekre a Prémium csomagú függvényalkalmazás felskálázható. Ez a példa egy /24
254 elérhető gazdagépcímmel rendelkező alhálózatot használ. Ez az alhálózat túl van kiépítve, de könnyen kiszámítható.Az alhálózat hozzáadásához kattintson az OK gombra . Zárja be a VNet-integrációs és hálózati szolgáltatásállapot lapokat, hogy visszatérjen a függvényalkalmazás lapjára.
A függvényalkalmazás most már hozzáférhet a virtuális hálózathoz. Ha a kapcsolat engedélyezve van, a vnetrouteallenabled
hely beállítása értékre 1
van állítva. Ennek a webhelybeállításnak vagy az örökölt WEBSITE_VNET_ROUTE_ALL
alkalmazásbeállításnak a értékre kell állítania.1
Ezután hozzáad egy HTTP-aktivált függvényt a függvényalkalmazáshoz.
HTTP-eseményindító-függvény létrehozása
A Függvények ablak bal oldali menüjében válassza a Függvények, majd a felső menü Hozzáadás elemét.
Az Új függvény ablakban válassza a HTTP-eseményindító lehetőséget, és fogadja el az Új függvény alapértelmezett nevét, vagy adjon meg egy új nevet.
A Code + Test területen cserélje le a sablon által létrehozott C#-szkriptet (.csx) a következő kódra:
#r "Newtonsoft.Json" using System.Net; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Primitives; using Newtonsoft.Json; public static async Task<IActionResult> Run(HttpRequest req, ILogger log) { log.LogInformation("C# HTTP trigger function processed a request."); var client = new HttpClient(); var response = await client.GetAsync(@"https://ifconfig.me"); var responseMessage = await response.Content.ReadAsStringAsync(); return new OkObjectResult(responseMessage); }
Ez a kód meghív egy külső webhelyet, amely a hívó IP-címét adja vissza, amely ebben az esetben ez a függvény. Ezzel a módszerrel egyszerűen meghatározhatja a függvényalkalmazás által használt kimenő IP-címet.
Most már készen áll a függvény futtatására és az aktuális kimenő IP-címek ellenőrzésére.
Az aktuális kimenő IP-címek ellenőrzése
Most már futtathatja a függvényt. Először azonban ellenőrizze a portálon, hogy a függvényalkalmazás milyen kimenő IP-címeket használ.
A függvényalkalmazásban válassza a Tulajdonságok lehetőséget, és tekintse át a Kimenő IP-címek mezőt.
Most térjen vissza a HTTP-eseményindító függvényhez, válassza a Kód + tesztelés , majd a Tesztelés/Futtatás lehetőséget.
A függvény végrehajtásához válassza a Futtatás lehetőséget, majd váltson a Kimenetre.
Ellenőrizze, hogy a HTTP-válasz törzsében található IP-cím a korábban megtekintett kimenő IP-címek egyik értéke-e.
Most létrehozhat egy nyilvános IP-címet, és NAT Gateway használatával módosíthatja ezt a kimenő IP-címet.
Nyilvános IP-cím létrehozása
Az erőforráscsoportban válassza a Hozzáadás lehetőséget, keressen rá a Azure Marketplace a Nyilvános IP-cím kifejezésre, majd válassza a Létrehozás lehetőséget. Használja a kép alatti táblázatban található beállításokat:
Beállítás Ajánlott érték IP-verzió IPv4 Termékváltozat Standard Szint Regionális Név Kimenő IP-cím Előfizetés ellenőrizze, hogy megjelenik-e az előfizetése Erőforráscsoport myResourceGroup (vagy az erőforráscsoporthoz rendelt név) Hely USA keleti régiója (vagy más erőforrásokhoz rendelt hely) Availability Zone (Rendelkezésreállási zóna) Nincs zóna Válassza a Létrehozás lehetőséget az üzembe helyezés elküldéséhez.
Az üzembe helyezés befejezése után keresse meg az újonnan létrehozott nyilvános IP-cím erőforrást, és tekintse meg az IP-címet az Áttekintésben.
NAT-átjáró létrehozása
Most hozzuk létre a NAT Gatewayt. Amikor az előző virtuális hálózatkezelési oktatóanyaggal kezdi, Function-Net
az volt a javasolt alhálózat neve, és MyResourceGroup-vnet
az oktatóanyagban a javasolt virtuális hálózat neve volt.
Az erőforráscsoportban válassza a Hozzáadás lehetőséget, keresse meg a NAT Gateway Azure Marketplace, majd válassza a Létrehozás lehetőséget. Az Alapbeállítások lap feltöltéséhez használja a kép alatti táblázatban található beállításokat:
Beállítás Ajánlott érték Előfizetés Az Ön előfizetése Erőforráscsoport myResourceGroup (vagy az erőforráscsoporthoz rendelt név) NAT-átjáró neve myNatGateway Régió USA keleti régiója (vagy más erőforrásokhoz rendelt hely) Availability Zone (Rendelkezésreállási zóna) None Válassza a Tovább: Kimenő IP-cím lehetőséget. A Nyilvános IP-címek mezőben válassza ki a korábban létrehozott nyilvános IP-címet. Hagyja bejelöletlenül a nyilvános IP-előtagokat .
Válassza a Tovább: Alhálózat lehetőséget. Válassza ki a myResourceGroup-vnet erőforrást a Virtuális hálózat mezőben és a Function-Net alhálózatban.
Válassza az Áttekintés + Létrehozás , majd a Létrehozás lehetőséget az üzembe helyezés elküldéséhez.
Az üzembe helyezés befejezése után a NAT Gateway készen áll arra, hogy a függvényalkalmazás alhálózatáról az internetre irányítse a forgalmat.
Új kimenő IP-címek ellenőrzése
Ismételje meg a korábbi lépéseket a függvény ismételt futtatásához. Ekkor meg kell jelennie a függvény kimenetében látható NAT-ban konfigurált kimenő IP-címnek.
Az erőforrások eltávolítása
Az oktatóanyag elvégzéséhez erőforrásokat hozott létre. Ezekért az erőforrásokért a fiók állapotától és a szolgáltatás díjszabásától függően kell fizetnie. A többletköltségek elkerülése érdekében törölje az erőforrásokat, ha már tudja, hogy már szüksége van rájuk.
Az Azure Portalon nyissa meg az Erőforráscsoport oldalt.
Ha a függvényalkalmazás oldaláról szeretné elérni ezt a lapot, válassza az Áttekintés lapot, majd válassza az Erőforráscsoport területen található hivatkozást.
Ha az irányítópultról szeretné elérni ezt a lapot, válassza az Erőforráscsoportok lehetőséget, majd válassza ki a cikkhez használt erőforráscsoportot.
Az Erőforráscsoport lapon tekintse át a belefoglalt erőforrások listáját, és ellenőrizze, hogy ezeket szeretné-e törölni.
Válassza az Erőforráscsoport törlése lehetőséget, és kövesse az utasításokat.
A törlés eltarthat néhány percig. Amint a művelet befejeződött, néhány másodpercre egy értesítés jelenik meg. Az értesítést úgy is megtekintheti, ha kiválasztja a harang ikont az oldal tetején.