Možnosti sítí Azure Functions

Tento článek popisuje síťové funkce dostupné napříč možnostmi hostování pro Azure Functions. Všechny následující možnosti sítě umožňují přístup k prostředkům bez použití adres směrovatelných přes internet nebo omezení přístupu k internetu k aplikaci funkcí.

Modely hostování mají k dispozici různé úrovně izolace sítě. Volba správné možnosti vám pomůže splnit požadavky na izolaci sítě.

Funkce Plán Consumption Plán Flex Consumption Plán Premium Vyhrazený plán/ASE Container Apps*
Omezení příchozích IP adres ✅Ano ✅Ano ✅Ano ✅Ano ✅Ano
Příchozí privátní koncové body ❌Ne ✅Ano ✅Ano ✅Ano ❌Ne
Integrace virtuální sítě ❌Ne ✅Ano (oblast) ✅Ano (oblast) ✅Ano (regionální a brána) ✅Ano
Triggery virtuální sítě (jiné než HTTP) ❌Ne ✅Ano ✅Ano ✅Ano ✅Ano
Hybridní připojení (jenom Windows) ❌Ne ❌ Ne ✅Ano ✅Ano ❌Ne
Omezení odchozích IP adres ❌Ne ✅Ano ✅Ano ✅Ano ✅Ano

*Další informace najdete v tématu Sítě v prostředí Azure Container Apps.

Zdroje informací pro rychlý start

Následující zdroje informací vám pomůžou rychle začít se síťovými scénáři Azure Functions. Na tyto zdroje informací se odkazuje v celém článku.

Příchozí síťové funkce

Následující funkce umožňují filtrovat příchozí požadavky na vaši aplikaci funkcí.

Omezení příchozího přístupu

Omezení přístupu můžete použít k definování seznamu IP adres seřazených podle priority, které mají povolený nebo zakázaný přístup k vaší aplikaci. Seznam může obsahovat adresy IPv4 a IPv6 nebo konkrétní podsítě virtuální sítě pomocí koncových bodů služby. Pokud je k dispozici jedna nebo více položek, je na konci seznamu implicitně uvedená položka Zamítnout vše. Omezení IP adres fungují se všemi možnostmi hostování funkcí.

Omezení přístupu jsou dostupná v plánu Flex Consumption, Elastic Premium, Consumption a App Service.

Poznámka:

Při použití omezení sítě můžete nasadit jenom z vaší virtuální sítě nebo když jste zadali IP adresu počítače, který používáte pro přístup k webu Azure Portal v seznamu bezpečných příjemců. Funkci ale můžete spravovat pomocí portálu.

Další informace najdete v tématu Aplikace Azure Omezení statického přístupu služby.

Privátní koncové body

Služba Azure Private Endpoint je síťové rozhraní, které umožňuje soukromé a bezpečné připojení ke službě, která používá technologii Azure Private Link. Privátní koncový bod používá privátní IP adresu vaší virtuální sítě a tím vlastně přináší službu do vaší virtuální sítě.

Privátní koncový bod můžete použít pro funkce hostované v plánech Premium a App Service .

Pokud chcete volat privátní koncové body, musíte se ujistit, že se vyhledávání DNS přeloží na privátní koncový bod. Toto chování můžete vynutit jedním z následujících způsobů:

  • Integrace s privátními zónami Azure DNS Pokud vaše virtuální síť nemá vlastní server DNS, provede se to automaticky.
  • Spravujte privátní koncový bod na serveru DNS používaném vaší aplikací. K tomu musíte znát adresu privátního koncového bodu a pak nasměrovat koncový bod, ke kterému se pokoušíte připojit pomocí záznamu A.
  • Nakonfigurujte vlastní server DNS tak, aby předával privátní zóny Azure DNS.

Další informace najdete v tématu Použití privátních koncových bodů pro Web Apps.

Pokud chcete volat jiné služby, které mají připojení privátního koncového bodu, jako je úložiště nebo sběrnice, nezapomeňte nakonfigurovat aplikaci tak, aby odchozí volání do privátních koncových bodů. Další podrobnosti o používání privátních koncových bodů s účtem úložiště pro vaši aplikaci funkcí najdete v tématu Omezení účtu úložiště na virtuální síť.

Koncové body služby

Pomocí koncových bodů služby můžete omezit mnoho služeb Azure na vybrané podsítě virtuální sítě, abyste zajistili vyšší úroveň zabezpečení. Integrace místní virtuální sítě umožňuje vaší aplikaci funkcí oslovit služby Azure, které jsou zabezpečené pomocí koncových bodů služby. Tato konfigurace se podporuje ve všech plánech , které podporují integraci virtuální sítě. Pokud chcete získat přístup ke službě zabezpečené koncovým bodem služby, musíte udělat toto:

  1. Nakonfigurujte integraci místní virtuální sítě s vaší aplikací funkcí, aby se připojila ke konkrétní podsíti.
  2. Přejděte do cílové služby a nakonfigurujte koncové body služby pro podsíť integrace.

Další informace najdete v tématu Koncové body služeb virtuální sítě.

Použití koncových bodů služby

Pokud chcete omezit přístup ke konkrétní podsíti, vytvořte pravidlo omezení s typem virtuální sítě . Pak můžete vybrat předplatné, virtuální síť a podsíť, ke kterým chcete povolit nebo odepřít přístup.

Pokud pro vybranou podsíť ještě nejsou povolené Microsoft.Web koncové body služby, jsou automaticky povolené, pokud nezaškrtnete políčko Ignorovat chybějící koncové body služby Microsoft.Web. Scénář, ve kterém můžete chtít povolit koncové body služby v aplikaci, ale ne podsíť, závisí hlavně na tom, jestli máte oprávnění k jejich povolení v podsíti.

Pokud potřebujete, aby koncový bod služby v podsíti povolil někdo jiný, zaškrtněte políčko Ignorovat chybějící koncové body služby Microsoft.Web. Vaše aplikace je nakonfigurovaná pro koncové body služby v očekávání, že je později v podsíti povolíte.

Snímek obrazovky s podoknem Přidat omezení IP adres s vybraným typem virtuální sítě

Koncové body služby nemůžete použít k omezení přístupu k aplikacím, které běží ve službě App Service Environment. Když je vaše aplikace ve službě App Service Environment, můžete k ní přistupovat pomocí pravidel přístupu IP adres.

Informace o nastavení koncových bodů služby najdete v tématu Vytvoření přístupu k privátní lokalitě Azure Functions.

Integrace virtuální sítě

Integrace virtuální sítě umožňuje aplikaci funkcí přistupovat k prostředkům ve virtuální síti. Azure Functions podporuje dva druhy integrace virtuální sítě:

  • Cenové úrovně vyhrazených výpočetních prostředků, mezi které patří Basic, Standard, Premium, Premium v2 a Premium v3.
  • Služba App Service Environment, která se nasadí přímo do vaší virtuální sítě s vyhrazenou podpůrnou infrastrukturou a používá cenové úrovně Izolované a izolované verze 2.

Funkce integrace virtuální sítě se používá v cenových úrovních služby Aplikace Azure Service dedicated compute. Pokud je vaše aplikace ve službě App Service Environment, už je ve virtuální síti a nevyžaduje použití funkce integrace virtuální sítě pro přístup k prostředkům ve stejné virtuální síti. Další informace o všech síťových funkcích najdete v tématu Síťové funkce služby App Service.

Integrace virtuální sítě dává vaší aplikaci přístup k prostředkům ve virtuální síti, ale neuděluje příchozí privátní přístup k vaší aplikaci z virtuální sítě. Přístup k privátní lokalitě odkazuje na zpřístupnění aplikace pouze z privátní sítě, například z virtuální sítě Azure. Integrace virtuální sítě se používá jenom k odchozím voláním z vaší aplikace do vaší virtuální sítě. Funkce integrace virtuální sítě se chová jinak, když se používá s virtuálními sítěmi ve stejné oblasti a s virtuálními sítěmi v jiných oblastech. Funkce integrace virtuální sítě má dvě varianty:

  • Integrace místní virtuální sítě: Když se připojujete k virtuálním sítím ve stejné oblasti, musíte mít ve virtuální síti, se kterou integrujete, vyhrazenou podsíť.
  • Integrace virtuální sítě vyžadovaná bránou: Pokud se připojujete přímo k virtuálním sítím v jiných oblastech nebo ke klasické virtuální síti ve stejné oblasti, potřebujete bránu služby Azure Virtual Network vytvořenou v cílové virtuální síti.

Funkce integrace virtuální sítě:

  • Vyžaduje podporovanou cenovou úroveň Basic nebo Standard, Premium, Premium v2, Premium v3 nebo Elastic Premium App Service.
  • Podporuje protokol TCP a UDP.
  • Funguje s aplikacemi app Service a aplikacemi funkcí.

Integrace virtuální sítě nepodporuje některé věci, například:

  • Montáž jednotky.
  • Připojení k doméně služby Active Directory systému Windows Server.
  • Rozhraní netbios.

Integrace virtuální sítě vyžadovaná bránou poskytuje přístup k prostředkům pouze v cílové virtuální síti nebo v sítích připojených k cílové virtuální síti s partnerskými vztahy nebo sítěmi VPN. Integrace virtuální sítě vyžadovaná bránou neumožňuje přístup k prostředkům dostupným napříč připojeními Azure ExpressRoute ani s koncovými body služby.

Integrace virtuální sítě poskytuje vaší aplikaci přístup k prostředkům ve vaší virtuální síti bez ohledu na to, jakou verzi používá, ale neuděluje příchozí privátní přístup k vaší aplikaci z virtuální sítě. Přístup k privátnímu webu odkazuje na zpřístupnění aplikace pouze z privátní sítě, například z virtuální sítě Azure. Integrace virtuální sítě je určená jenom pro odchozí volání z vaší aplikace do vaší virtuální sítě.

Integrace virtuální sítě ve službě Azure Functions používá sdílenou infrastrukturu s webovými aplikacemi služby App Service. Další informace o dvou typech integrace virtuální sítě najdete tady:

Informace o nastavení integrace virtuální sítě najdete v tématu Povolení integrace virtuální sítě.

Povolení integrace virtuální sítě

  1. V aplikaci funkcí na webu Azure Portal vyberte Sítě a pak v části Integrace virtuální sítě vyberte Kliknutím sem nakonfigurujte.

  2. Vyberte Přidat virtuální síť.

    Výběr integrace virtuální sítě

  3. Rozevírací seznam obsahuje všechny virtuální sítě Azure Resource Manageru ve vašem předplatném ve stejné oblasti. Vyberte virtuální síť, se kterou chcete provést integraci.

    Výběr virtuální sítě

    • Plány Flex Consumption a Elastic Premium služby Functions podporují pouze regionální integraci virtuálních sítí. Pokud je virtuální síť ve stejné oblasti, vytvořte novou podsíť nebo vyberte prázdnou před existující podsíť.

    • Pokud chcete vybrat virtuální síť v jiné oblasti, musíte mít zřízenou bránu virtuální sítě s povoleným bodem na lokalitu. Integrace virtuální sítě mezi oblastmi je podporována pouze pro vyhrazené plány, ale globální partnerské vztahy pracují s integrací regionálních virtuálních sítí.

Během integrace se vaše aplikace restartuje. Po dokončení integrace se zobrazí podrobnosti o virtuální síti, se kterou jste integrovaní. Ve výchozím nastavení je povolená možnost Route All a veškerý provoz se směruje do vaší virtuální sítě.

Pokud chcete směrovat jenom privátní provoz (RFC1918 provoz), postupujte podle pokynů v dokumentaci ke službě App Service.

Integrace místní virtuální sítě

Použití integrace místní virtuální sítě umožňuje vaší aplikaci přístup:

  • Prostředky ve stejné virtuální síti jako vaše aplikace
  • Prostředky ve virtuálních sítích propojené s virtuální sítí, se kterou je vaše aplikace integrovaná.
  • Zabezpečené služby koncového bodu služby.
  • Prostředky napříč připojeními Azure ExpressRoute
  • Prostředky napříč partnerskými připojeními, mezi které patří připojení Azure ExpressRoute.
  • Privátní koncové body

Při použití integrace místní virtuální sítě můžete použít následující síťové funkce Azure:

  • Skupiny zabezpečení sítě (NSG): Odchozí provoz můžete blokovat pomocí skupiny zabezpečení sítě, která je umístěná v podsíti integrace. Příchozí pravidla se nevztahují, protože integraci virtuální sítě nemůžete použít k poskytování příchozího přístupu k vaší aplikaci.
  • Směrovací tabulky (trasy definované uživatelem):: Směrovací tabulku můžete umístit do podsítě integrace a odesílat odchozí provoz tam, kde chcete.

Poznámka:

Když směrujete veškerý odchozí provoz do vaší virtuální sítě, řídí se skupiny zabezpečení sítě a trasy definované uživatelem, které se použijí pro vaši podsíť integrace. Když je virtuální síť integrovaná, odchozí provoz vaší aplikace funkcí na veřejné IP adresy se dál odesílá z adres uvedených ve vlastnostech vaší aplikace, pokud nezadáte trasy, které směrují provoz jinde.

Integrace místní virtuální sítě nemůže používat port 25.

Pro plán Flex Consumption:

  1. Podle těchto pokynů se ujistěte, že Microsoft.App je pro vaše předplatné povolený poskytovatel prostředků Azure. Delegování podsítě vyžadované aplikacemi Flex Consumption je Microsoft.App/environments.
  2. Delegování podsítě vyžadované aplikacemi Flex Consumption je Microsoft.App/environments. Jedná se o změnu z elastické úrovně Premium a služby App Service, která má jiný požadavek na delegování.
  3. Pro jednu aplikaci funkcí můžete naplánovat maximálně 40 IP adres, a to i v případě, že se aplikace škáluje nad 40. Pokud máte například patnáct aplikací funkcí Flex Consumption, které budou integrované do stejné podsítě, můžete naplánovat maximálně 15x40 = 600 IP adres. Tento limit se může změnit a nevynucuje se.
  4. Podsíť se už nedá používat pro jiné účely (například privátní koncové body nebo koncové body služby nebo delegovat na jiný plán hostování nebo službu). I když můžete stejnou podsíť sdílet s několika aplikacemi Flex Consumption, síťové prostředky se budou sdílet mezi těmito aplikacemi funkcí. To může vést k tomu, že jedna aplikace funkcí ovlivní výkon ostatních uživatelů ve stejné podsíti.

Používání virtuální sítě má určitá omezení:

  • Tato funkce je dostupná od Flex Consumption, Elastic Premium a App Service Premium V2 a Premium V3. Je také k dispozici ve standardu, ale pouze z novějších nasazení služby App Service. Pokud používáte starší nasazení, můžete tuto funkci použít jenom z plánu služby App Service úrovně Premium V2. Pokud chcete mít jistotu, že tuto funkci můžete použít v plánu Služby App Service úrovně Standard, vytvořte aplikaci v plánu služby App Service Premium V3. Tyto plány se podporují jenom v našich nejnovějších nasazeních. Pokud po tom budete chtít, můžete vertikálně snížit kapacitu.
  • Podsíť integrace může používat jenom jeden plán služby App Service.
  • Tuto funkci nelze používat v izolovaných plánových aplikacích, které jsou ve službě App Service Environment.
  • Tato funkce vyžaduje nepoužitou podsíť, která je ve virtuální síti Azure Resource Manageru /28 nebo větší.
  • Aplikace i virtuální síť musí být ve stejné oblasti.
  • Nemůžete odstranit virtuální síť s integrovanou aplikací. Před odstraněním virtuální sítě odeberte integraci.
  • Pro každý plán služby App Service můžete mít až dvě integrace místních virtuálních sítí. Stejnou podsíť integrace může používat více aplikací ve stejném plánu služby App Service.
  • Předplatné aplikace nebo plánu nemůžete změnit, pokud existuje aplikace, která používá integraci regionální virtuální sítě.

Podsítě

Integrace virtuální sítě závisí na vyhrazené podsíti. Při zřizování podsítě ztratí podsíť Azure od začátku pět IP adres. Pro plány Elastic Premium a App Service se pro každou instanci plánu používá jedna adresa z podsítě integrace. Když škálujete aplikaci na čtyři instance, použijí se čtyři adresy. U flex Consumption se to netýká a instance sdílejí IP adresy.

Při vertikálním navýšení nebo snížení kapacity se požadovaný adresní prostor po krátkou dobu zdvojnásobí. To má vliv na skutečnou dostupnou podporovanou instanci pro danou velikost podsítě. Následující tabulka ukazuje jak maximální dostupné adresy na blok CIDR, tak vliv na horizontální škálování:

Velikost bloku CIDR Maximální počet dostupných adres Maximální horizontální škálování (instance)*
/28 11 5
/27 27 13
/26 59 29

*Předpokládá se, že v určitém okamžiku potřebujete vertikálně navýšit nebo snížit kapacitu velikosti nebo skladové položky.

Vzhledem k tomu, že po přiřazení nejde změnit velikost podsítě, použijte podsíť, která je dostatečně velká, aby vyhovovala libovolnému měřítku, ke kterému může vaše aplikace dosáhnout. Abyste se vyhnuli problémům s kapacitou podsítě pro plány Elastic Premium functions, měli byste použít /24 s 256 adresami pro Windows a /26 s 64 adresami pro Linux. Při vytváření podsítí na webu Azure Portal v rámci integrace s virtuální sítí se pro Windows a Linux vyžaduje minimální velikost /24 a /26.

Pokud chcete, aby se vaše aplikace v jiném plánu dostaly k virtuální síti, ke které už jsou připojené aplikace v jiném plánu, vyberte jinou podsíť, než kterou používá integrace existující virtuální sítě.

Tato funkce je plně podporovaná pro aplikace pro Windows i Linux, včetně vlastních kontejnerů. Všechna chování fungují stejně mezi aplikacemi pro Windows a aplikacemi pro Linux.

Skupiny zabezpečení sítě

Skupiny zabezpečení sítě můžete použít k blokování příchozího a odchozího provozu do prostředků ve virtuální síti. Aplikace, která používá místní integraci virtuální sítě, může pomocí skupiny zabezpečení sítě blokovat odchozí provoz do prostředků ve vaší virtuální síti nebo internetu. Pokud chcete blokovat provoz na veřejné adresy, musíte mít integraci virtuální sítě s povolenou službou Route All. Příchozí pravidla ve skupině zabezpečení sítě se na vaši aplikaci nevztahují, protože integrace virtuální sítě ovlivňuje jenom odchozí provoz z vaší aplikace.

Pokud chcete řídit příchozí provoz do vaší aplikace, použijte funkci Omezení přístupu. Skupina zabezpečení sítě použitá pro vaši podsíť integrace je platná bez ohledu na všechny trasy použité pro vaši podsíť integrace. Pokud je vaše aplikace funkcí integrovaná s povolenou funkcí Route All a nemáte žádné trasy, které mají vliv na provoz veřejných adres v podsíti integrace, veškerý odchozí provoz se stále vztahuje na skupiny zabezpečení sítě přiřazené k vaší podsíti integrace. Pokud není povolená funkce Route All, skupiny zabezpečení sítě se použijí jenom na RFC1918 provoz.

Trasy

Směrovací tabulky můžete použít ke směrování odchozího provozu z vaší aplikace do požadovaného místa. Směrovací tabulky mají ve výchozím nastavení vliv jenom na váš RFC1918 cílový provoz. Pokud je povolená možnost Route All, budou ovlivněna všechna odchozí volání. Pokud je možnost Route All zakázaná, směrovací tabulky ovlivní jenom privátní provoz (RFC1918). Trasy nastavené v podsíti integrace neovlivní odpovědi na příchozí požadavky aplikací. Mezi běžné cíle patří zařízení brány firewall nebo brány.

Pokud chcete směrovat veškerý odchozí provoz místně, můžete použít směrovací tabulku k odesílání veškerého odchozího provozu do brány ExpressRoute. Pokud směrujete provoz do brány, nezapomeňte nastavit trasy v externí síti, aby se všechny odpovědi odeslaly zpět.

Trasy protokolu BGP (Border Gateway Protocol) také ovlivňují provoz vaší aplikace. Pokud máte trasy protokolu BGP z brány ExpressRoute, ovlivní to odchozí provoz vaší aplikace. Ve výchozím nastavení mají trasy protokolu BGP vliv jenom na váš RFC1918 cílový provoz. Pokud je vaše aplikace funkcí integrovaná s povolenou funkcí Route All, můžou být všechny odchozí přenosy ovlivněné trasami protokolu BGP.

Privátní zóny Azure DNS

Jakmile se vaše aplikace integruje s vaší virtuální sítí, použije stejný server DNS, se kterým je vaše virtuální síť nakonfigurovaná, a bude pracovat s privátními zónami Azure DNS propojenými s virtuální sítí.

Omezení účtu úložiště na virtuální síť

Poznámka:

Pokud chcete rychle nasadit aplikaci funkcí s povolenými privátními koncovými body v účtu úložiště, projděte si následující šablonu: Aplikace funkcí s privátními koncovými body Azure Storage.

Když vytváříte aplikaci funkcí, musíte vytvořit nebo propojit účet Azure Storage pro obecné účely, který podporuje službu Blob, Queue a Table Storage. Tento účet úložiště můžete nahradit účtem, který je zabezpečený pomocí koncových bodů služby nebo privátních koncových bodů.

Tato funkce je podporovaná pro všechny skladové položky virtuální sítě s Windows a Linuxem v plánu Dedicated (App Service) a pro plány Elastic Premium a také pro plán Flex Consumption. Plán Consumption se nepodporuje. Informace o nastavení funkce s účtem úložiště omezeným na privátní síť najdete v tématu Omezení účtu úložiště na virtuální síť.

Použití odkazů na službu Key Vault

Odkazy na Azure Key Vault můžete použít k používání tajných kódů ze služby Azure Key Vault ve vaší aplikaci Azure Functions, aniž byste museli měnit kód. Azure Key Vault je služba, která poskytuje centralizovanou správu tajných kódů s plnou kontrolou zásad přístupu a historií auditu.

Pokud je pro aplikaci nakonfigurovaná integrace virtuální sítě, mohou být odkazy služby Key Vault použity k načtení tajných kódů z trezoru s omezeným přístupem k síti.

Triggery virtuální sítě (jiné než HTTP)

V současné době můžete v rámci virtuální sítě používat funkce triggeru jiného typu než HTTP jedním ze dvou způsobů:

  • Spusťte aplikaci funkcí v plánu Elastic Premium a povolte podporu triggerů virtuální sítě.
  • Spusťte aplikaci funkcí v plánu Flex Consumption, plánu služby App Service nebo ve službě App Service Environment.

Plán Elastic Premium s triggery virtuální sítě

Plán Elastic Premium umožňuje vytvářet funkce aktivované službami ve virtuální síti. Tyto triggery jiného typu než HTTP se označují jako triggery virtuální sítě.

Ve výchozím nastavení triggery virtuální sítě nezpůsobí škálování vaší aplikace funkcí nad rámec jejich předem zahřátého počtu instancí. Určitá rozšíření ale podporují triggery virtuální sítě, které způsobují dynamické škálování vaší aplikace funkcí. Toto dynamické monitorování škálování můžete ve své aplikaci funkcí povolit pro podporovaná rozšíření jedním z těchto způsobů:

  1. Na webu Azure Portal přejděte do aplikace funkcí.

  2. V části Nastavení vyberte Konfigurace a potom na kartě Nastavení modulu runtime funkce nastavte Monitorování škálování modulu runtime na Zapnuto.

  3. Výběrem možnosti Uložit aktualizujte konfiguraci aplikace funkcí a restartujte aplikaci.

VNETToggle

Tip

Povolení monitorování triggerů virtuální sítě může mít vliv na výkon vaší aplikace, i když tento dopad bude pravděpodobně velmi malý.

Podpora dynamického monitorování triggerů virtuální sítě není dostupná ve verzi 1.x modulu runtime služby Functions.

Rozšíření v této tabulce podporují dynamické monitorování škálování triggerů virtuální sítě. Pokud chcete dosáhnout nejlepšího výkonu škálování, měli byste upgradovat na verze, které podporují také cílové škálování.

Rozšíření (minimální verze) Monitorování škálování modulu runtime S cílovým škálováním
Microsoft.Azure.WebJobs.Extensions.CosmosDB > 3.0.5 > 4.1.0
Microsoft.Azure.WebJobs.Extensions.DurableTask > 2.0.0 Není k dispozici
Microsoft.Azure.WebJobs.Extensions.EventHubs > 4.1.0 > 5.2.0
Microsoft.Azure.WebJobs.Extensions.ServiceBus > 3.2.0 > 5.9.0
Microsoft.Azure.WebJobs.Extensions.Storage > 3.0.10 > 5.1.0*

* Pouze queue Storage.

Důležité

Když povolíte monitorování triggerů virtuální sítě, můžou dynamicky škálovat aplikace jenom triggery pro tato rozšíření. Triggery můžete dál používat z rozšíření, která nejsou v této tabulce, ale nezpůsobí škálování nad rámec předem zahřátého počtu instancí. Úplný seznam všech rozšíření triggerů a vazeb najdete v tématu Aktivační události a vazby.

Plán služby App Service a služba App Service Environment s triggery virtuální sítě

Když se vaše aplikace funkcí spustí v plánu služby App Service nebo ve službě App Service Environment, můžete použít funkce triggeru jiného typu než HTTP. Aby se vaše funkce aktivovaly správně, musíte být připojení k virtuální síti s přístupem k prostředku definovanému v připojení triggeru.

Předpokládejme například, že chcete službu Azure Cosmos DB nakonfigurovat tak, aby přijímala provoz pouze z virtuální sítě. V takovém případě musíte aplikaci funkcí nasadit v plánu služby App Service, který poskytuje integraci virtuální sítě s touto virtuální sítí. Integrace umožňuje, aby se funkce aktivovala tímto prostředkem služby Azure Cosmos DB.

Hybridní připojení

Hybridní připojení je funkce Služby Azure Relay, kterou můžete použít pro přístup k prostředkům aplikace v jiných sítích. Poskytuje přístup z vaší aplikace ke koncovému bodu aplikace. Nemůžete ho použít pro přístup k aplikaci. Hybridní připojení jsou k dispozici pro funkce, které běží ve Windows ve všech plánech Consumption.

Jak se používá ve službě Azure Functions, každé hybridní připojení koreluje s jedním hostitelem TCP a kombinací portů. To znamená, že koncový bod hybridního připojení může být v libovolném operačním systému a jakékoli aplikaci, pokud přistupujete k portu naslouchání protokolu TCP. Funkce Hybridní připojení neví ani nezajímá, co je aplikační protokol nebo k čemu přistupujete. Jenom poskytuje přístup k síti.

Další informace najdete v dokumentaci ke službě App Service pro hybridní připojení. Stejné kroky konfigurace podporují Azure Functions.

Důležité

Hybridní připojení se podporují jenom v plánech Windows. Linux se nepodporuje.

Omezení odchozích IP adres

Omezení odchozích IP adres jsou dostupná v plánu Flex Consumption, plánu Elastic Premium, plánu služby App Service nebo ve službě App Service Environment. Pro virtuální síť, ve které je nasazená služba App Service Environment, můžete nakonfigurovat omezení odchozích přenosů.

Když integrujete aplikaci funkcí do plánu Elastic Premium nebo plánu služby App Service s virtuální sítí, může aplikace ve výchozím nastavení provádět odchozí volání na internet. Integrací aplikace funkcí s virtuální sítí s povolenou funkcí Route All vynutíte, aby se veškerý odchozí provoz odesílal do vaší virtuální sítě, kde se dají pravidla skupin zabezpečení sítě použít k omezení provozu. Pro Flex Consumption je veškerý provoz již směrován přes virtuální síť a route All není potřeba.

Informace o tom, jak řídit odchozí IP adresu pomocí virtuální sítě, najdete v kurzu : Řízení odchozíCH IP adres služby Azure Functions pomocí služby Azure Virtual Network NAT Gateway.

Automation

Následující rozhraní API umožňují programově spravovat integrace regionálních virtuálních sítí:

  • Azure CLI: Pomocí az functionapp vnet-integration příkazů můžete přidat, vypsat nebo odebrat integraci místní virtuální sítě.
  • Šablony ARM: Integraci regionální virtuální sítě je možné povolit pomocí šablony Azure Resource Manageru. Úplný příklad najdete v této šabloně rychlého startu pro Functions.

Aspekty testování

Při testování funkcí v aplikaci funkcí s privátními koncovými body musíte provést testování ze stejné virtuální sítě, například na virtuálním počítači v této síti. Pokud chcete na portálu z tohoto virtuálního počítače použít možnost Code + Test , musíte do aplikace funkcí přidat následující zdroje CORS:

  • https://functions-next.azure.com
  • https://functions-staging.azure.com
  • https://functions.azure.com
  • https://portal.azure.com

Pokud jste omezili přístup k aplikaci funkcí s privátními koncovými body nebo jakýmkoli jiným omezením přístupu, musíte také přidat značku AzureCloud služby do seznamu povolených. Aktualizace seznamu povolených položek:

  1. Přejděte do aplikace funkcí a vyberte Nastavení>sítě a pak vyberte Přístup k veřejné síti v konfiguraci>příchozího přístupu.

  2. Ujistěte se, že je přístup k veřejné síti nastavený na Povoleno z vybraných virtuálních sítí a IP adres.

  3. Přidejte pravidlo v části Přístup k webu a pravidla:

    1. Vyberte Service Tag jako typ nastavení zdroje a AzureCloud jako značku služby.

    2. Ujistěte se, že je akce Povolená, a nastavte požadovaný název a prioritu.

Řešení problému

Tato funkce je snadno nastavená, ale to neznamená, že vaše zkušenost bude bez problémů. Pokud narazíte na problémy s přístupem k požadovanému koncovému bodu, existuje několik nástrojů, které můžete použít k otestování připojení z konzoly aplikace. Můžete použít dvě konzoly. Jednou je konzola Kudu a druhá je konzola na webu Azure Portal. Ke konzole Kudu se dostanete z aplikace tak, že přejdete na Nástroje>Kudu. Ke konzole Kudo se dostanete také na adrese [název_webu].scm.azurewebsites.net. Po načtení webu přejděte na kartu Konzola ladění. Pokud se chcete z aplikace dostat do konzoly hostované na webu Azure Portal, přejděte do konzoly Nástroje>.

Nástroje

V nativních aplikacích pro Windows nástroje ping, nslookup a tracert nebudou fungovat prostřednictvím konzoly kvůli omezením zabezpečení (fungují ve vlastních kontejnerech Windows). K vyplnění void se přidají dva samostatné nástroje. K otestování funkčnosti DNS jsme přidali nástroj s názvem nameresolver.exe. Syntaxe je:

nameresolver.exe hostname [optional: DNS Server]

Pomocí nameresolveru můžete zkontrolovat názvy hostitelů, na které vaše aplikace závisí. Tímto způsobem můžete otestovat, jestli máte něco špatně nakonfigurované s DNS nebo nemáte přístup k vašemu serveru DNS. Server DNS, který vaše aplikace používá v konzole, se můžete podívat na proměnné prostředí WEBSITE_DNS_SERVER a WEBSITE_DNS_ALT_SERVER.

Poznámka:

Nástroj nameresolver.exe aktuálně nefunguje ve vlastních kontejnerech Windows.

Pomocí dalšího nástroje můžete otestovat připojení TCP k hostiteli a kombinaci portů. Tento nástroj se nazývá tcpping a syntaxe je:

tcpping.exe hostname [optional: port]

Nástroj tcpping vám řekne, jestli se můžete spojit s konkrétním hostitelem a portem. Může ukázat úspěch jenom v případě, že aplikace naslouchá v kombinaci hostitele a portu a existuje síťový přístup z vaší aplikace k zadanému hostiteli a portu.

Ladění přístupu k prostředkům hostovaným virtuální sítím

Řada věcí může vaší aplikaci zabránit v dosažení konkrétního hostitele a portu. Většinou je to jedna z těchto věcí:

  • Brána firewall je v cestě. Pokud máte bránu firewall tak, že dojde k vypršení časového limitu protokolu TCP. Časový limit protokolu TCP je v tomto případě 21 sekund. K otestování připojení použijte nástroj tcpping. Vypršení časového limitu protokolu TCP může být způsobeno mnoha věcmi mimo brány firewall, ale začněte tam.
  • DNS není přístupný. Časový limit DNS je 3 sekundy na server DNS. Pokud máte dva servery DNS, časový limit je 6 sekund. Pomocí nameresolver zjistěte, jestli DNS funguje. Nemůžete použít nslookup, protože to nepoužívá DNS, se kterou je vaše virtuální síť nakonfigurovaná. Pokud je nepřístupný, můžete mít bránu firewall nebo skupinu zabezpečení sítě blokující přístup k DNS nebo může být mimo provoz.

Pokud tyto položky neodpovídají na vaše problémy, hledejte napřed tyto věci:

Integrace místní virtuální sítě

  • Je vaším cílem adresa, která není RFC1918 a nemáte povolenou trasu Vše ?
  • Blokuje skupina zabezpečení sítě výchozí přenos dat z vaší podsítě integrace?
  • Pokud používáte Azure ExpressRoute nebo VPN, je vaše místní brána nakonfigurovaná tak, aby směrovala provoz zpět do Azure? Pokud se můžete připojit ke koncovým bodům ve virtuální síti, ale ne místně, zkontrolujte trasy.
  • Máte dostatečná oprávnění k nastavení delegování v podsíti integrace? Během konfigurace integrace místní virtuální sítě se vaše podsíť integrace deleguje na Microsoft.Web/serverFarms. Uživatelské rozhraní integrace virtuální sítě deleguje podsíť na Microsoft.Web/serverFarms automaticky. Pokud váš účet nemá dostatečná síťová oprávnění k nastavení delegování, budete potřebovat někoho, kdo může ve vaší podsíti integrace nastavit atributy, aby delegovali podsíť. Pokud chcete podsíť integrace delegovat ručně, přejděte do uživatelského rozhraní podsítě virtuální sítě Azure a nastavte delegování pro Microsoft.Web/serverFarms.

Integrace virtuální sítě vyžadovaná bránou

  • Je rozsah adres typu point-to-site v rozsahech RFC 1918 (10.0.0.0-10.255.255.255 / 172.16.16.10.0-172.31.255.255 / 192.168.0.0-192.168.255.255)?
  • Zobrazuje se brána jako na portálu? Pokud je vaše brána dole, vraťte ji zpět.
  • Zobrazují se certifikáty jako synchronizované nebo máte podezření, že došlo ke změně konfigurace sítě? Pokud vaše certifikáty nejsou synchronizované nebo máte podezření, že došlo ke změně konfigurace vaší virtuální sítě, která nebyla synchronizována s vašimi poskytovateli asPs, vyberte Možnost Synchronizovat síť.
  • Pokud procházíte přes síť VPN, je místní brána nakonfigurovaná tak, aby směrovala provoz do Azure? Pokud se můžete připojit ke koncovým bodům ve virtuální síti, ale ne místně, zkontrolujte trasy.
  • Pokoušíte se použít koexistující bránu, která podporuje point-to-site i ExpressRoute? Integrace bran koexistence se nepodporuje s integrací virtuální sítě.

Ladění problémů se sítěmi je náročné, protože nevidíte, co blokuje přístup ke konkrétní kombinaci hostitel:port. Mezi příčiny patří:

  • Na hostiteli máte bránu firewall, která brání přístupu k portu aplikace z rozsahu IP adres typu point-to-site. Přecházení podsítí často vyžaduje veřejný přístup.
  • Váš cílový hostitel je dole.
  • Vaše aplikace je dole.
  • Měli jste nesprávnou IP adresu nebo název hostitele.
  • Vaše aplikace naslouchá na jiném portu, než jste očekávali. ID procesu můžete spárovat s portem naslouchání pomocí příkazu netstat -aon na hostiteli koncového bodu.
  • Skupiny zabezpečení sítě se konfigurují tak, aby zabránily přístupu k hostiteli vaší aplikace a portu z rozsahu IP adres typu point-to-site.

Nevíte, jakou adresu vaše aplikace skutečně používá. Může to být jakákoli adresa v podsíti integrace nebo rozsahu adres typu point-to-site, takže potřebujete povolit přístup z celého rozsahu adres.

Mezi další kroky ladění patří:

  • Připojte se k virtuálnímu počítači ve virtuální síti a zkuste se připojit k hostiteli prostředků:port odtud. K otestování přístupu přes protokol TCP použijte příkaz Prostředí PowerShell Test-NetConnection. Syntaxe je:
Test-NetConnection hostname [optional: -Port]
  • Vyvolání aplikace na virtuálním počítači a otestování přístupu k danému hostiteli a portu z konzoly z vaší aplikace pomocí příkazu tcpping.

Místní prostředky

Pokud se vaše aplikace nemůže spojit s místním prostředkem, zkontrolujte, jestli se k prostředku dostanete z vaší virtuální sítě. Ke kontrole přístupu tcp použijte příkaz PowerShellu Test-NetConnection. Pokud se váš virtuální počítač nemůže spojit s vaším místním prostředkem, možná není správně nakonfigurované připojení VPN nebo ExpressRoute.

Pokud se váš virtuální počítač hostovaný virtuální sítí může spojit s místním systémem, ale vaše aplikace nemůže, příčinou je pravděpodobně jeden z následujících důvodů:

  • Vaše trasy nejsou nakonfigurované s vaší podsítí nebo rozsahy adres typu point-to-site ve vaší místní bráně.
  • Vaše skupiny zabezpečení sítě blokují přístup k rozsahu IP adres typu point-to-site.
  • Vaše místní brány firewall blokují provoz z rozsahu IP adres typu point-to-site.
  • Pokoušíte se spojit s adresou, která není adresou RFC 1918, pomocí funkce integrace regionální virtuální sítě.

Odstranění plánu služby App Service nebo webové aplikace před odpojením integrace virtuální sítě

Pokud jste nejprve odstranili webovou aplikaci nebo plán služby App Service bez odpojení integrace virtuální sítě, nebudete moct provádět žádné operace aktualizace nebo odstranění virtuální sítě nebo podsítě, které byly použity pro integraci s odstraněným prostředkem. Delegování podsítě Microsoft.Web/serverFarms zůstane přiřazené k vaší podsíti a zabrání operacím aktualizace a odstranění.

Pokud chcete provést aktualizaci nebo odstranění podsítě nebo virtuální sítě znovu, musíte znovu vytvořit integraci virtuální sítě a pak ji odpojit:

  1. Znovu vytvořte plán služby App Service a webovou aplikaci (je povinné použít stejný název webové aplikace jako předtím).
  2. Ve webové aplikaci přejděte do okna Sítě a nakonfigurujte integraci virtuální sítě.
  3. Po nakonfigurování integrace virtuální sítě vyberte tlačítko Odpojit.
  4. Odstraňte plán služby App Service nebo webovou aplikaci.
  5. Aktualizace nebo odstranění podsítě nebo virtuální sítě

Pokud po provedení výše uvedených kroků stále dochází k problémům s integrací virtuální sítě, obraťte se na podpora Microsoftu.

Řešení potíží se sítí

K řešení problémů s připojením můžete použít také poradce při potížích se sítí. Pokud chcete otevřít poradce při potížích se sítí, přejděte do aplikace na webu Azure Portal. Vyberte Diagnostiku a vyřešíte problém a vyhledejte poradce při potížích se sítí.

Problémy s připojením – Kontroluje stav integrace virtuální sítě, včetně kontroly, jestli byla privátní IP adresa přiřazena ke všem instancím plánu a nastavení DNS. Pokud není nakonfigurovaný vlastní DNS, použije se výchozí Azure DNS. Poradce při potížích také kontroluje běžné závislosti aplikace funkcí, včetně připojení pro Azure Storage a dalších závislostí vazeb.

Snímek obrazovky znázorňující spuštění poradce při potížích s připojením

Problémy s konfigurací – Tento poradce při potížích zkontroluje, jestli je vaše podsíť platná pro integraci virtuální sítě.

Snímek obrazovky znázorňující spuštění poradce při potížích s konfigurací

Problém s odstraněním podsítě nebo virtuální sítě – Tento poradce při potížích zkontroluje, jestli má vaše podsíť nějaké zámky a jestli obsahuje nepoužívané odkazy přidružení služeb, které by mohly blokovat odstranění virtuální sítě nebo podsítě.

Další kroky

Další informace o sítích a Azure Functions: