Självstudie: Upprätta åtkomst till en privat Azure Functions-webbplats

Den här självstudien visar hur du aktiverar åtkomst till privata webbplatser med Azure Functions. Genom att använda åtkomst till privata webbplatser kan du kräva att din funktionskod endast utlöses från ett specifikt virtuellt nätverk.

Åtkomst till privat webbplats är användbar i scenarier när åtkomsten till funktionsappen måste begränsas till ett specifikt virtuellt nätverk. Funktionsappen kan till exempel endast tillämpas på anställda i en viss organisation eller tjänster som finns i det angivna virtuella nätverket (till exempel en annan Azure-funktion, En virtuell Azure-dator eller ett AKS-kluster).

Om en Functions-app behöver komma åt Azure-resurser i det virtuella nätverket eller ansluta via tjänstslutpunkter krävs integrering av virtuella nätverk.

I den här självstudien får du lära dig hur du konfigurerar åtkomst till privata webbplatser för din funktionsapp:

  • Skapa en virtuell dator
  • Skapa en Azure Bastion-tjänst
  • Skapa en Azure Functions-app
  • Konfigurera en tjänstslutpunkt för virtuellt nätverk
  • Skapa och distribuera en Azure-funktion
  • Anropa funktionen utifrån och i det virtuella nätverket

Om du inte har en Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.

Topologi

Följande diagram visar arkitekturen för lösningen som ska skapas:

High-level architecture diagram for private site access solution

Förutsättningar

I den här självstudien är det viktigt att du förstår IP-adressering och underanpassning. Du kan börja med den här artikeln som beskriver grunderna för adressering och underanpassning. Många fler artiklar och videor är tillgängliga online.

Logga in på Azure-portalen

Logga in på Azure-portalen.

Skapa en virtuell dator

Det första steget i den här självstudien är att skapa en ny virtuell dator i ett virtuellt nätverk. Den virtuella datorn används för att komma åt din funktion när du har begränsat dess åtkomst till att endast vara tillgänglig inifrån det virtuella nätverket.

  1. Välj knappen Skapa en resurs.

  2. I sökfältet skriver du Windows Server och väljer Windows Server i sökresultaten.

  3. Välj Windows Server 2019 Datacenter i listan över Windows Server-alternativ och tryck på knappen Skapa .

  4. På fliken Grundläggande använder du inställningarna för virtuella datorer enligt beskrivningen i tabellen under bilden:

    Basics tab for a new Windows VM

    Inställning Föreslaget värde beskrivning
    Abonnemang Din prenumeration Prenumerationen under vilken dina resurser skapas.
    Resursgrupp myResourceGroup Välj den resursgrupp som ska innehålla alla resurser för den här självstudien. Med samma resursgrupp blir det enklare att rensa resurser när du är klar med den här självstudien.
    Namn på virtuell dator myVM Namnet på den virtuella datorn måste vara unikt i resursgruppen
    Region USA, norra centrala Välj en region nära dig eller nära de funktioner som ska nås.
    Offentliga inkommande portar Ingen Välj Ingen för att säkerställa att det inte finns någon inkommande anslutning till den virtuella datorn från Internet. Fjärråtkomst till den virtuella datorn konfigureras via Azure Bastion-tjänsten.
  5. Välj fliken Nätverk och välj Skapa ny för att konfigurera ett nytt virtuellt nätverk.

    Screenshot that shows the

  6. I Skapa virtuellt nätverk använder du inställningarna i tabellen under bilden:

    Create a new virtual network for the new VM

    Inställning Föreslaget värde Description
    Namn myResourceGroup-vnet Du kan använda standardnamnet som genererats för ditt virtuella nätverk.
    Adressintervall 10.10.0.0/16 Använd ett enda adressintervall för det virtuella nätverket.
    Namn på undernät Självstudier Namnet på undernätet.
    Adressintervall (undernät) 10.10.1.0/24 Storleken på undernätet definierar hur många gränssnitt som kan läggas till i undernätet. Det här undernätet används av den virtuella datorn. Ett /24-undernät innehåller 254 värdadresser.
  7. Välj OK för att skapa det virtuella nätverket.

  8. På fliken Nätverk kontrollerar du att Ingen har valts för offentlig IP-adress.

  9. Välj fliken Hantering och välj sedan Skapa nytt i Diagnostiklagringskonto för att skapa ett nytt lagringskonto.

  10. Lämna standardvärdena för avsnitten Identitet, Automatisk avstängning och Säkerhetskopiering .

  11. Välj Granska + skapa. När valideringen är klar väljer du Skapa. Det tar några minuter att skapa den virtuella datorn.

Konfigurera Azure Bastion

Azure Bastion är en fullständigt hanterad Azure-tjänst som ger säker RDP- och SSH-åtkomst till virtuella datorer direkt från Azure-portalen. Om du använder Azure Bastion-tjänsten tar du bort behovet av att konfigurera nätverksinställningar relaterade till RDP-åtkomst.

  1. I portalen väljer du Lägg till överst i resursgruppsvyn.

  2. I sökfältet skriver du Bastion.

  3. Välj Bastion i sökresultatet.

  4. Välj Skapa för att börja skapa en ny Azure Bastion-resurs. Du ser ett felmeddelande i avsnittet Virtuellt nätverk eftersom det ännu inte finns något AzureBastionSubnet-undernät. Undernätet skapas i följande steg. Använd inställningarna i tabellen under bilden:

    Start of creating Azure Bastion

    Inställning Föreslaget värde Description
    Namn myBastion Namnet på den nya Bastion-resursen
    Region Norra centrala USA Välj en region nära dig eller nära andra tjänster som kommer att användas i dina funktioner.
    Virtuellt nätverk myResourceGroup-vnet Det virtuella nätverk där Bastion-resursen ska skapas i
    Undernät AzureBastionSubnet Undernätet i ditt virtuella nätverk som den nya Bastion-värdresursen ska distribueras till. Du måste skapa ett undernät med hjälp av namnvärdet AzureBastionSubnet. Det här värdet låter Azure veta vilket undernät som Bastion-resurserna ska distribueras till. Du måste använda ett undernät på minst /27 eller större (/27, /26 och så vidare).

    Kommentar

    En detaljerad stegvis guide för att skapa en Azure Bastion-resurs finns i självstudien Skapa en Azure Bastion-värd .

  5. Skapa ett undernät där Azure kan etablera Azure Bastion-värden. Om du väljer Hantera undernätskonfiguration öppnas ett nytt fönster där du kan definiera ett nytt undernät. Välj + Undernät för att skapa ett nytt undernät.

  6. Undernätet måste ha namnet AzureBastionSubnet och undernätsprefixet måste vara minst /27. Välj OK för att skapa undernätet.

    Create subnet for Azure Bastion host

  7. På sidan Skapa en bastion väljer du det nyligen skapade AzureBastionSubnet i listan över tillgängliga undernät.

    Create an Azure Bastion host with specific subnet

  8. Välj Granska och skapa. När verifieringen är klar väljer du Skapa. Det tar några minuter innan Azure Bastion-resursen skapas.

Skapa en Azure Functions-app

Nästa steg är att skapa en funktionsapp i Azure med hjälp av förbrukningsplanen. Du distribuerar funktionskoden till den här resursen senare i självstudien.

  1. I portalen väljer du Lägg till överst i resursgruppsvyn.

  2. Välj Beräkningsfunktionsapp >

  3. I avsnittet Grundläggande använder du inställningarna för funktionsappen enligt beskrivningen i tabellen nedan.

    Inställning Föreslaget värde beskrivning
    Resursgrupp myResourceGroup Välj den resursgrupp som ska innehålla alla resurser för den här självstudien. Med samma resursgrupp för funktionsappen och den virtuella datorn blir det enklare att rensa resurser när du är klar med den här självstudien.
    Funktionsappens namn Globalt unikt namn Namn som identifierar din nya funktionsapp. Giltiga tecken är a-z (skiftlägesokänsliga), 0–9 och -.
    Publicera Kod Alternativ för att publicera kodfiler eller en Docker-container.
    Körningsstack Önskat språk Välj en körning som stöder det funktionsprogrammeringsspråk som du föredrar.
    Region Norra centrala USA Välj en region nära dig eller nära andra tjänster som kommer att användas i dina funktioner.

    Välj knappen Nästa: Värd>.

  4. I avsnittet Värd väljer du rätt lagringskonto, operativsystem och plan enligt beskrivningen i följande tabell.

    Inställning Föreslaget värde beskrivning
    Lagringskonto Globalt unikt namn Skapa ett lagringskonto som används av din funktionsapp. Namnet på ett lagringskonto måste vara mellan 3 och 24 tecken långt och får endast innehålla siffror och gemener. Du kan också använda ett befintligt konto som måste uppfylla kraven för lagringskontot.
    Operativsystem Önskat operativsystem Ett operativsystem är förvalt baserat på val av körningsstack, men du kan ändra inställningen om det behövs.
    Planera Förbrukning Värdplanen avgör hur funktionsappen skalas och tillgängliga resurser för varje instans.
  5. Välj Granska + Skapa för att granska appkonfigurationsvalen.

  6. Välj Skapa för att etablera och distribuera funktionsappen.

Konfigurera åtkomstbegränsningar

Nästa steg är att konfigurera åtkomstbegränsningar för att säkerställa att endast resurser i det virtuella nätverket kan anropa funktionen.

