Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här självstudien visar hur du använder Azure Functions för att ansluta till resurser i ett virtuellt Azure-nätverk med hjälp av privata slutpunkter. Du skapar en ny funktionsapp med ett nytt lagringskonto som är låst bakom ett virtuellt nätverk med hjälp av Azure-portalen. Det virtuella nätverket använder en Service Bus-köutlösare.
I den här självstudien ska du:
- Skapa en funktionsapp i Elastic Premium-planen med integrering av virtuella nätverk och privata slutpunkter.
- Skapa Azure-resurser, till exempel Service Bus
- Lås servicebussen bakom en privat slutpunkt.
- Distribuera en funktionsapp som använder både Service Bus- och HTTP-utlösare.
- Testa för att se att funktionsappen är säker i det virtuella nätverket.
- Rensa resurser.
Skapa en funktionsapp i en Premium-plan
Du skapar en C#-funktionsapp i en Elastic Premium-plan som stöder nätverksfunktioner som integrering av virtuella nätverk vid skapande tillsammans med serverlös skalning. I den här självstudien används C# och Windows. Andra språk och Linux stöds också.
- På menyn Azure Portal eller på startsidan väljer du Skapa en resurs. 
- På sidan Nytt väljer du Beräkningsfunktionsapp>. 
- På sidan Grundläggande använder du följande tabell för att konfigurera inställningarna för funktionsappen. - Inställning - Föreslaget värde - beskrivning - Abonnemang - Din prenumeration - Prenumeration under vilken den nya funktionsappen skapas. - Resursgrupp - minResursgrupp - Namn på den nya resursgrupp där du skapar funktionsappen. - Funktionsappens namn - Globalt unikt namn - Namn som identifierar din nya funktionsapp. Giltiga tecken är - a-z(skiftlägesokänsligt),- 0-9och- -.- Publicera - Kod - Välj att publicera kodfiler eller en Docker-container. - Körningsstack - .NÄT - I den här självstudien används .NET. - Version: - 6 (LTS) - I den här självstudien används .NET 6.0 som körs i samma process som Functions-värden. - Region - Önskad region - Välj en region nära dig eller nära andra tjänster som dina funktioner har åtkomst till. - Operativsystem - Windows - Den här självstudien använder Windows men fungerar även för Linux. - Planera - Functions Premium - Värdplan som definierar hur resurser allokeras till din funktionsapp. När du väljer Premium skapas som standard en ny App Service-plan. Standard-Sku och storlek är EP1, där EP står för elastisk premium. Mer information finns i listan över Premium-SKU:er. 
 När du kör JavaScript-funktioner i en Premium-plan väljer du en instans som har färre vCPU:er. Mer information finns i Choose single-core Premium plans (Välj premiumplaner med en kärna).
- Välj Nästa: Lagring. På sidan Lagring anger du följande inställningar. - Inställning - Föreslaget värde - beskrivning - Lagringskonto - Globalt unikt namn - Skapa ett lagringskonto som används av din funktionsapp. Lagringskontonamnen måste vara mellan 3 och 24 tecken långa. De kan endast innehålla siffror och små bokstäver. Du kan också använda ett befintligt konto som inte är begränsat av brandväggsregler och som uppfyller kraven för lagringskontot. När du använder Functions med ett låst lagringskonto behöver du ett v2-lagringskonto. Den här versionen är standardlagringsversionen som skapas när du skapar en funktionsapp med nätverksfunktioner via Azure-portalen. 
- Välj Nästa: Nätverk. På sidan Nätverk anger du följande inställningar. - Kommentar - Vissa av de här inställningarna visas inte förrän andra alternativ har valts. - Inställning - Föreslaget värde - beskrivning - Aktivera offentlig åtkomst - Av - Neka åtkomst till offentligt nätverk blockerar all inkommande trafik förutom den som kommer från privata slutpunkter. - Aktivera nätverksinmatning - På - Möjligheten att konfigurera ditt program med integrering av virtuella nätverk när det skapas visas i portalfönstret när det här alternativet har växlats till På. - Virtuellt nätverk - Skapa Ny - Välj fältet Skapa ny . På popup-skärmen anger du ett namn för det virtuella nätverket och väljer Ok. Alternativ för att begränsa inkommande och utgående åtkomst till funktionsappen vid skapande visas. Du måste uttryckligen aktivera integrering av virtuella nätverk i den utgående åtkomstdelen av fönstret för att begränsa utgående åtkomst. - Ange följande inställningar för avsnittet Inkommande åtkomst . Det här steget skapar en privat slutpunkt i funktionsappen. - Dricks - Om du vill fortsätta interagera med funktionsappen från Azure-portalen måste du lägga till den lokala datorn i det virtuella nätverket. Om du inte vill begränsa inkommande åtkomst hoppar du över det här steget. - Inställning - Föreslaget värde - beskrivning - Aktivera privata slutpunkter - På - Möjligheten att konfigurera ditt program med integrering av virtuella nätverk när det skapas visas i portalen när det här alternativet har aktiverats. - Namn på privat slutpunkt - myInboundPrivateEndpointName - Namn som identifierar den privata slutpunkten för din nya funktionsapp. - Inkommande undernät - Skapa Ny - Det här alternativet skapar ett nytt undernät för din inkommande privata slutpunkt. Flera privata slutpunkter kan läggas till i ett enda undernät. Ange ett undernätsnamn. Adressblocket för undernätet kan vara kvar vid standardvärdet. Välj OK. Mer information om storleksändring av undernät finns i Undernät. - DNS - Privat DNS-zon i Azure - Det här värdet anger vilken DNS-server som din privata slutpunkt använder. I de flesta fall om du arbetar i Azure är Azure Privat DNS Zone den DNS-zon som du bör använda eftersom manuella för anpassade DNS-zoner har ökad komplexitet. - Ange följande inställningar för avsnittet Utgående åtkomst . Det här steget integrerar funktionsappen med ett virtuellt nätverk när den skapas. Det visar också alternativ för att skapa privata slutpunkter på ditt lagringskonto och begränsa ditt lagringskonto från nätverksåtkomst vid skapande. När funktionsappen är integrerad i det virtuella nätverket går all utgående trafik som standard via det virtuella nätverket. - Inställning - Föreslaget värde - beskrivning - Aktivera VNet-integrering - På - Den här inställningen integrerar funktionsappen med ett virtuellt nätverk när du skapar och dirigerar all utgående trafik via det virtuella nätverket. - Utgående undernät - Skapa nya , och programformulär i - Den här inställningen skapar ett nytt undernät för funktionsappens integrering av virtuella nätverk. En funktionsapp kan bara vara ett virtuellt nätverk integrerat med ett tomt undernät. Ange ett undernätsnamn. Adressblocket för undernätet kan vara kvar vid standardvärdet. Välj OK. Alternativet för att skapa privata lagringsslutpunkter visas. Om du vill använda funktionsappen med virtuella nätverk måste du ansluta den till ett undernät. - Ange följande inställningar för avsnittet Privat slutpunkt för lagring. Det här steget skapar privata slutpunkter för blob-, kö-, fil- och tabellslutpunkterna på ditt lagringskonto när du skapar. Den här metoden integrerar effektivt ditt lagringskonto med det virtuella nätverket. - Inställning - Föreslaget värde - beskrivning - Lägga till privat slutpunkt för lagring - På - Möjligheten att konfigurera ditt program med integrering av virtuella nätverk när det skapas visas i portalen när det här alternativet har aktiverats. - Namn på privat slutpunkt - myInboundPrivateEndpointName - Namn som identifierar lagringskontots privata slutpunkt. - Privat slutpunktsundernät - Skapa Ny - Den här inställningen skapar ett nytt undernät för din inkommande privata slutpunkt på lagringskontot. Flera privata slutpunkter kan läggas till i ett enda undernät. Ange ett undernätsnamn. Adressblocket för undernätet kan vara kvar vid standardvärdet. Välj OK. - DNS - Privat DNS-zon i Azure - Det här värdet anger vilken DNS-server som din privata slutpunkt använder. I de flesta fall om du arbetar i Azure är Azure Privat DNS Zone den DNS-zon som du bör använda eftersom manuella för anpassade DNS-zoner får ökad komplexitet. 
- Välj Nästa: Övervakning. På sidan Övervakning anger du följande inställningar. - Inställning - Föreslaget värde - beskrivning - Application Insights - Standardvärde - Skapa en Application Insights-resurs med samma appnamn i närmaste region som stöds. Expandera den här inställningen om du behöver ändra nytt resursnamn eller lagra dina data på en annan plats i ett Azure-geografiskt område. 
- Välj Granska + skapa för att granska appkonfigurationsvalen. 
- Granska inställningarna på sidan Granska + skapa . Välj sedan Skapa för att skapa och distribuera funktionsappen. 
- I det övre högra hörnet i portalen väljer du ikonen Meddelanden och tittar på meddelandet Distributionen lyckades . 
- Välj Gå till resurs för att se den nya funktionsappen. Du kan också välja Fäst på instrumentpanelen. Med fästning blir det enklare att återgå till den här funktionsappresursen från instrumentpanelen. 
Grattis! Du har skapat din Premium-funktionsapp.
Kommentar
Vissa distributioner kan ibland misslyckas med att skapa de privata slutpunkterna i lagringskontot med felet StorageAccountOperationInProgress. Det här felet inträffar även om själva funktionsappen skapas. När ett sådant fel uppstår tar du bort funktionsappen och försöker utföra åtgärden igen. Du kan i stället skapa de privata slutpunkterna på lagringskontot manuellt.
Skapa en Service Bus
Sedan skapar du en Service Bus-instans som används för att testa funktionerna i funktionsappens nätverksfunktioner i den här självstudien.
- På menyn Azure Portal eller på startsidan väljer du Skapa en resurs. 
- På sidan Ny söker du efter Service Bus. Välj sedan Skapa. 
- På fliken Grundläggande använder du följande tabell för att konfigurera Service Bus-inställningarna. Alla andra inställningar kan använda standardvärdena. - Inställning - Föreslaget värde - beskrivning - Abonnemang - Din prenumeration - Prenumerationen där dina resurser skapas. - Resursgrupp - minResursgrupp - Den resursgrupp som du skapade med funktionsappen. - Namn på namnrymd - myServiceBus - Namnet på Den Service Bus-instans som den privata slutpunkten är aktiverad för. - Plats - myFunctionRegion - Den region där du skapade funktionsappen. - Prisnivå - Premie - Välj den här nivån om du vill använda privata slutpunkter med Azure Service Bus. 
- Välj Granska + skapa. När valideringen är klar väljer du Skapa. 
Lås servicebussen
Skapa den privata slutpunkten för att låsa Service Bus:
- I din nya Service Bus går du till menyn till vänster och väljer Nätverk. 
- På fliken Privata slutpunktsanslutningar väljer du Privat slutpunkt.   
- På fliken Grundläggande använder du de privata slutpunktsinställningar som visas i följande tabell. - Inställning - Föreslaget värde - beskrivning - Abonnemang - Din prenumeration - Prenumerationen där dina resurser skapas. - Resursgrupp - minResursgrupp - Den resursgrupp som du skapade med funktionsappen. - Namn - sb-slutpunkt - Namnet på den privata slutpunkten för servicebussen. - Region - myFunctionRegion - Den region där du skapade ditt lagringskonto. 
- På fliken Resurs använder du de privata slutpunktsinställningar som visas i följande tabell. - Inställning - Föreslaget värde - beskrivning - Abonnemang - Din prenumeration - Prenumerationen under vilken dina resurser skapas. - Resurstyp - Microsoft.ServiceBus/namespaces - Resurstypen för Service Bus. - Resurs - myServiceBus - Service Bus som du skapade tidigare i självstudien. - Underresurs för mål - namnområde - Den privata slutpunkt som används för namnområdet från Service Bus. 
- Välj standard för inställningen Undernät på fliken Virtuellt nätverk. 
- Välj Granska + skapa. När valideringen är klar väljer du Skapa. 
- När den privata slutpunkten har skapats går du tillbaka till avsnittet Nätverk i Service Bus-namnområdet och markerar fliken Offentlig åtkomst. 
- Kontrollera att Valda nätverk är markerade. 
- Välj + Lägg till befintligt virtuellt nätverk för att lägga till det nyligen skapade virtuella nätverket. 
- På fliken Lägg till nätverk använder du nätverksinställningarna från följande tabell: - Inställning - Föreslaget värde - beskrivning - Abonnemang - Din prenumeration - Prenumerationen under vilken dina resurser skapas. - Virtuella nätverk - myVirtualNet - Namnet på det virtuella nätverk som funktionsappen ansluter till. - Undernät - funktioner - Namnet på det undernät som funktionsappen ansluter till. 
- Välj Lägg till klientens IP-adress för att ge din aktuella klient-IP-åtkomst till namnområdet. - Kommentar - Att tillåta klientens IP-adress är nödvändigt för att aktivera Azure Portal att publicera meddelanden till kön senare i den här självstudien. 
- Välj Aktivera för att aktivera tjänstslutpunkten. 
- Välj Lägg till för att lägga till det valda virtuella nätverket och undernätet i brandväggsreglerna för Service Bus. 
- Välj Spara för att spara de uppdaterade brandväggsreglerna. 
Resurser i det virtuella nätverket kan nu kommunicera med Service Bus med hjälp av den privata slutpunkten.
Skapa en kö
Skapa kön där Azure Functions Service Bus-utlösaren hämtar händelser:
- I Service Bus går du till menyn till vänster och väljer Köer. 
- Välj Kö. I den här självstudien anger du namnkön som namnet på den nya kön.   
- Välj Skapa. 
Viktigt!
Den här självstudien visar för närvarande hur du ansluter till Service Bus med hjälp av en anslutningssträng, vilket kräver att du hanterar en resurshemlighet. För bättre säkerhet bör du i stället använda hanterade identiteter när du ansluter till Service Bus från din app. Mer information finns i Artikeln om identitetsbaserade anslutningar i service bus-bindningsreferensen .
Hämta en Service Bus-anslutningssträng
- I Service Bus går du till menyn till vänster och väljer Principer för delad åtkomst. 
- Välj RootManageSharedAccessKey. Kopiera och spara den primära anslutningssträngen. Du behöver den här anslutningssträng när du konfigurerar appinställningarna.   
Konfigurera inställningarna för funktionsappen
- I funktionsappen går du till menyn till vänster och väljer Konfiguration. 
- Om du vill använda funktionsappen med virtuella nätverk och Service Bus uppdaterar du appinställningarna som visas i följande tabell. Om du vill lägga till eller redigera en inställning väljer du + Ny programinställning eller ikonen Redigera i kolumnen längst till höger i tabellen för appinställningar. När du är klar väljer du Spara. - Inställning - Föreslaget värde - beskrivning - SERVICEBUS_CONNECTION - myServiceBusConnectionString - Skapa den här appinställningen för anslutningssträng för din Service Bus. Den här lagrings-anslutningssträng kommer från avsnittet Hämta en Service Bus-anslutningssträng. - WEBSITE_CONTENTOVERVNET - 1 - Skapa den här appinställningen. Värdet 1 gör att funktionsappen kan skalas när ditt lagringskonto är begränsat till ett virtuellt nätverk. 
- Eftersom du använder en Elastic Premium-värdplan väljer du fliken Inställningar för funktionskörning i konfigurationsvyn. Ange Körningsskalningsövervakning till På. Välj sedan Spara. Med körningsdriven skalning kan du ansluta icke-HTTP-utlösarfunktioner till tjänster som körs i det virtuella nätverket.   
Kommentar
Körningsskalning behövs inte för funktionsappar som finns i en dedikerad App Service-plan.
Distribuera en Service Bus-utlösare och HTTP-utlösare
Kommentar
Om du aktiverar privata slutpunkter i en funktionsapp blir SCM-webbplatsen (Source Control Manager) offentligt otillgänglig. Följande instruktioner ger distributionsriktningar med hjälp av Distributionscenter i funktionsappen. Du kan också använda zip-distribution eller lokalt installerade agenter som distribueras till ett undernät i det virtuella nätverket.
- I GitHub går du till följande exempellagringsplats. Den innehåller en funktionsapp och två funktioner, en HTTP-utlösare och en Service Bus-köutlösare. 
- Längst upp på sidan väljer du Förgrening för att skapa en förgrening av den här lagringsplatsen i ditt eget GitHub-konto eller din organisation. 
- I funktionsappen går du till menyn till vänster och väljer Distributionscenter. Välj sedan Inställningar. 
- På fliken Inställningar använder du de distributionsinställningar som visas i följande tabell. - Inställning - Föreslaget värde - beskrivning - Källa - GitHub - Du bör ha skapat en GitHub-lagringsplats för exempelkoden i steg 2. - Organisation - minOrganisation - Organisationen som din lagringsplats är incheckad i. Det är vanligtvis ditt konto. - Lagringsplats - functions-vnet-tutorial - Lagringsplatsen förgrenas från https://github.com/Azure-Samples/functions-vnet-tutorial. - Gren - huvud- - Huvudgrenen för lagringsplatsen som du skapade. - Körningsstack - .NÄT - Exempelkoden finns i C#. - Version: - .NET Core 3.1 - Körningsversionen. 
- Välj Spara.   
- Den första distributionen kan ta några minuter. När appen har distribuerats visas statusmeddelandet Lyckad (Aktiv) på fliken Loggar. Uppdatera sidan om det behövs. 
Grattis! Du har framgångsrikt distribuerat din exempelfunktionsapp.
Testa din låsta funktionsapp
- I funktionsappen går du till menyn till vänster och väljer Funktioner. 
- Välj ServiceBusQueueTrigger. 
- I menyn till vänster väljer du Övervaka. 
Du ser att du inte kan övervaka din app. Webbläsaren har inte åtkomst till det virtuella nätverket, så den kan inte komma åt resurser direkt i det virtuella nätverket.
Här är ett alternativt sätt att övervaka din funktion med hjälp av Application Insights:
- I funktionsappen går du till menyn till vänster och väljer Application Insights. Välj sedan Visa Application Insights-data.   
- I menyn till vänster väljer du Live-mått. 
- Öppna en ny flik. I Service Bus går du till menyn till vänster och väljer Köer. 
- Välj din kö. 
- I menyn till vänster väljer du Service Bus Explorer. Under Skicka för Innehållstyp väljer du Text/Oformaterad. Ange sedan ett meddelande. 
- Välj Skicka för att skicka meddelandet.   
- På fliken Live-mått bör du se att Service Bus-köutlösaren har aktiverats. Om den inte har gjort det skickar du meddelandet igen från Service Bus Explorer.   
Grattis! Du har framgångsrikt testat konfigurationen av din funktionsapp med privata slutpunkter.
Förstå privata DNS-zoner
Du använde en privat slutpunkt för att ansluta till Azure-resurser. Du ansluter till en privat IP-adress i stället för den offentliga slutpunkten. Befintliga Azure-tjänster har konfigurerats för att använda en befintlig DNS för att ansluta till den offentliga slutpunkten. Du måste åsidosätta DNS-konfigurationen för att ansluta till den privata slutpunkten.
En privat DNS-zon skapas för varje Azure-resurs som har konfigurerats med en privat slutpunkt. En DNS-post skapas för varje privat IP-adress som är associerad med den privata slutpunkten.
Följande DNS-zoner skapades i den här självstudien:
- privatelink.file.core.windows.net
- privatelink.blob.core.windows.net
- privatelink.servicebus.windows.net
- privatelink.azurewebsites.net
Rensa resurser
I de föregående stegen skapade du Azure-resurser i en resursgrupp. Om du inte tror att du behöver dessa resurser i framtiden, kan du ta bort dem genom att ta bort resursgruppen.
På menyn Azure Portal eller startsidan väljer du Resursgrupper. Välj sedan myResourceGroup på sidan Resursgrupper.
På sidan myResourceGroup kontrollerar du att resurserna i listan är de som du vill ta bort.
Välj Ta bort resursgrupp, skriv myResourceGroup i textrutan för att bekräfta och välj sedan Ta bort.
Nästa steg
I den här självstudien skapade du en Premium-funktionsapp, lagringskonto och Service Bus. Du har skyddat alla dessa resurser bakom privata slutpunkter.
Använd följande länkar för att lära dig mer om nätverksalternativ för Azure Functions och privata slutpunkter: