Kurz: Integrace Azure Functions s virtuální sítí Azure pomocí privátních koncových bodů
V tomto kurzu se dozvíte, jak se 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 webu Azure Portal. Virtuální síť používá trigger fronty služby Service Bus.
V tomto kurzu:
- 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í v rámci virtuální sítě zabezpečená.
- Vyčistěte prostředky.
Vytvoření aplikace funkcí v plánu Premium
V plánu Elastic Premium vytvoříte aplikaci funkcí v jazyce C#, která podporuje síťové funkce, jako je integrace virtuální sítě při vytváření spolu s bezserverovým škálováním. Tento kurz používá C# a Windows. Podporují se také další jazyky a Linux.
V nabídce webu Azure Portal nebo na domovské stránce vyberte Vytvořit prostředek.
Na stránce Nový vyberte Aplikaci výpočetních>funkcí.
Na stránce Základy nakonfigurujte nastavení aplikace funkcí pomocí následující tabulky.
Nastavení Navrhovaná hodnota Popis Předplatné Vaše předplatné Předplatné, pod 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) Tento kurz používá .NET 6.0 spuštěný ve stejném procesu jako hostitel 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řistupují. Operační systém Windows Tento kurz používá Windows, ale funguje také pro Linux. Plán Funkce Premium Plán Hosting, který určuje způsob přidělování prostředků aplikaci Function App. Když vyberete Premium, vytvoří se ve výchozím nastavení nový plán služby App Service. Výchozí skladová položka a velikost 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 zvolte instanci, která má méně virtuálních procesorů. Další informace najdete v tématu Volba plánů Premium s jedním jádrem.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 jenom čí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ě. Při použití služby 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 možnostmi prostřednictvím okna vytvořit. 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 Povolení veřejného přístupu Vypnout Odepření přístupu k veřejné síti zablokuje veškerý příchozí provoz s výjimkou toho, že 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 vytváření se zobrazí v okně portálu po přepnutí této možnosti na Zapnuto. Virtual Network Vytvořit nové Vyberte pole Vytvořit nový. Na místní obrazovce zadejte název vaší 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 vytvář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 ve vaší 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 vytváření se zobrazí na portálu po povolení této možnosti. Název privátního koncového bodu myInboundPrivateEndpointName Název identifikující privátní koncový bod vaší nové aplikace funkcí Příchozí podsíť Vytvořit nové Tato možnost vytvoří novou podsíť pro váš příchozí privátní koncový bod. Do podsítě s jednotném číslem může být přidáno několik privátních koncových bodů. Zadejte název podsítě. Blok adresy podsítě může zůstat ve 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 urč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 jako použití příručky pro vlastní zóny DNS, větší složitost. Zadejte následující nastavení pro oddíl Odchozí přístup . Tento krok integruje vaši aplikaci funkcí s virtuální sítí při vytváření. Zpřístupňuje také možnosti vytváření privátních koncových bodů ve vašem účtu úložiště a omezení přístupu k účtu úložiště z přístupu k síti při vytvář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 Tím se vaše aplikace funkcí integruje 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ření nových Tím se vytvoří nová podsíť pro integraci virtuální sítě vaší 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 adresy podsítě může zůstat ve výchozí hodnotě. Pokud ho chcete nakonfigurovat, přečtěte si další informace o nastavení velikosti podsítě. Vyberte OK. Zobrazí se možnost vytvoření privátních koncových bodů ú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 oddíl privátního koncového bodu úložiště. Tento krok vytvoří privátní koncové body pro koncové body objektu blob, fronty, souboru a tabulky 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 vytváření se zobrazí na portálu po povolení této možnosti. Název privátního koncového bodu myInboundPrivateEndpointName Název, který identifikuje privátní koncový bod vašeho účtu úložiště. Podsíť privátního koncového bodu Vytvořit nové Tím se vytvoří nová podsíť pro váš příchozí privátní koncový bod v účtu úložiště. Do podsítě s jednotném číslem může být přidáno několik privátních koncových bodů. Zadejte název podsítě. Blok adresy podsítě může zůstat ve výchozí hodnotě. Pokud ho chcete nakonfigurovat, přečtěte si další informace o nastavení velikosti podsítě. Vyberte OK. DNS Zóna privátního DNS Azure Tato hodnota urč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 jako použití příručky pro vlastní zóny DNS, bude mít větší složitost. 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. Výběrem možnosti Zkontrolovat a vytvořit zkontrolujte výběry konfigurace aplikace.
Na stránce Zkontrolovat a vytvořit zkontrolujte nastavení. Pak vyberte Vytvořit a vytvořte a nasaďte aplikaci funkcí.
V pravém horním rohu portálu vyberte ikonu Oznámení a sledujte zprávu o úspěšném nasazení.
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.
Blahopřejeme! Úspěšně jste vytvořili svoji aplikaci funkcí Premium.
Poznámka:
Některá nasazení se někdy nemusí podařit vytvořit privátní koncové body v účtu úložiště s chybou StorageAccountOperationInProgress. K tomuto selhání dochází, i když se aplikace funkcí sama úspěšně vytvoří. Když narazíte na takovou chybu, odstraňte aplikaci funkcí a zkuste operaci zopakovat. Místo toho můžete privátní koncové body pro účet úložiště vytvořit ručně.
Vytvoření služby Service Bus
Dále vytvoříte instanci služby Service Bus, která se použije k otestování funkčnosti síťových funkcí vaší aplikace funkcí v tomto kurzu.
V nabídce webu Azure Portal nebo na domovské stránce vyberte Vytvořit prostředek.
Na stránce Nový vyhledejte Service Bus. Pak vyberte Vytvořit.
Na kartě Základy nakonfigurujte nastavení služby Service Bus pomocí následující tabulky. 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. Místo myFunctionRegion Oblast, ve které jste vytvořili aplikaci funkcí. Cenová úroveň Premium Tuto úroveň vyberte, pokud chcete používat privátní koncové body se službou Azure Service Bus. 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:
V nové službě Service Bus v nabídce vlevo vyberte Sítě.
Na kartě Připojení privátního koncového bodu vyberte Privátní koncový bod.
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-endpoint Název privátního koncového bodu služby Service Bus. Oblast myFunctionRegion Oblast, ve které jste vytvořili účet úložiště. 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 Service Bus, který jste vytvořili dříve v kurzu. Cílový podsourc namespace Privátní koncový bod, který se používá pro obor názvů ze služby Service Bus. Na kartě Virtuální síť jako nastavení Podsítě zvolte výchozí.
Vyberte Zkontrolovat a vytvořit. Po dokončení ověření vyberte Vytvořit.
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 .
Ujistěte se, že je vybraná vybraná síť .
Vyberte + Přidat existující virtuální síť a přidejte nedávno vytvořenou virtuální síť.
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. Vyberte Přidat IP adresu klienta, aby aktuální IP adresa klienta získala 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 později v tomto kurzu.
Výběrem možnosti Povolit povolíte koncový bod služby.
Výběrem možnosti Přidat přidáte vybranou virtuální síť a podsíť do pravidel brány firewall pro Service Bus.
Výběrem možnosti Uložit 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řit frontu
Vytvořte frontu, ve které trigger služby Azure Functions Service Bus získává události:
Ve službě Service Bus v nabídce na levé straně vyberte Fronty.
Vyberte frontu. Pro účely tohoto kurzu zadejte frontu názvů jako název nové fronty.
Vyberte Vytvořit.
Získání připojovací řetězec služby Service Bus
Ve službě Service Bus v nabídce na levé straně vyberte Zásady sdíleného přístupu.
Vyberte RootManageSharedAccessKey. Zkopírujte a uložte primární připojovací řetězec. Tuto připojovací řetězec budete potřebovat při konfiguraci nastavení aplikace.
Konfigurace nastavení aplikace funkcí
V aplikaci funkcí v nabídce vlevo vyberte Konfigurace.
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 úplně vpravo v tabulce nastavení aplikace. Po dokončení vyberte Uložit.
Nastavení Navrhovaná hodnota Popis SERVICEBUS_CONNECTION myServiceBusConnectionString Vytvořte toto nastavení aplikace pro připojovací řetězec služby Service Bus. Tato připojovací řetězec úložiště je z části Získání služby Service Bus připojovací řetězec. WEBSITE_CONTENTOVERVNET 0 Vytvořte toto nastavení aplikace. Hodnota 1 umožňuje vaší aplikaci funkcí škálovat, když je váš účet úložiště omezený na virtuální síť. 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í modulu runtime 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.
Poznámka:
Škálování za běhu není potřeba pro aplikace funkcí hostované v plánu vyhrazené služby App Service.
Nasazení triggeru služby Service Bus a triggeru HTTP
Poznámka:
Povolení privátních koncových bodů v aplikaci funkcí také veřejně znepřístupňuje web Správce správy zdrojového kódu (SCM). Následující pokyny poskytují pokyny k nasazení pomocí Centra nasazení v rámci aplikace funkcí. Alternativně můžete použít nasazení zip nebo agenty v místním prostředí , které jsou nasazené do podsítě ve virtuální síti.
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.
V horní části stránky vyberte Fork a vytvořte fork tohoto úložiště ve vlastním účtu nebo organizaci GitHubu.
V aplikaci funkcí v nabídce vlevo vyberte Deployment Center. Pak vyberte Nastavení.
Na kartě Nastavení použijte nastavení nasazení uvedené v následující tabulce.
Nastavení Navrhovaná hodnota Popis Source GitHub V kroku 2 byste měli vytvořit úložiště GitHubu pro vzorový kód. Organizace myOrganization Organizace, do které je vaše úložiště vráceno se změnami. Je to obvykle váš účet. Úložiště functions-vnet-tutorial Úložiště rozvětvované 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 Vzorový kód je v jazyce C#. Verze .NET Core 3.1 Verze modulu runtime. Zvolte Uložit.
Vaše 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 aktualizujte stránku.
Blahopřejeme! Úspěšně jste nasadili ukázkovou aplikaci funkcí.
Otestování uzamčené aplikace funkcí
V aplikaci funkcí v nabídce vlevo vyberte Funkce.
Vyberte ServiceBusQueueTrigger.
V nabídce vlevo vyberte Sledovat.
Vidí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 ve virtuální síti.
Tady je alternativní způsob monitorování funkce pomocí Application Insights:
V aplikaci funkcí v nabídce vlevo vyberte Application Insights. Pak vyberte Zobrazit data Application Insights.
V nabídce vlevo vyberte Živé metriky.
Otevřete novou kartu. Ve službě Service Bus v nabídce na levé straně vyberte Fronty.
Vyberte svoji frontu.
V nabídce vlevo vyberte Service Bus Explorer. V části Odeslat jako typ obsahu zvolte Text/Prostý. Pak zadejte zprávu.
Zprávu odešlete výběrem možnosti Odeslat .
Na kartě Živé metriky byste měli vidět, že se aktivovala aktivační událost fronty služby Service Bus. Pokud tomu tak není, odešlete zprávu znovu z Service Bus Exploreru.
Blahopřejeme! Úspěšně jste otestovali nastavení aplikace funkcí s využitím privátních koncových bodů.
Principy privátních zón DNS
K připojení k prostředkům Azure jste použili privátní koncový bod. Připojujete se k privátní IP adrese místo veřejného koncového bodu. Existující služby Azure jsou nakonfigurované tak, aby používaly existující DNS pro připojení k veřejnému koncovému bodu. 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ří privátní zóna 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 webu Azure Portal nebo na domovské stránce vyberte skupiny prostředků. Potom na stránce Skupiny prostředků vyberte myResourceGroup.
Na stránce myResourceGroup se ujistěte, že uvedené prostředky jsou ty, které chcete odstranit.
Vyberte Odstranit skupinu prostředků, do textového pole zadejte myResourceGroup , abyste ji potvrdili, a pak vyberte Odstranit.
Další kroky
V tomto kurzu jste vytvořili aplikaci funkcí Premium, účet úložiště a Service Bus. Všechny tyto prostředky jste za privátními koncovými body zabezpečili.
Další možnosti sítě Azure Functions a privátní koncové body najdete na následujících odkazech: