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ó:

Felhasználói felület NAT Gateway-integrációhoz

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

  1. 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.

  2. 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.
  3. 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.

  4. 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.

    IP-címek lap virtuális hálózat létrehozásához

  5. 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.

  6. 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.

  1. Az Azure Portal menüjében vagy a Kezdőlapon válassza az Erőforrás létrehozása elemet.

  2. Az Új lapon válassza a Számítási>függvényalkalmazás lehetőséget.

  3. 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.
  4. 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.
  5. 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.
  6. Válassza az Áttekintés + létrehozás lehetőséget az alkalmazáskonfigurációk kiválasztásának áttekintéséhez.

  7. 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.

  8. Válassza az Értesítések ikont a portál jobb felső sarkában, és watch a Sikeres üzembe helyezés üzenethez.

  9. 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.

    Üzembe helyezési értesítés

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.

  1. 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.

    Hálózatkezelés kiválasztása a függvényalkalmazásban

  2. A VNET-integráció lapon válassza a Virtuális hálózat hozzáadása lehetőséget.

  3. 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:

    A függvényalkalmazás virtuális hálózatának meghatározása

    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ó.
  4. 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 1van á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

  1. 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.

  2. 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.

  3. 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.

  1. A függvényalkalmazásban válassza a Tulajdonságok lehetőséget, és tekintse át a Kimenő IP-címek mezőt.

    Függvényalkalmazás kimenő IP-címeinek megtekintése

  2. 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.

    Test függvény

  3. A függvény végrehajtásához válassza a Futtatás lehetőséget, majd váltson a Kimenetre.

    Függvény kimenetének tesztelése

  4. 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

  1. 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:

    Nyilvános IP-cím létrehozása

    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
  2. Válassza a Létrehozás lehetőséget az üzembe helyezés elküldéséhez.

  3. 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.

    Nyilvános IP-cím megtekintése

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.

  1. 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:

    NAT-átjáró létrehozása

    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
  2. 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 .

  3. 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.

    Alhálózat kiválasztása

  4. 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.

  1. 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.

    Képernyőkép a törölni kívánt erőforráscsoport kiválasztásáról a függvényalkalmazás oldaláról.

    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.

  2. 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.

  3. 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.

Következő lépések