Åtkomst till privat webbplats aktiveras genom att skapa en tjänstslutpunkt för Azure Virtual Network mellan funktionsappen och det angivna virtuella nätverket. Åtkomstbegränsningar implementeras via tjänstslutpunkter. Tjänstslutpunkter säkerställer att endast trafik som kommer från det angivna virtuella nätverket kan komma åt den avsedda resursen. I det här fallet är den avsedda resursen Azure-funktionen.

  1. I funktionsappen väljer du länken Nätverk under avsnittsrubriken Inställningar.

  2. Sidan Nätverk är startpunkten för att konfigurera Azure Front Door, Azure CDN och även åtkomstbegränsningar.

  3. Välj Konfigurera åtkomstbegränsningar för att konfigurera åtkomst till privata webbplatser.

  4. På sidan Åtkomstbegränsningar ser du bara standardbegränsningen på plats. Standardinställningen begränsar inte åtkomsten till funktionsappen. Välj Lägg till regel för att skapa en konfiguration av begränsningar för åtkomstbegränsning för privat plats.

  5. I fönstret Lägg till åtkomstbegränsning anger du namn, prioritet och beskrivning för den nya regeln.

  6. Välj Virtuellt nätverk i listrutan Typ , välj sedan det tidigare skapade virtuella nätverket och välj sedan undernätet Självstudie .

    Kommentar

    Det kan ta flera minuter att aktivera tjänstslutpunkten.

  7. Sidan Åtkomstbegränsningar visar nu att det finns en ny begränsning. Det kan ta några sekunder innan slutpunktsstatusen ändras från Inaktiverad till Aktiverad.

    Viktigt!

    Varje funktionsapp har en Kudu-webbplats (Advanced Tool) som används för att hantera distributioner av funktionsappar. Den här webbplatsen nås från en URL som: <FUNCTION_APP_NAME>.scm.azurewebsites.net. Om du aktiverar åtkomstbegränsningar på Kudu-webbplatsen förhindrar du distributionen av projektkoden från en lokal arbetsstation för utvecklare och sedan behövs en agent i det virtuella nätverket för att utföra distributionen.

Få åtkomst till funktionsappen

  1. Gå tillbaka till den tidigare skapade funktionsappen. I avsnittet Översikt kopierar du URL:en.

    Get the Function app URL

    Om du försöker komma åt funktionsappen nu från datorn utanför det virtuella nätverket får du en HTTP 403-sida som anger att åtkomst är förbjuden.

  2. Gå tillbaka till resursgruppen och välj den tidigare skapade virtuella datorn. För att komma åt platsen från den virtuella datorn måste du ansluta till den virtuella datorn via Azure Bastion-tjänsten.

  3. Välj Anslut och välj sedan Bastion.

  4. Ange det användarnamn och lösenord som krävs för att logga in på den virtuella datorn.

  5. Välj Anslut. Ett nytt webbläsarfönster visas så att du kan interagera med den virtuella datorn. Det går att komma åt webbplatsen från webbläsaren på den virtuella datorn eftersom den virtuella datorn har åtkomst till webbplatsen via det virtuella nätverket. Platsen är endast tillgänglig från det avsedda virtuella nätverket, men en offentlig DNS-post finns kvar.

Skapa en funktion

Nästa steg i den här självstudien är att skapa en HTTP-utlöst Azure-funktion. Att anropa funktionen via en HTTP GET eller POST bör resultera i ett svar på "Hello, {name}".

  1. Följ någon av följande snabbstarter för att skapa och distribuera din Azure Functions-app.

  2. När du publicerar ditt Azure Functions-projekt väljer du den funktionsappresurs som du skapade tidigare i den här självstudien.

  3. Kontrollera att funktionen har distribuerats.

    Deployed function in list of functions

Anropa funktionen direkt

  1. För att testa åtkomsten till funktionen måste du kopiera funktions-URL:en. Välj den distribuerade funktionen och välj sedan Hämta funktions-URL. Klicka sedan på knappen Kopiera för att kopiera URL:en till Urklipp.

    Copy the function URL

  2. Klistra in URL:en i en webbläsare. När du nu försöker komma åt funktionsappen från en dator utanför det virtuella nätverket får du ett HTTP 403-svar som anger att åtkomst till appen är förbjuden.

Anropa funktionen från det virtuella nätverket

Åtkomst till funktionen via en webbläsare (med hjälp av Azure Bastion-tjänsten) på den konfigurerade virtuella datorn i det virtuella nätverket resulterar i framgång!

Access the Azure Function via Azure Bastion

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 eller startsidan i Azure-portalen väljer du Resursgrupper. Välj sedan myResourceGroupsidan 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