Sdílet prostřednictvím


Kurz: Integrace Azure Functions s virtuální sítí Azure pomocí privátních koncových bodů

V tomto kurzu se dozvíte, jak pomocí Azure Functions připojit k prostředkům ve virtuální síti Azure pomocí privátních koncových bodů. Novou aplikaci funkcí vytvoříte pomocí nového účtu úložiště, který je uzamčený za virtuální sítí prostřednictvím Azure Portal. Virtuální síť používá aktivační událost fronty služby Service Bus.

V tomto kurzu provedete následující:

  • Vytvořte aplikaci funkcí v plánu Elastic Premium s integrací virtuální sítě a privátními koncovými body.
  • Vytvoření prostředků Azure, jako je service bus
  • Zamkněte službu Service Bus za privátním koncovým bodem.
  • Nasaďte aplikaci funkcí, která používá triggery Service Bus i HTTP.
  • Otestujte, jestli je vaše aplikace funkcí zabezpečená ve virtuální síti.
  • Vyčistěte prostředky.

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

Aplikaci funkcí jazyka C# vytvoříte v plánu Elastic Premium, který podporuje síťové funkce, jako je integrace virtuální sítě při vytváření, spolu s bezserverovým škálováním. V tomto kurzu se používá jazyk C# a Windows. Podporují se také jiné jazyky a Linux.

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

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

  3. Na stránce Základy pomocí následující tabulky nakonfigurujte nastavení aplikace funkcí.

    Nastavení Navrhovaná hodnota Popis
    Předplatné Vaše předplatné Předplatné, ve kterém se tato nová aplikace funkcí vytvoří.
    Skupina prostředků myResourceGroup Název nové skupiny prostředků, ve které vytvoříte aplikaci funkcí.
    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 -.
    Publikovat Kód Zvolte publikování souborů kódu nebo kontejneru Dockeru.
    Zásobník modulu runtime .NET Tento kurz používá .NET.
    Verze 6 (LTS) V tomto kurzu se používá rozhraní .NET 6.0 spuštěné ve stejném procesu jako hostitel služby Functions.
    Oblast Upřednostňovaná oblast Vyberte oblast blízko vás nebo v blízkosti jiných služeb, ke kterým vaše funkce přistupuje.
    Operační systém Windows Tento kurz používá Windows, ale funguje také pro Linux.
    Plánování Functions Premium Plán hostování, který určuje způsob přidělování prostředků aplikaci Function App. Když ve výchozím nastavení vyberete Premium, vytvoří se nový plán App Service. Výchozí skladová položka a velikost je EP1, kde EP znamená elastické premium. Další informace najdete v seznamu skladových položek Premium.

    Při spouštění funkcí JavaScriptu v plánu Premium zvolte instanci, která má méně virtuálních procesorů. Další informace najdete v tématu Volba jednojádrových plánů Premium.
  4. Vyberte Další: Úložiště. Na stránce Úložiště zadejte následující nastavení.

    Nastavení Navrhovaná hodnota Popis
    Účet úložiště Globálně jedinečný název Vytvořte účet úložiště používaný vaší aplikací funkcí. Názvy účtů úložiště musí mít délku 3 až 24 znaků. Mohou obsahovat pouze číslice a malá písmena. Můžete také použít existující účet, který není omezen pravidly brány firewall a splňuje požadavky na účet úložiště. Pokud používáte Functions s uzamčeným účtem úložiště, je potřeba účet úložiště v2. Toto je výchozí verze úložiště vytvořená při vytváření aplikace funkcí se síťovými funkcemi prostřednictvím okna vytvořit.
  5. Až skončíte, vyberte Další: Sítě. Na stránce Sítě zadejte následující nastavení.

    Poznámka

    Některá z těchto nastavení nejsou viditelná, dokud nebudou vybrány další možnosti.

    Nastavení Navrhovaná hodnota Popis
    Povolit veřejný přístup Vypnout Odepření přístupu z veřejné sítě zablokuje veškerý příchozí provoz s výjimkou toho, který pochází z privátních koncových bodů.
    Povolení injektáže sítě Zapnout Možnost nakonfigurovat aplikaci s integrací virtuální sítě při vytvoření se po přepnutí této možnosti do polohy Zapnuto zobrazí v okně portálu.
    Virtual Network Vytvořit nové Vyberte pole Vytvořit nový . Na automaticky otevírané obrazovce zadejte název virtuální sítě a vyberte OK. Zobrazí se možnosti omezení příchozího a odchozího přístupu k aplikaci funkcí při vytvoření. Pokud chcete omezit odchozí přístup, musíte explicitně povolit integraci virtuální sítě v části okna Odchozí přístup .

    Zadejte následující nastavení pro oddíl Příchozí přístup . Tento krok vytvoří privátní koncový bod v aplikaci funkcí.

    Tip

    Pokud chcete pokračovat v interakci s aplikací funkcí z portálu, budete muset do virtuální sítě přidat místní počítač. Pokud nechcete omezit příchozí přístup, přeskočte tento krok.

    Nastavení Navrhovaná hodnota Popis
    Povolení privátních koncových bodů Zapnout Možnost nakonfigurovat aplikaci s integrací virtuální sítě při vytvoření se na portálu zobrazí po povolení této možnosti.
    Název privátního koncového bodu myInboundPrivateEndpointName Název, který identifikuje váš nový privátní koncový bod aplikace funkcí.
    Příchozí podsíť Vytvořit nové Tato možnost vytvoří novou podsíť pro příchozí privátní koncový bod. Do jedné podsítě je možné přidat několik privátních koncových bodů. Zadejte název podsítě. Blok adres podsítě může zůstat na výchozí hodnotě. Vyberte OK. Další informace o velikosti podsítě najdete v tématu Podsítě.
    DNS Zóna privátního DNS Azure Tato hodnota označuje, který server DNS váš privátní koncový bod používá. Ve většině případů, pokud pracujete v Rámci Azure, je zóna Azure Privátní DNS zónou DNS, kterou byste měli použít, protože pro vlastní zóny DNS s větší složitostí používáte ručně.

    Zadejte následující nastavení pro oddíl Odchozí přístup . Tento krok integruje aplikaci funkcí s virtuální sítí při vytváření. Nabízí také možnosti vytvoření privátních koncových bodů ve vašem účtu úložiště a omezení síťového přístupu k účtu úložiště při vytvoření. Pokud je aplikace funkcí integrovaná ve virtuální síti, veškerý odchozí provoz ve výchozím nastavení prochází přes virtuální síť.

    Nastavení Navrhovaná hodnota Popis
    Povolení integrace virtuální sítě Zapnout Tato funkce integruje aplikaci funkcí s virtuální sítí při vytváření a směrování veškerého odchozího provozu přes virtuální síť.
    Odchozí podsíť Vytvořit nový Tím se vytvoří nová podsíť pro integraci virtuální sítě aplikace funkcí. Aplikace funkcí může být integrovaná pouze do virtuální sítě s prázdnou podsítí. Zadejte název podsítě. Blok adres podsítě může zůstat na výchozí hodnotě. Pokud ho chcete nakonfigurovat, přečtěte si další informace o velikosti podsítě tady. Vyberte OK. Zobrazí se možnost vytvořit privátní koncové body úložiště . Pokud chcete aplikaci funkcí používat s virtuálními sítěmi, musíte ji připojit k podsíti.

    Zadejte následující nastavení pro část Privátní koncový bod úložiště . Tento krok vytvoří privátní koncové body pro koncové body objektů blob, front, souborů a tabulek ve vašem účtu úložiště při vytvoření. Tím se efektivně integruje váš účet úložiště s virtuální sítí.

    Nastavení Navrhovaná hodnota Popis
    Přidání privátního koncového bodu úložiště Zapnout Možnost nakonfigurovat aplikaci s integrací virtuální sítě při vytvoření se na portálu zobrazí po povolení této možnosti.
    Název privátního koncového bodu myInboundPrivateEndpointName Název, který identifikuje váš privátní koncový bod účtu úložiště.
    Podsíť privátního koncového bodu Vytvořit nové Tím se vytvoří nová podsíť pro příchozí privátní koncový bod v účtu úložiště. Do jedné podsítě je možné přidat několik privátních koncových bodů. Zadejte název podsítě. Blok adres podsítě může zůstat na výchozí hodnotě. Pokud ho chcete nakonfigurovat, přečtěte si další informace o velikosti podsítě tady. Vyberte OK.
    DNS Zóna privátního DNS Azure Tato hodnota označuje, který server DNS váš privátní koncový bod používá. Ve většině případů, pokud pracujete v rámci Azure, je zóna Azure Privátní DNS zónou DNS, kterou byste měli použít, protože použití ručně pro vlastní zóny DNS bude mít větší složitost.
  6. Vyberte Další: Monitorování. Na stránce Monitorování zadejte následující nastavení.

    Nastavení Navrhovaná hodnota Popis
    Application Insights Výchozí Vytvořte prostředek Application Insights se stejným názvem aplikace v nejbližší podporované oblasti. Toto nastavení rozbalte, pokud potřebujete změnit název nového prostředku nebo uložit data do jiného umístění v zeměpisné oblasti Azure.
  7. Vyberte Zkontrolovat a vytvořit a zkontrolujte výběr konfigurace aplikace.

  8. Na stránce Zkontrolovat a vytvořit zkontrolujte nastavení. Pak vyberte Vytvořit a vytvořte a nasaďte aplikaci funkcí.

  9. V pravém horním rohu portálu vyberte ikonu Oznámení a watch zprávy Nasazení bylo úspěšné.

  10. Volbou Přejít k prostředku novou aplikaci Function App 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.

Gratulujeme! Úspěšně jste vytvořili aplikaci funkcí Premium.

Poznámka

U některých nasazení může dojít k selhání vytvoření privátních koncových bodů v účtu úložiště s chybou StorageAccountOperationInProgress. K tomuto selhání dochází i v případě, že se úspěšně vytvoří samotná aplikace funkcí. Pokud k takové chybě dojde, odstraňte aplikaci funkcí a zkuste operaci zopakovat. Místo toho můžete privátní koncové body v účtu úložiště vytvořit ručně.

Vytvoření služby Service Bus

Dále vytvoříte instanci služby Service Bus, která se v tomto kurzu použije k otestování funkčnosti síťových funkcí vaší aplikace funkcí.

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

  2. Na stránce Nový vyhledejte Service Bus. Potom vyberte Vytvořit.

  3. Na kartě Základy pomocí následující tabulky nakonfigurujte nastavení služby Service Bus. Všechna ostatní nastavení můžou používat výchozí hodnoty.

    Nastavení Navrhovaná hodnota Popis
    Předplatné Vaše předplatné Předplatné, ve kterém se vaše prostředky vytvářejí.
    Skupina prostředků myResourceGroup Skupina prostředků, kterou jste vytvořili pomocí aplikace funkcí.
    Název oboru názvů myServiceBus Název instance služby Service Bus, pro kterou je povolený privátní koncový bod.
    Umístění myFunctionRegion Oblast, ve které jste vytvořili aplikaci funkcí.
    Cenová úroveň Premium Tuto úroveň zvolte, pokud chcete používat privátní koncové body s Azure Service Bus.
  4. Vyberte Zkontrolovat a vytvořit. Po dokončení ověření vyberte Vytvořit.

Uzamčení služby Service Bus

Vytvořte privátní koncový bod pro uzamčení služby Service Bus:

  1. V nové službě Service Bus v nabídce na levé straně vyberte Sítě.

  2. Na kartě Připojení privátního koncového bodu vyberte Privátní koncový bod.

    Snímek obrazovky s postupem přechodu na privátní koncové body služby Service Bus

  3. Na kartě Základy použijte nastavení privátního koncového bodu uvedené v následující tabulce.

    Nastavení Navrhovaná hodnota Popis
    Předplatné Vaše předplatné Předplatné, ve kterém se vaše prostředky vytvářejí.
    Skupina prostředků myResourceGroup Skupina prostředků, kterou jste vytvořili pomocí aplikace funkcí.
    Název sb-koncový bod Název privátního koncového bodu pro službu Service Bus.
    Oblast myFunctionRegion Oblast, ve které jste vytvořili účet úložiště.
  4. Na kartě Prostředek použijte nastavení privátního koncového bodu uvedené v následující tabulce.

    Nastavení Navrhovaná hodnota Popis
    Předplatné Vaše předplatné Předplatné, ve kterém se vaše prostředky vytvářejí.
    Typ prostředku Microsoft.ServiceBus/namespaces Typ prostředku služby Service Bus.
    Prostředek myServiceBus Služba Service Bus, kterou jste vytvořili dříve v tomto kurzu.
    Cílový dílčí zdroj namespace Privátní koncový bod, který se používá pro obor názvů ze služby Service Bus.
  5. Na kartě Virtual Network zvolte jako nastavení Podsíťvýchozí.

  6. Vyberte Zkontrolovat a vytvořit. Po dokončení ověření vyberte Vytvořit.

  7. Po vytvoření privátního koncového bodu se vraťte do části Sítě vašeho oboru názvů služby Service Bus a zkontrolujte kartu Veřejný přístup .

  8. Ujistěte se, že je vybraná možnost Vybrané sítě .

  9. Vyberte + Přidat existující virtuální síť a přidejte nedávno vytvořenou virtuální síť.

  10. Na kartě Přidat sítě použijte nastavení sítě z následující tabulky:

    Nastavení Navrhovaná hodnota Popis
    Předplatné Vaše předplatné Předplatné, ve kterém se vaše prostředky vytvářejí.
    Virtuální sítě myVirtualNet Název virtuální sítě, ke které se vaše aplikace funkcí připojuje.
    Podsítě – funkce Název podsítě, ke které se vaše aplikace funkcí připojuje.
  11. Vyberte Přidat IP adresu klienta a udělte aktuální IP adrese klienta přístup k oboru názvů.

    Poznámka

    Povolení IP adresy klienta je nezbytné k tomu, aby Azure Portal mohl publikovat zprávy do fronty dále v tomto kurzu.

  12. Vyberte Povolit a povolte koncový bod služby.

  13. Vyberte Přidat a přidejte vybranou virtuální síť a podsíť do pravidel brány firewall pro Service Bus.

  14. Vyberte Uložit a uložte aktualizovaná pravidla brány firewall.

Prostředky ve virtuální síti teď můžou komunikovat se službou Service Bus pomocí privátního koncového bodu.

Vytvoření fronty

Vytvořte frontu, ve které aktivační událost služby Azure Functions Service Bus získá události:

  1. V nabídce na levé straně služby Service Bus vyberte Fronty.

  2. Vyberte Fronta. Pro účely tohoto kurzu zadejte název fronty jako název nové fronty.

    Snímek obrazovky s postupem vytvoření fronty služby Service Bus

  3. Vyberte Vytvořit.

Získání připojovacího řetězce služby Service Bus

  1. Ve službě Service Bus v nabídce na levé straně vyberte Zásady sdíleného přístupu.

  2. Vyberte RootManageSharedAccessKey. Zkopírujte a uložte primární připojovací řetězec. Tento připojovací řetězec potřebujete při konfiguraci nastavení aplikace.

    Snímek obrazovky s postupem získání připojovacího řetězce služby Service Bus

Konfigurace nastavení aplikace funkcí

  1. V aplikaci funkcí v nabídce na levé straně vyberte Konfigurace.

  2. Pokud chcete aplikaci funkcí používat s virtuálními sítěmi a službou Service Bus, aktualizujte nastavení aplikace uvedené v následující tabulce. Pokud chcete přidat nebo upravit nastavení, vyberte + Nové nastavení aplikace nebo ikonu Upravit ve sloupci vpravo v tabulce nastavení aplikace. Až skončíte, vyberte Uložit.

    Nastavení Navrhovaná hodnota Popis
    SERVICEBUS_CONNECTION myServiceBusConnectionString Vytvořte toto nastavení aplikace pro připojovací řetězec služby Service Bus. Tento připojovací řetězec úložiště je z části Získání připojovacího řetězce služby Service Bus .
    WEBSITE_CONTENTOVERVNET 1 Vytvořte toto nastavení aplikace. Hodnota 1 umožňuje aplikaci funkcí škálovat, když je váš účet úložiště omezený na virtuální síť.
  3. Vzhledem k tomu, že používáte plán hostování Elastic Premium, vyberte v zobrazení Konfigurace kartu Nastavení modulu runtime funkce . Nastavte monitorování škálování za běhu na Zapnuto. Pak vyberte Uložit. Škálování řízené modulem runtime umožňuje připojit funkce triggeru jiného typu než HTTP ke službám spuštěným ve vaší virtuální síti.

    Snímek obrazovky znázorňuje, jak povolit škálování řízené modulem runtime pro Azure Functions

Poznámka

Škálování za běhu není potřeba pro aplikace funkcí hostované v plánu Dedicated App Service.

Nasazení triggeru služby Service Bus a triggeru HTTP

Poznámka

Povolením privátních koncových bodů v aplikaci funkcí bude web Správce správy zdrojového kódu (SCM) veřejně přístupný. Následující pokyny poskytují pokyny k nasazení pomocí centra nasazení v rámci aplikace funkcí. Případně můžete použít nasazení souboru ZIP nebo agenty v místním prostředí , které jsou nasazené do podsítě ve virtuální síti.

  1. Na GitHubu přejděte do následujícího ukázkového úložiště. Obsahuje aplikaci funkcí a dvě funkce, trigger HTTP a trigger fronty Service Bus.

    https://github.com/Azure-Samples/functions-vnet-tutorial

  2. V horní části stránky vyberte Fork a vytvořte fork tohoto úložiště ve vlastním účtu nebo organizaci GitHubu.

  3. V aplikaci funkcí v nabídce na levé straně vyberte Deployment Center. Pak vyberte Nastavení.

  4. Na kartě Nastavení použijte nastavení nasazení uvedené v následující tabulce.

    Nastavení Navrhovaná hodnota Popis
    Zdroj GitHubu V kroku 2 byste měli vytvořit úložiště GitHubu pro ukázkový kód.
    Organizace moje organizace Organizace, ve které je vaše úložiště, se změnami. Obvykle je to váš účet.
    Úložiště functions-vnet-tutorial Fork úložiště se roztáhnou z https://github.com/Azure-Samples/functions-vnet-tutorial.
    Větev main Hlavní větev úložiště, které jste vytvořili.
    Zásobník modulu runtime .NET Ukázkový kód je v jazyce C#.
    Verze .NET Core 3.1 Verze modulu runtime.
  5. Vyberte Uložit.

    Snímek obrazovky s postupem nasazení kódu Azure Functions prostřednictvím portálu

  6. Počáteční nasazení může trvat několik minut. Po úspěšném nasazení aplikace se na kartě Protokoly zobrazí stavová zpráva Úspěch (Aktivní). V případě potřeby stránku aktualizujte.

Gratulujeme! Úspěšně jste nasadili ukázkovou aplikaci funkcí.

Testování uzamčené aplikace funkcí

  1. V aplikaci funkcí vyberte v nabídce na levé straně možnost Funkce.

  2. Vyberte ServiceBusQueueTrigger.

  3. V nabídce na levé straně vyberte Sledovat.

Uvidíte, že aplikaci nemůžete monitorovat. Váš prohlížeč nemá přístup k virtuální síti, takže nemá přímý přístup k prostředkům v rámci virtuální sítě.

Tady je alternativní způsob monitorování funkce pomocí Application Insights:

  1. V aplikaci funkcí v nabídce na levé straně vyberte Application Insights. Pak vyberte Zobrazit data Application Insights.

    Snímek obrazovky znázorňuje, jak zobrazit Application Insights pro aplikaci funkcí

  2. V nabídce na levé straně vyberte Živé metriky.

  3. Otevřete novou kartu. V nabídce vlevo ve službě Service Bus vyberte Fronty.

  4. Vyberte frontu.

  5. V nabídce na levé straně vyberte Service Bus Explorer. V části Odeslat jako Typ obsahu zvolte Text/Prostý text. Pak zadejte zprávu.

  6. Vyberte Odeslat a zprávu odešlete.

    Snímek obrazovky znázorňuje, jak odesílat zprávy služby Service Bus pomocí portálu

  7. Na kartě Živé metriky byste měli vidět, že se aktivoval trigger fronty služby Service Bus. Pokud ne, odešlete zprávu znovu z Service Bus Exploreru.

    Snímek obrazovky znázorňuje, jak zobrazit zprávy pomocí živých metrik pro aplikace funkcí

Gratulujeme! Úspěšně jste otestovali nastavení aplikace funkcí s privátními koncovými body.

Principy zón privátního DNS

Použili jste privátní koncový bod pro připojení k prostředkům Azure. Připojujete se k privátní IP adrese místo k veřejnému koncovému bodu. Existující služby Azure jsou nakonfigurované tak, aby pro připojení k veřejnému koncovému bodu používaly existující DNS. Abyste se mohli připojit k privátnímu koncovému bodu, musíte přepsat konfiguraci DNS.

Pro každý prostředek Azure nakonfigurovaný s privátním koncovým bodem se vytvoří zóna privátního DNS. Pro každou privátní IP adresu přidruženou k privátnímu koncovému bodu se vytvoří záznam DNS.

V tomto kurzu byly vytvořeny následující zóny DNS:

  • privatelink.file.core.windows.net
  • privatelink.blob.core.windows.net
  • privatelink.servicebus.windows.net
  • privatelink.azurewebsites.net

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

V předchozích krocích jste vytvořili prostředky Azure ve skupině prostředků. Pokud předpokládáte, že už tyto prostředky nebudete potřebovat, můžete je odstranit tak, že odstraníte skupinu prostředků.

V nabídce Azure Portal nebo na domovské stránce vyberte Skupiny prostředků. Pak na stránce Skupiny prostředků vyberte myResourceGroup.

Na stránce myResourceGroup se ujistěte, že uvedené prostředky chcete odstranit.

Vyberte Odstranit skupinu prostředků, potvrďte to zadáním myResourceGroup do textového pole a pak vyberte Odstranit.

Další kroky

V tomto kurzu jste vytvořili aplikaci funkcí Premium, účet úložiště a službu Service Bus. Všechny tyto prostředky jste zabezpečili za privátními koncovými body.

Další informace Azure Functions možnostech sítě a privátních koncových bodech najdete na následujících odkazech: