Megosztás a következőn keresztül:


Oktatóanyag: Az Azure Functions kimenő IP-címének szabályozása Azure-beli virtuális hálózati NAT-átjáró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 számára. 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 számára lehet hasznos, amelyeknek olyan külső szolgáltatást kell használniuk, amely biztonsági intézkedésként az IP-cím engedélyezési listáját használja. További információ: Mi az Azure NAT Gateway?

Ez az oktatóanyag bemutatja, hogyan irányíthatja a kimenő forgalmat a HTTP által aktivált függvényekből a NAT-átjárók használatával. 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őkre lesz szüksége:

  • Virtuális hálózat létrehozása
  • Prémium csomagfüggvény-alkalmazás létrehozása
  • Hozzon létre egy nyilvános IP-címet
  • NAT-átjáró létrehozása
  • Függvényalkalmazás konfigurálása a kimenő forgalom NAT-átjárón keresztüli átirányításához

Feljegyzés

Nat-átjáróval nem irányíthatja a kimenő forgalmat a függvényalkalmazással azonos régióban lévő Azure Storage-fiókba. Az ugyanabban a régióban üzembe helyezett szolgáltatások az ön tárfiókja privát Azure IP-címeket használnak a kommunikációhoz. További információkért tekintse meg a NAT Gateway gyakori kérdéseit.

Topológia

Az alábbi ábra a létrehozott megoldás architektúráját mutatja be:

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

A Prémium csomagban futó függvények ugyanolyan üzemeltetési képességekkel rendelkeznek, mint a Azure-alkalmazás Service webalkalmazásai, amely magában foglalja a virtuális hálózatok integrációját. A virtuális hálózatok integrációjáról, beleértve a hibaelhárítást és a speciális konfigurációt, az alkalmazás azure-beli virtuális hálózattal való integrálása című témakörben talál további információt.

Előfeltételek

Ebben az oktatóanyagban fontos, hogy megértse az IP-címzést és a részkiosztást. Ez a cikk a címzés és a részkiosztás alapjait ismerteti. Számos további cikk és videó érhető el online.

Ha nem rendelkezik Azure-előfizetéssel, mindössze néhány perc alatt létrehozhat egy ingyenes fiókot a virtuális gép létrehozásának megkezdése előtt.

Ha már elvégezte a Functions integrálását egy Azure-beli virtuális hálózati oktatóanyaggal, ugorjon a HTTP-eseményindító függvény létrehozása elemre.

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. Az Azure Marketplace-en válassza a Hálózat>Virtuális hálózat elemet.

  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 nevet, majd kattintson az OK gombra.
    Név Adja meg a myResourceGroup-vnetet.
    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ímtér esetében adja meg 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 nevének, az alhálózat címtartományának 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 a Véleményezé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étrehoz egy függvényalkalmazást a Prémium csomagban. Ez a terv 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 a függvényalkalmazást egy Prémium csomagban. Ugyanez a funkció akkor is elérhető, ha rugalmas használatú csomagban vagy dedikált (App Service-) csomagban üzemelteti az alkalmazást.

Feljegyzés

Az oktatóanyag legjobb élménye érdekében válassza a .NET-et a futtatókörnyezeti veremhez, és válassza az operációs rendszerhez készült Windowst. Emellett a függvényalkalmazást a virtuális hálózatával azonos régióban hozhatja létre.

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

  2. Az Újfüggvényalkalmazás lehetőséget.

  3. A Select a hosting option (Tárhely kiválasztása) területen válassza a Functions Premium>Select (Prémium szintű funkciók kiválasztása) lehetőséget az alkalmazás Prémium csomagban való létrehozásához. Ebben a kiszolgáló nélküli üzemeltetési beállításban csak a függvények futtatásának idejéért kell fizetnie. A különböző üzemeltetési tervekről a csomagok áttekintésében olvashat bővebben.

  4. Az Alapok lapon használja a függvényalkalmazás beállításait az alábbi táblázatban megadott módon:

    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étre szeretné hozni 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 -. Az egyedi alkalmazásnév garantálásához opcionálisan engedélyezheti a biztonságos, egyedi alapértelmezett hosztnevet, amely jelenleg előzetes verzióban érhető el.
    Kódot vagy tárolórendszerképet szeretne üzembe helyezni? Kód Kódfájlok közzétételét teszi lehetővé egy Docker-tárolóban.
    Operációs rendszer Előnyben részesített operációs rendszer Válassza a Linux vagy a Windows lehetőséget.
    Futtatókörnyezeti verem Elsődleges nyelv Válasszon egy olyan futtatókörnyezetet, amely támogatja a kedvenc függvényprogramozási nyelvét.
    verzió Támogatott nyelvi verzió Válassza ki a függvényprogramozási nyelv támogatott verzióját.
    Régió Előnyben részesített régió Válasszon egy régiót a közelben, vagy a függvények által elért más szolgáltatások közelében.
  5. A Környezet részletei alatt, akár a Windows-csomag, akár a Linux-csomag esetében, válassza az Új létrehozása lehetőséget, nevezze el App Service-csomagját, majd válasszon egy díjszabási csomagot. Az alapértelmezett díjszabási csomag az EP1, ahol az EP a rugalmas prémiumot jelenti. További információkért tekintse meg a Prémium termékváltozatok listáját. Ha JavaScript-függvényeket futtat egy Prémium csomagban, olyan példányt kell választania, amely kevesebb vCPU-val rendelkezik. További információt az egymagos Prémium csomagok kiválasztása című témakörben talál.

  6. Hacsak nem szeretné engedélyezni a zónaredundanciát, tartsa meg a letiltott alapértelmezett értéket.

  7. Válassza a Tovább: Tárolás lehetőséget. A Storage lapon hozza létre a függvényalkalmazáshoz szükséges alapértelmezett gazdagéptárfiókot . A tárfiókok nevének 3 és 24 karakter közötti hosszúságúnak kell lennie, és csak számokat és kisbetűket tartalmazhat. Használhat egy meglévő fiókot is, amelynek meg kell felelnie a tárfiók követelményeinek.

  8. Ha nem engedélyezi a virtuális hálózati integrációt, válassza a Tovább: Figyelés lehetőséget a Hálózatkezelés lap kihagyásához. A Figyelés lapon adja meg a következő beállításokat:

    Beállítás Ajánlott érték Leírás
    Az Application Insights engedélyezése Igen Lehetővé teszi a beépített Application Insight-integrációt a függvénykód figyeléséhez.
    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.
  9. Válassza a Véleményezés + létrehozás lehetőséget a fennmaradó lapok alapértelmezett beállításainak elfogadásához és az alkalmazáskonfiguráció kiválasztásának áttekintéséhez.

  10. A Véleményezés + 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.

  11. Válassza az Értesítések ikont a portál jobb felső sarkában, és figyelje meg az üzembe helyezés sikeres üzenetét.

  12. 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és megkönnyíti a függvényalkalmazás-erőforráshoz való visszatérést 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 kattintson ide a konfiguráláshoz.

    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 funkciók állapotában 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 definiálása

    Beállítás Ajánlott érték Leírás
    Virtuális hálózat MyResourceGroup-vnet Ez a virtuális hálózat az, amelyet korábban létrehozott.
    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 használatához. A virtuális hálózatok integrációjá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ímblokk 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ása 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 ki van é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 virtuális hálózatok integrációs és hálózati szolgáltatásállapot-lapjait , hogy visszatérjen a függvényalkalmazás lapjára.

A függvényalkalmazás mostantól hozzáférhet a virtuális hálózathoz. Ha a kapcsolat engedélyezve van, a vnetrouteallenabled webhely beállítása a következőre 1van állítva: . Ezt a webhelybeállítást vagy az örökölt WEBSITE_VNET_ROUTE_ALL alkalmazásbeállítást kell beállítania 1.

Ezután egy HTTP-aktivált függvényt fog hozzáadni 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 lehetőséget, majd a felső menüBen válassza a Hozzáadás lehetőséget.

  2. Az Új függvény ablakban válassza a Http-eseményindítót, és fogadja el az Új függvény alapértelmezett nevét, vagy írjon be egy új nevet.

  3. A Code + Test alkalmazásban 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 jelentkezzen be a portálra, és nézze meg, milyen kimenő IP-címeket használ a függvényalkalmazás.

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

  2. Most térjen vissza a HTTP-eseményindító függvényhez, válassza a Code + Test , majd a Test/Run lehetőséget.

    Tesztfüggvény

  3. Válassza a Futtatás lehetőséget a függvény végrehajtásához, majd váltson a Kimenetre , és ellenőrizze, hogy a HTTP-válasz törzsének IP-címe a korábban megtekintett kimenő IP-címek egyik értéke-e.

Most létrehozhat egy nyilvános IP-címet, és NAT-átjáró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, keresse meg az Azure Marketplace-en a nyilvános IP-címet, és válassza a Létrehozás lehetőséget. Használja a rendszerké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
    Kötő Regionális
    Név Kimenő IP-cím
    Előfizetés győződjön meg arról, hogy az előfizetés megjelenik
    Erőforráscsoport myResourceGroup (vagy az erőforráscsoporthoz rendelt név)
    Helyen 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-átjárót. Amikor az előző virtuális hálózatkezelési oktatóanyagot kezdi, az volt a javasolt alhálózat neve, Function-Net é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 az Azure Marketplace-en a NAT-átjárót, és válassza a Létrehozás lehetőséget. Az Alapismeretek 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) Egyik sem
  2. Válassza a Tovább elemet : Kimenő IP-cím. A Nyilvános IP-címek mezőben válassza ki a korábban létrehozott nyilvános IP-címet. Hagyja kijelöletlenül a nyilvános IP-címelő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 a Véleményezés + Létrehozás, majd Létrehozás lehetőséget az üzembe helyezés elküldéséhez.

Az üzembe helyezés befejezése után a NAT-átjáró készen áll arra, hogy a függvényalkalmazás alhálózatáról az internetre irányozza 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 látnia kell a függvény kimenetében látható NAT-ban konfigurált kimenő IP-címet.

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 alatti hivatkozást.

    Képernyőkép a törölni kívánt erőforráscsoportró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 ezek-e törölni kívánt erőforrások.

  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