Kurz: Vytvoření privátního přístupu k privátní lokalitě Azure Functions

V tomto kurzu se dozvíte, jak povolit privátní přístup k webu pomocí Azure Functions. Pomocí privátního přístupu k lokalitě můžete vyžadovat, aby se kód funkce aktivoval jenom z konkrétní virtuální sítě.

Přístup k privátnímu webu je užitečný ve scénářích, kdy je potřeba omezit přístup k aplikaci funkcí na konkrétní virtuální síť. Aplikace funkcí může být například použitelná jenom pro zaměstnance konkrétní organizace nebo služby, které jsou v zadané virtuální síti (například na jinou funkci Azure, virtuální počítač Azure nebo cluster AKS).

Pokud aplikace Functions potřebuje přístup k prostředkům Azure ve virtuální síti nebo je připojená přes koncové body služby, je potřeba integrace virtuální sítě.

V tomto kurzu se dozvíte, jak nakonfigurovat privátní přístup k webu pro vaši aplikaci funkcí:

  • Vytvoření virtuálního počítače
  • Vytvoření služby Azure Bastion
  • Vytvoření aplikace Azure Functions
  • Konfigurace koncového bodu služby virtuální sítě
  • Vytvoření a nasazení funkce Azure Functions
  • Vyvolání funkce zvenčí a v rámci virtuální sítě

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

Topologie

Následující diagram znázorňuje architekturu řešení, které se má vytvořit:

High-level architecture diagram for private site access solution

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.

Přihlášení k webu Azure Portal

Přihlaste se k portálu Azure.

Vytvoření virtuálního počítače

Prvním krokem v tomto kurzu je vytvoření nového virtuálního počítače ve virtuální síti. Virtuální počítač se použije k přístupu k vaší funkci, jakmile omezíte jeho přístup jenom na dostupnost v rámci virtuální sítě.

  1. Vyberte tlačítko Vytvořit prostředek.

  2. Do vyhledávacího pole zadejte Windows Server a ve výsledcích hledání vyberte Windows Server .

  3. Ze seznamu možností Windows Serveru vyberte Windows Server 2019 Datacenter a stiskněte tlačítko Vytvořit .

  4. Na kartě Základy použijte nastavení virtuálního počítače, jak je uvedeno v tabulce pod obrázkem:

    Basics tab for a new Windows VM

    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 Zvolte skupinu prostředků, která bude obsahovat všechny prostředky pro účely tohoto kurzu. Použití stejné skupiny prostředků usnadňuje vyčištění prostředků po dokončení tohoto kurzu.
    Název virtuálního počítače myVM Název virtuálního počítače musí být ve skupině prostředků jedinečný.
    Oblast (USA) USA – středosever Zvolte oblast blízko vás nebo poblíž funkcí, ke kterým se chcete dostat.
    Veřejné příchozí porty Nic Pokud chcete zajistit, aby k virtuálnímu počítači z internetu nedošlo k žádnému příchozímu připojení, vyberte Žádné. Vzdálený přístup k virtuálnímu počítači se nakonfiguruje prostřednictvím služby Azure Bastion.
  5. Zvolte kartu Sítě a vyberte Vytvořit nový a nakonfigurujte novou virtuální síť.

    Screenshot that shows the

  6. V části Vytvořit virtuální síť použijte nastavení v tabulce pod obrázkem:

    Create a new virtual network for the new VM

    Nastavení Navrhovaná hodnota Description
    Jméno myResourceGroup-vnet Můžete použít výchozí název vygenerovaný pro vaši virtuální síť.
    Rozsah adres 10.10.0.0/16 Pro virtuální síť použijte jeden rozsah adres.
    Název podsítě Kurz Název podsítě.
    Rozsah adres (podsíť) 10.10.1.0/24 Velikost podsítě definuje, kolik rozhraní lze do podsítě přidat. Tuto podsíť používá virtuální počítač. Podsíť /24 poskytuje 254 adres hostitele.
  7. Vyberte OK a vytvořte virtuální síť.

  8. Zpět na kartě Sítě se ujistěte, že pro veřejnou IP adresu není vybraná žádná.

  9. Zvolte kartu Správa a pak v části Účet diagnostického úložiště zvolte Vytvořit nový a vytvořte nový účet úložiště.

  10. Pro oddíly Identita, Automatické vypnutí a Zálohování ponechte výchozí hodnoty.

  11. Vyberte Zkontrolovat a vytvořit. Po dokončení ověření vyberte Vytvořit. Vytvoření virtuálního počítače trvá několik minut.

Konfigurace služby Azure Bastion

