Sdílet prostřednictvím


Kurz: Řízení odchozí IP adresy služby Azure Functions pomocí NAT Gateway ve službě Azure Virtual Network

Překlad adres virtuální sítě (NAT) zjednodušuje odchozí připojení k internetu pouze pro virtuální sítě. Při konfiguraci v podsíti používá všechna odchozí připojení vaše zadané statické veřejné IP adresy. Překlad adres (NAT) může být užitečný pro aplikace, které potřebují využívat službu třetí strany, která jako bezpečnostní opatření používá seznam povolených IP adres. Další informace najdete v tématu Co je Azure NAT Gateway?

V tomto kurzu se dozvíte, jak pomocí bran NAT směrovat odchozí provoz z funkce aktivované protokolem HTTP. Tato funkce umožňuje zkontrolovat vlastní odchozí IP adresu. Během tohoto kurzu:

  • Vytvoření virtuální sítě
  • Vytvoření aplikace funkcí plánu Premium
  • Vytvoření veřejné IP adresy
  • Vytvoření služby NAT Gateway
  • Konfigurace aplikace funkcí pro směrování odchozího provozu přes bránu NAT Gateway

Poznámka:

Nemůžete použít bránu NAT ke směrování odchozího provozu do účtu Azure Storage ve stejné oblasti jako vaše aplikace funkcí. Služby nasazené ve stejné oblasti, ve které váš účet úložiště používá privátní IP adresy Azure ke komunikaci. Další informace najdete v tématu Nejčastější dotazy ke službě NAT Gateway.

Topologie

Následující diagram znázorňuje architekturu vytvořeného řešení:

Uživatelské rozhraní pro integraci služby NAT Gateway

Funkce spuštěné v plánu Premium mají stejné možnosti hostování jako webové aplikace ve službě Aplikace Azure Service, která zahrnuje funkci integrace virtuální sítě. Další informace o integraci virtuální sítě, včetně řešení potíží a pokročilé konfigurace, najdete v tématu Integrace aplikace s virtuální sítí Azure.

Požadavky

Pro účely tohoto kurzu je důležité pochopit přidělování IP adres a podsíť. Můžete začít s tímto článkem , který se zabývá základy adresování a podsítí. Mnoho dalších článků a videí je dostupných online.

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.

Pokud jste už dokončili integraci funkcí s kurzem virtuální sítě Azure, můžete přeskočit k vytvoření funkce triggeru HTTP.

Vytvoření virtuální sítě

  1. Z nabídky portálu Azure vyberte možnost Vytvořit prostředek. Na webu Azure Marketplace vyberte Sítě>Virtuální síť.

  2. V části Vytvořit virtuální síť zadejte nebo vyberte nastavení uvedená v následující tabulce:

    Nastavení Hodnota
    Předplatné Vyberte své předplatné.
    Skupina prostředků Vyberte Vytvořit nový, zadejte myResourceGroup a pak vyberte OK.
    Název Zadejte myResourceGroup-vnet.
    Umístění Vyberte USA – východ.
  3. Vyberte Další: IP adresy a pro adresní prostor IPv4 zadejte 10.10.0.0/16.

  4. Vyberte Přidat podsíť a pak jako rozsah adres podsítě zadejte Název podsítě Tutorial-Net a 10.10.1.0/24.

    Karta IP adresy pro vytvoření virtuální sítě

  5. Vyberte Přidat a pak vyberte Zkontrolovat a vytvořit. Ponechte zbytek jako výchozí a vyberte Vytvořit.

  6. V části Vytvořit virtuální síť vyberte Vytvořit.

Dále vytvoříte aplikaci funkcí v plánu Premium. Tento plán poskytuje bezserverové škálování a současně podporuje integraci virtuální sítě.

Vytvoření aplikace funkcí v plánu Premium

V tomto kurzu se dozvíte, jak vytvořit aplikaci funkcí v plánu Premium. Stejné funkce jsou k dispozici také při hostování aplikace v plánu Flex Consumption nebo v plánu Dedicated (App Service).

Poznámka:

Pro co nejlepší prostředí v tomto kurzu zvolte .NET pro zásobník modulu runtime a zvolte Windows pro operační systém. Vytvořte také aplikaci funkcí ve stejné oblasti jako virtuální síť.

  1. V nabídce webu Azure Portal nebo na domovské stránce vyberte Vytvořit prostředek.

  2. Na stránce Nový vyberte Aplikaci výpočetních>funkcí.

  3. V části Vybrat možnost hostování vyberte Functions Premium>Select a vytvořte aplikaci v plánu Premium. V této možnosti bezserverového hostování platíte jenom za čas, kdy vaše funkce běží. Další informace o různých plánech hostování najdete v tématu Přehled plánů.

  4. Na stránce Základy použijte nastavení aplikace funkcí, jak je uvedeno v následující tabulce:

    Nastavení Navrhovaná hodnota Popis
    Předplatné Vaše předplatné Předplatné, pod kterým je tato nová aplikace funkcí vytvořena.
    Skupina prostředků myResourceGroup Název nové skupiny prostředků, ve které chcete vytvořit aplikaci Function App.
    Název aplikace funkcí Globálně jedinečný název Název identifikující novou aplikaci funkcí. Platné znaky jsou a-z (bez rozlišování malých a velkých písmen), 0-9 a -. Pokud chcete zaručit jedinečný název aplikace, můžete volitelně povolit zabezpečený jedinečný výchozí název hostitele, který je aktuálně ve verzi Preview.
    Chcete nasadit kód nebo image kontejneru? Code Možnost publikování souborů kódu nebo kontejneru Docker
    Operační systém Upřednostňovaný operační systém Zvolte Linux nebo Windows.
    Zásobník modulu runtime Upřednostňovaný jazyk Vyberte modul runtime, který podporuje váš oblíbený programovací jazyk funkcí.
    Verze Podporovaná jazyková verze Zvolte podporovanou verzi programovacího jazyka funkcí.
    Oblast Upřednostňovaná oblast Vyberte oblast ve své blízkosti nebo v blízkosti jiných služeb, které vaše funkce využívají.
  5. V části Podrobnosti o prostředí pro plán Windows nebo Plán Linuxu vyberte Vytvořit nový, Pojmenujte plán služby App Service a vyberte cenový plán. Výchozí cenový plán je EP1, kde EP představuje elastické premium. Další informace najdete v seznamu skladových položek Premium. Při spouštění funkcí JavaScriptu v plánu Premium byste měli zvolit instanci, která má méně vCPU. Další informace najdete v tématu Volba plánů Premium s jedním jádrem.

  6. Pokud nechcete povolit redundanci zóny, ponechte výchozí hodnotu Disabled ( Zakázáno).

  7. Vyberte Další: Úložiště. Na stránce Úložiště vytvořte výchozí účet úložiště hostitele vyžadovaný vaší aplikací funkcí. Názvy účtů úložiště musí mít délku 3 až 24 znaků a můžou obsahovat jenom číslice a malá písmena. Můžete také použít existující účet, který musí splňovat požadavky na účet úložiště.

  8. Pokud nepovolíte integraci virtuální sítě, vyberte Další: Monitorování a přeskočte kartu Sítě . Na stránce Monitorování zadejte následující nastavení:

    Nastavení Navrhovaná hodnota Popis
    Aktivovat službu Application Insights Ano Umožňuje integrovanou integraci Application Insights pro monitorování kódu funkcí.
    Application Insights Výchozí Vytvoří prostředek Application Insights se stejným názvem aplikace v nejbližší podporované oblasti. Když toto nastavení rozbalíte, můžete změnit název nového prostředku nebo zvolit jiné umístění v zeměpisné oblasti Azure pro ukládání dat.
  9. Výběrem možnosti Zkontrolovat a vytvořit přijměte výchozí hodnoty pro zbývající stránky a zkontrolujte výběry konfigurace aplikace.

  10. Na stránce Zkontrolovat a vytvořit zkontrolujte nastavení a pak vyberte Vytvořit, abyste zřídili a nasadíte aplikaci funkcí.

  11. Vyberte ikonu Oznámení v pravém horním rohu portálu a podívejte se na zprávu o úspěšném nasazení.

  12. Volbou Přejít k prostředku novou aplikaci funkcí zobrazíte. Můžete také vybrat Připnout na řídicí panel. Připnutí usnadňuje návrat k tomuto prostředku aplikace funkcí z řídicího panelu.

    Oznámení o nasazení

Připojení aplikace funkcí k virtuální síti

Aplikaci funkcí teď můžete připojit k virtuální síti.

  1. V aplikaci funkcí v nabídce vlevo vyberte Sítě a pak v části Integrace virtuální sítě vyberte Kliknutím sem nakonfigurujte.

    Volba sítí v aplikaci funkcí

  2. Na stránce Integrace virtuální sítě vyberte Přidat virtuální síť.

  3. Ve stavu síťové funkce použijte nastavení v tabulce pod obrázkem:

    Definování virtuální sítě aplikace funkcí

    Nastavení Navrhovaná hodnota Popis
    Virtuální síť MyResourceGroup-vnet Tato virtuální síť je ta, kterou jste vytvořili dříve.
    Podsíť Vytvořit novou podsíť Vytvořte ve virtuální síti podsíť, kterou bude vaše aplikace funkcí používat. Integrace virtuální sítě musí být nakonfigurovaná tak, aby používala prázdnou podsíť.
    Název podsítě Function-Net Název nové podsítě.
    Blok adres virtuální sítě 10.10.0.0/16 Měli byste mít definovaný jenom jeden blok adresy.
    Blok adresy podsítě 10.10.2.0/24 Velikost podsítě omezuje celkový počet instancí, na které může aplikace funkcí plánu Premium škálovat. Tento příklad používá /24 podsíť s 254 dostupnými adresami hostitele. Tato podsíť je nadměrně zřízená, ale snadno se počítá.
  4. Vyberte OK a přidejte podsíť. Zavřete stránky stavu integrace virtuální sítě a síťové funkce a vraťte se na stránku vaší aplikace funkcí.

Aplikace funkcí teď má přístup k virtuální síti. Pokud je povolené připojení, vnetrouteallenabled nastaví se nastavení lokality na 1hodnotu . Musíte mít buď toto nastavení webu, nebo starší WEBSITE_VNET_ROUTE_ALL nastavení aplikace nastavené na 1hodnotu .

Dále do aplikace funkcí přidáte funkci aktivovanou protokolem HTTP.

Vytvoření funkce triggeru HTTP

  1. V levé nabídce okna Funkce vyberte Funkce a pak v horní nabídce vyberte Přidat .

  2. V okně Nová funkce vyberte trigger HTTP a přijměte výchozí název nové funkce nebo zadejte nový název.

  3. V kódu + test nahraďte kód vygenerovaný šablonou jazyka C# (.csx) následujícím kódem:

    #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);
    }
    

    Tento kód volá externí web, který vrací IP adresu volajícího, což je v tomto případě tato funkce. Tato metoda umožňuje snadno určit odchozí IP adresu používanou vaší aplikací funkcí.

Teď jste připraveni spustit funkci a zkontrolovat aktuální odchozí IP adresy.

Ověření aktuálních odchozích IP adres

Teď můžete funkci spustit. Nejprve se ale podívejte na portál a zjistěte, jaké odchozí IP adresy používá aplikace funkcí.

  1. V aplikaci funkcí vyberte Vlastnosti a zkontrolujte pole Odchozí IP adresy .

  2. Teď se vraťte do funkce triggeru HTTP, vyberte Kód + Test a pak Test/Spustit.

    Testovací funkce

  3. Vyberte Spustit , aby se funkce spustila, a pak přepněte na výstup a ověřte, že IP adresa v textu odpovědi HTTP je jednou z hodnot z odchozích IP adres, které jste si zobrazili dříve.

Teď můžete vytvořit veřejnou IP adresu a pomocí služby NAT Gateway upravit tuto odchozí IP adresu.

Vytvoření veřejné IP adresy

  1. Ve skupině prostředků vyberte Přidat, vyhledejte veřejnou IP adresu na Azure Marketplace a vyberte Vytvořit. Použijte nastavení v tabulce pod obrázkem:

    Vytvoření veřejné IP adresy

    Nastavení Navrhovaná hodnota
    Verze IP adresy protokol IPv4
    Skladová jednotka (SKU) Standard
    Úroveň Regionální
    Název Odchozí IP adresa
    Předplatné ujistěte se, že se zobrazí vaše předplatné.
    Skupina prostředků myResourceGroup (nebo název, který jste přiřadili ke skupině prostředků)
    Místo USA – východ (nebo umístění, které jste přiřadili k dalším prostředkům)
    Zóna dostupnosti Bez zóny
  2. Výběrem možnosti Vytvořit odešlete nasazení.

  3. Po dokončení nasazení přejděte k nově vytvořenému prostředku veřejné IP adresy a v přehledu zobrazte IP adresu.

    Zobrazení veřejné IP adresy

Vytvoření brány NAT

Teď vytvoříme bránu NAT Gateway. Když začnete s předchozím kurzem virtuální sítě, Function-Net byl navrhovaný název podsítě a MyResourceGroup-vnet v tomto kurzu se jednalo o navrhovaný název virtuální sítě.

  1. Ve skupině prostředků vyberte Přidat, vyhledejte azure Marketplace pro službu NAT Gateway a vyberte Vytvořit. Pomocí nastavení v tabulce pod obrázkem naplňte kartu Základy :

    Vytvoření brány NAT

    Nastavení Navrhovaná hodnota
    Předplatné Vaše předplatné
    Skupina prostředků myResourceGroup (nebo název, který jste přiřadili ke skupině prostředků)
    Název brány NAT myNatGateway
    Oblast USA – východ (nebo umístění, které jste přiřadili k dalším prostředkům)
    Zóna dostupnosti Nic
  2. Vyberte Další: Odchozí IP adresa. V poli Veřejné IP adresy vyberte dříve vytvořenou veřejnou IP adresu. Ponechte nevybrané předpony veřejných IP adres.

  3. Vyberte Další: Podsíť. V poli Virtuální síť a podsíti Function-Net vyberte prostředek myResourceGroup-vnet.

    Výběr podsítě

  4. Vyberte Zkontrolovat a vytvořit a pak vytvořit a odešlete nasazení.

Po dokončení nasazení je služba NAT Gateway připravená ke směrování provozu z podsítě vaší aplikace funkcí do internetu.

Ověření nových odchozích IP adres

Opakujte předchozí kroky a spusťte funkci znovu. Teď byste měli vidět odchozí IP adresu, kterou jste nakonfigurovali v překladu adres (NAT) zobrazenou ve výstupu funkce.

Vyčištění prostředků

K dokončení tohoto kurzu jste vytvořili prostředky. Tyto prostředky se vám budou účtovat v závislosti na stavu vašeho účtu a cenách služeb. Pokud se chcete vyhnout dodatečným nákladům, odstraňte prostředky, když už je potřebujete.

  1. Na webu Azure Portal přejděte na stránku Skupina prostředků.

    Pokud se chcete na tuto stránku dostat ze stránky aplikace funkcí, vyberte kartu Přehled a pak vyberte odkaz v části Skupina prostředků.

    Snímek obrazovky znázorňující výběr skupiny prostředků, kterou chcete odstranit ze stránky aplikace funkcí

    Pokud se chcete na tuto stránku dostat z řídicího panelu, vyberte Skupiny prostředků a pak vyberte skupinu prostředků, kterou jste použili pro tento článek.

  2. Na stránce Skupina prostředků zkontrolujte seznam zahrnutých prostředků a ověřte, že se jedná o ty, které chcete odstranit.

  3. Vyberte Odstranit skupinu prostředků a postupujte podle pokynů.

    Odstranění může trvat několik minut. Po jeho dokončení se na několik sekund zobrazí oznámení. K zobrazení tohoto oznámení můžete také vybrat ikonu zvonku v horní části stránky.

Další kroky