Azure Bastion je plně spravovaná služba Azure, která poskytuje zabezpečený přístup RDP a SSH k virtuálním počítačům přímo z webu Azure Portal. Použití služby Azure Bastion eliminuje potřebu konfigurovat nastavení sítě související s přístupem RDP.

  1. Na portálu zvolte Přidat v horní části zobrazení skupiny prostředků.

  2. Do vyhledávacího pole zadejte Bastion.

  3. Ve výsledcích hledání vyberte Bastion .

  4. Výběrem možnosti Vytvořit zahájíte proces vytvoření nového prostředku služby Azure Bastion. V části Virtuální síť si všimnete chybové zprávy, protože ještě není podsíť AzureBastionSubnet. Podsíť se vytvoří v následujících krocích. Použijte nastavení v tabulce pod obrázkem:

    Start of creating Azure Bastion

    Nastavení Navrhovaná hodnota Description
    Jméno myBastion Název nového prostředku Bastion
    Oblast Severní střed USA Vyberte oblast ve své blízkosti nebo v blízkosti jiných služeb, které vaše funkce využívají.
    Virtuální síť myResourceGroup-vnet Virtuální síť, ve které se vytvoří prostředek Bastionu
    Podsíť AzureBastionSubnet Podsíť ve vaší virtuální síti, do které se nasadí nový prostředek hostitele Bastionu. Podsíť musíte vytvořit pomocí hodnoty názvu AzureBastionSubnet. Tato hodnota dává Azure vědět, do které podsítě nasadíte prostředky Bastionu. Musíte použít podsíť minimálně /27 nebo větší (/27, /26 atd.).

    Poznámka:

    Podrobný průvodce vytvořením prostředku Služby Azure Bastion najdete v kurzu Vytvoření hostitele služby Azure Bastion.

  5. Vytvořte podsíť, ve které může Azure zřídit hostitele služby Azure Bastion. Výběrem možnosti Spravovat konfiguraci podsítě se otevře nové podokno, ve kterém můžete definovat novou podsíť. Zvolte + Podsíť a vytvořte novou podsíť .

  6. Podsíť musí mít název AzureBastionSubnet a předpona podsítě musí být alespoň /27. Vyberte OK a vytvořte podsíť.

    Create subnet for Azure Bastion host

  7. Na stránce Vytvořit bastion vyberte nově vytvořenou podsíť AzureBastionSubnet ze seznamu dostupných podsítí.

    Create an Azure Bastion host with specific subnet

  8. Vyberte Zkontrolovat a vytvořit. Po dokončení ověření vyberte Vytvořit. Vytvoření prostředku Služby Azure Bastion bude trvat několik minut.

Vytvoření aplikace Azure Functions

Dalším krokem je vytvoření aplikace funkcí v Azure pomocí plánu Consumption. Kód funkce nasadíte do tohoto prostředku později v tomto kurzu.

  1. Na portálu zvolte Přidat v horní části zobrazení skupiny prostředků.

  2. Výběr aplikace výpočetních > funkcí

  3. V části Základy použijte nastavení aplikace funkcí, jak je uvedeno v následující tabulce.

    Nastavení Navrhovaná hodnota Popis
    Skupina prostředků myResourceGroup Zvolte skupinu prostředků, která bude obsahovat všechny prostředky pro účely tohoto kurzu. Použití stejné skupiny prostředků pro aplikaci funkcí a virtuální počítač usnadňuje vyčištění prostředků po dokončení tohoto kurzu.
    Název aplikace funkcí Globálně jedinečný název Název identifikující novou aplikaci funkcí. Platné znaky jsou a-z (nerozlišují malá a velká písmena), 0-9 a -.
    Publikovat Kód Možnost publikování souborů kódu nebo kontejneru Docker
    Zásobník modulu runtime Upřednostňovaný jazyk Vyberte modul runtime, který podporuje váš oblíbený programovací jazyk funkcí.
    Oblast Severní střed USA Vyberte oblast ve své blízkosti nebo v blízkosti jiných služeb, které vaše funkce využívají.

    Vyberte tlačítko Další: Hostování>.

  4. V části Hostování vyberte správný účet úložiště, operační systém a plán, jak je popsáno v následující tabulce.

    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ů 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ě.
    Operační systém Upřednostňovaný operační systém Operační systém je předem vybraný na základě výběru zásobníku modulu runtime, ale v případě potřeby můžete nastavení změnit.
    Plán Využití Plán hostování určuje, jak se aplikace funkcí škáluje, a prostředky dostupné pro každou instanci.
  5. Výběrem možnosti Zkontrolovat a vytvořit zkontrolujte výběry konfigurace aplikace.

  6. Klikněte na možnost Vytvořit a zřiďte a nasaďte aplikaci funkcí.

Konfigurace omezení přístupu

Dalším krokem je konfigurace omezení přístupu, aby se zajistilo, že funkci můžou vyvolat jenom prostředky ve virtuální síti.

Přístup k privátní lokalitě je povolený vytvořením koncového bodu služby Azure Virtual Network mezi aplikací funkcí a zadanou virtuální sítí. Omezení přístupu se implementují prostřednictvím koncových bodů služby. Koncové body služby zajišťují, že k určenému prostředku mají přístup pouze přenosy pocházející z zadané virtuální sítě. V tomto případě je určeným prostředkem funkce Azure Functions.

  1. V aplikaci funkcí vyberte odkaz Sítě pod záhlavím oddílu Nastavení.

  2. Stránka Sítě je výchozím bodem konfigurace služby Azure Front Door, Azure CDN a také omezení přístupu.

  3. Výběrem možnosti Konfigurovat omezení přístupu nakonfigurujte přístup k privátní lokalitě.

  4. Na stránce Omezení přístupu se zobrazí pouze výchozí omezení. Výchozí nastavení neuvádí žádná omezení přístupu k aplikaci funkcí. Výběrem možnosti Přidat pravidlo vytvořte konfiguraci omezení přístupu k privátní lokalitě.

  5. V podokně Přidat omezení přístupu zadejte název, prioritu a popis nového pravidla.

  6. V rozevíracím seznamu Typ vyberte virtuální síť, pak vyberte dříve vytvořenou virtuální síť a pak vyberte podsíť Kurz.

    Poznámka:

    Povolení koncového bodu služby může trvat několik minut.

  7. Na stránce Omezení přístupu se teď zobrazuje nové omezení. Může trvat několik sekund, než se stav koncového bodu změní ze stavu Zakázáno prostřednictvím zřizování na Povoleno.

    Důležité

    Každá aplikace funkcí má web Rozšířený nástroj (Kudu), který slouží ke správě nasazení aplikací funkcí. K tomuto webu se přistupuje z adresy URL, například: <FUNCTION_APP_NAME>.scm.azurewebsites.net. Povolení omezení přístupu na webu Kudu brání nasazení kódu projektu z místní vývojářské pracovní stanice a k provedení nasazení je potřeba agent ve virtuální síti.

Přístup k aplikaci functions

  1. Vraťte se do dříve vytvořené aplikace funkcí. V části Přehled zkopírujte adresu URL.

    Get the Function app URL

    Pokud se teď pokusíte získat přístup k aplikaci funkcí z počítače mimo vaši virtuální síť, zobrazí se stránka HTTP 403 označující, že přístup je zakázaný.

  2. Vraťte se do skupiny prostředků a vyberte dříve vytvořený virtuální počítač. Pokud chcete získat přístup k webu z virtuálního počítače, musíte se k němu připojit přes službu Azure Bastion.

  3. Vyberte Připojení a pak zvolte Bastion.

  4. Zadejte požadované uživatelské jméno a heslo pro přihlášení k virtuálnímu počítači.

  5. Vyberte Připojit. Otevře se nové okno prohlížeče, které vám umožní pracovat s virtuálním počítačem. K webu je možné přistupovat z webového prohlížeče na virtuálním počítači, protože virtuální počítač přistupuje k webu přes virtuální síť. I když je lokalita přístupná pouze z určené virtuální sítě, zůstane veřejná položka DNS.

Vytvoření funkce

Dalším krokem v tomto kurzu je vytvoření funkce Azure aktivované protokolem HTTP. Vyvolání funkce prostřednictvím příkazu HTTP GET nebo POST by mělo mít za následek odpověď "Hello, {name}".

  1. Pomocí jednoho z následujících rychlých startů vytvořte a nasaďte aplikaci Azure Functions.

  2. Při publikování projektu Azure Functions zvolte prostředek aplikace funkcí, který jste vytvořili dříve v tomto kurzu.

  3. Ověřte, že je funkce nasazená.

    Deployed function in list of functions

Přímé vyvolání funkce

  1. Abyste mohli otestovat přístup k funkci, musíte zkopírovat adresu URL funkce. Vyberte nasazenou funkci a pak vyberte Získat adresu URL funkce. Potom klikněte na tlačítko Kopírovat a zkopírujte adresu URL do schránky.

    Copy the function URL

  2. Vložte adresu URL do webového prohlížeče. Když se teď pokusíte získat přístup k aplikaci funkcí z počítače mimo vaši virtuální síť, obdržíte odpověď HTTP 403, která indikuje, že přístup k aplikaci je zakázaný.

Vyvolání funkce z virtuální sítě

Přístup k funkci prostřednictvím webového prohlížeče (pomocí služby Azure Bastion) na nakonfigurovaných virtuálních počítačích ve virtuální síti vede k úspěchu!

Access the Azure Function via Azure Bastion

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