Možnosti sítí Azure Functions

Tento článek popisuje síťové funkce, které jsou dostupné napříč možnostmi hostování pro Azure Functions. Všechny následující možnosti sítě poskytují uživatelům přístup k prostředkům bez nutnosti adresování prostřednictvím Internetu nebo omezení přístupu k Internetu do aplikace Function App.

Modely hostování mají k dispozici různé úrovně izolace sítě. Výběr správného řešení vám pomůže splnit požadavky na izolaci sítě.

Aplikace Function App můžete hostovat několika způsoby:

  • Můžete si vybrat z možností plánu, které běží na víceklientské infrastruktuře s různými úrovněmi připojení a možností škálování virtuální sítě:
    • Plán spotřeby se dynamicky škáluje v reakci na načtení a nabízí minimální možnosti izolace sítě.
    • Plán Premium se také dynamicky škáluje a nabízí komplexnější izolaci sítě.
    • Plán Azure App Service pracuje s pevnou škálou a nabízí izolaci sítě podobnou plánu Premium.
  • Funkce můžete spouštět v App Service Environment. Tato metoda nasadí vaši funkci do vaší virtuální sítě a nabízí kompletní řízení a izolaci sítě.

Matice síťových funkcí

Funkce Plán Consumption Plán Premium Plán Dedicated ASE Kubernetes
Omezení příchozí IP adresy a přístup k privátnímu webu ✅Yes ✅Yes ✅Yes ✅Yes ✅Yes
Integrace virtuální sítě ❌No ✅Ano (místní) ✅Ano (místní a brána) ✅Yes ✅Yes
Aktivační události virtuální sítě (jiné než HTTP) ❌No ✅Yes ✅Yes ✅Yes ✅Yes
Hybridní připojení (jenom Windows) ❌No ✅Yes ✅Yes ✅Yes ✅Yes
Omezení odchozích IP adres ❌No ✅Yes ✅Yes ✅Yes ✅Yes

Omezení přístupu pro příchozí přístup

Pomocí omezení přístupu můžete definovat seznam IP adres uspořádaných podle priority, které mají povolený nebo odepřený přístup k vaší aplikaci. Seznam může zahrnovat IPv4 a IPv6 adresy nebo konkrétní podsítě virtuální sítě pomocí koncových bodů služby. Pokud existuje aspoň jedna položka, na konci seznamu už existuje implicitní "Odepřít vše". Omezení protokolu IP fungují se všemi možnostmi hostování funkcí.

Omezení přístupu jsou k dispozici v rámci prémií, spotřebya App Service.

Poznámka

Se síťovými omezeními se dá nasadit jenom z vaší virtuální sítě, nebo když IP adresu počítače, který používáte, přistupujete k Azure Portal v seznamu bezpečných příjemců. Tuto funkci však stále můžete spravovat pomocí portálu.

Další informace najdete v tématu omezení statického přístupu Azure App Service.

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

Pomocí koncových bodů služby můžete omezit přístup k vybraným podsítím virtuální sítě Azure. Chcete-li omezit přístup k určité podsíti, vytvořte pravidlo omezení s typem Virtual Network . Pak můžete vybrat předplatné, virtuální síť a podsíť, pro které chcete povolit nebo odepřít přístup.

Pokud koncové body služby již nejsou povoleny s Microsoft. Web pro vybranou podsíť, budou automaticky povoleny, pokud nevyberete zaškrtávací políčko ignorovat chybějící koncové body Microsoft. Web Service . Scénář, ve kterém možná budete chtít povolit koncové body služby, ale ne podsíť, závisí hlavně na tom, jestli máte oprávnění k jejich povolení v podsíti.

Pokud k povolení koncových bodů služby v podsíti potřebujete někoho jiného, zaškrtněte políčko Ignorovat koncové body Microsoft. Web Service . Vaše aplikace se nakonfiguruje pro koncové body služby při předvídání, že jsou povolené později v podsíti.

Snímek obrazovky s vybraným typem Virtual Network v podokně Přidat omezení IP adres

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

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

Připojení privátního koncového bodu

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ě.

Pro své funkce hostované v plánech Premium a App Service můžete použít soukromý koncový bod.

Když vytváříte příchozí připojení privátního koncového bodu pro funkce, budete k překladu privátní adresy potřebovat záznam DNS. Ve výchozím nastavení se při vytváření privátního koncového bodu pomocí Azure Portal vytvoří privátní záznam 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 Service Bus, je nutné nakonfigurovat aplikaci tak, aby odchozí volání do soukromých koncových bodů.

Integrace virtuální sítě

Integrace virtuální sítě umožňuje aplikacím Function App přistupovat k prostředkům v rámci virtuální sítě. Azure Functions podporuje dva druhy integrace virtuální sítě:

  • Víceklientské systémy, které podporují celou škálu cenových plánů s výjimkou izolovaného.
  • App Service Environment, který se nasadí do vaší virtuální sítě a podporuje aplikace izolovaného cenového plánu.

Funkce integrace virtuální sítě se používá ve víceklientské aplikacích. Pokud je vaše aplikace v App Service Environment, pak už je ve virtuální síti a nevyžaduje použití funkce integrace virtuální sítě k přístupu k prostředkům ve stejné virtuální síti. Další informace o všech funkcích sítě najdete v tématu App Service síťové funkce.

Integrace virtuální sítě poskytuje vaší aplikaci přístup k prostředkům ve vaší virtuální síti, ale neuděluje příchozímu privátnímu přístupu do vaší aplikace z virtuální sítě. Přístup k privátnímu webu znamená, že aplikace je přístupná jenom z privátní sítě, například z Azure Virtual Network. Integrace virtuální sítě se používá jenom pro odchozí volání z vaší aplikace do vaší virtuální sítě. Funkce integrace virtuální sítě se chová odlišně, když se používá u virtuální sítě ve stejné oblasti a virtuální síti v jiných oblastech. Funkce integrace virtuální sítě má dvě varianty:

  • Místní integrace virtuální sítě: když se připojíte k Azure Resource Manager virtuální sítě ve stejné oblasti, musíte mít ve virtuální síti, ve které se integruje, vyhrazenou podsíť.
  • Brána – požadovaná integrace virtuální sítě: když se připojíte k virtuální síti v jiných oblastech nebo k klasické virtuální síti ve stejné oblasti, budete potřebovat bránu Azure Virtual Network zřízenou v cílové síti VNET.

Funkce integrace virtuální sítě:

  • Vyžadovat cenové tarify Standard, Premium, PremiumV2, PremiumV3 nebo elastické Premium
  • Podporují protokoly TCP a UDP.
  • Pracujte s Azure App Service aplikacemi a aplikacemi Function App.

Integrace virtuální sítě nepodporují, třeba:

  • Připojování jednotky.
  • Integrace služby Active Directory.
  • Názv.

Brána – požadovaná integrace virtuální sítě poskytuje přístup k prostředkům jenom v cílové virtuální síti nebo v sítích připojených k cílové síti VNet s partnerským vztahem nebo VPN. Brána – požadovaná integrace virtuální sítě nepovoluje přístup k prostředkům dostupným v rámci připojení Azure ExpressRoute nebo při práci s koncovými body služby.

Bez ohledu na použitou verzi poskytuje integrace virtuální sítě přístup k prostředkům ve vaší virtuální síti, ale neuděluje příchozímu privátnímu přístupu do vaší aplikace z virtuální sítě. Přístup k soukromému webu znamená, že vaše aplikace bude přístupná jenom z privátní sítě, například z virtuální sítě Azure. Integrace virtuální sítě je jenom pro odchozí volání z vaší aplikace do vaší virtuální sítě.

Integrace virtuální sítě v Azure Functions používá sdílenou infrastrukturu s App Service webovými aplikacemi. Další informace o těchto dvou typech integrace virtuální sítě najdete v následujících tématech:

Informace o tom, jak nastavit integraci virtuální sítě, najdete v tématu integrace aplikace Function App s virtuální sítí Azure.

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

Použití místní integrace virtuální sítě umožňuje aplikacím přístup k těmto akcím:

  • Prostředky ve virtuální síti ve stejné oblasti jako vaše aplikace.
  • Prostředky v virtuální sítě s partnerským vztahem k virtuální síti, do které je vaše aplikace integrovaná.
  • Zabezpečené služby koncového bodu služby.
  • Prostředky v rámci připojení Azure ExpressRoute.
  • Prostředky ve virtuální síti, do které jste integraci.
  • Prostředky napříč partnerskými připojeními, mezi které patří připojení Azure ExpressRoute.
  • Privátní koncové body

Když použijete integraci virtuální sítě s virtuální sítě ve stejné oblasti, můžete použít tyto funkce sítě Azure:

  • Skupiny zabezpečení sítě (skupin zabezpečení sítě): můžete blokovat odchozí přenos pomocí NSG, 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 zajištění příchozího přístupu do vaší aplikace.
  • Směrovací tabulky (udr): můžete umístit směrovací tabulku do podsítě Integration pro odeslání odchozího provozu tam, kde chcete.

Ve výchozím nastavení vaše aplikace směruje jenom RFC1918 provoz do vaší virtuální sítě. Pokud chcete směrovat veškerý odchozí provoz do vaší virtuální sítě, použijte následující postup a přidejte WEBSITE_VNET_ROUTE_ALL nastavení do aplikace:

  1. Na portálu aplikací přejdete na uživatelské rozhraní Konfigurace . Vyberte Nové nastavení aplikace.

  2. WEBSITE_VNET_ROUTE_ALLDo pole název zadejte a zadejte 1 hodnotu do pole hodnota.

    Zadat nastavení aplikace

  3. Vyberte OK.

  4. Vyberte Uložit.

Poznámka

Při směrování veškerého odchozího provozu do virtuální sítě se vztahují na skupin zabezpečení sítě a udr, které se vztahují k vaší podsíti integrace. Pokud WEBSITE_VNET_ROUTE_ALL je nastavená na 1 , odchozí přenosy se pořád odesílají z adres, které jsou uvedené ve vlastnostech vaší aplikace, pokud nezadáte trasy, které směrují provoz na jiné místo.

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

Při použití integrace virtuální sítě s virtuální sítě ve stejné oblasti je potřeba mít určitá omezení:

  • Nemůžete se připojit k prostředkům napříč globálními připojeními partnerských vztahů.
  • Tato funkce je dostupná ze všech jednotek škálování App Service v Premium v2 a Premium v3. Je dostupná taky standardně, ale jenom z novějších jednotek škálování App Service. Pokud používáte starší jednotku škálování, můžete ji použít jenom z plánu Premium v2 App Service. Pokud se chcete ujistit, že můžete používat funkci v plánu Standard App Service, vytvořte svou aplikaci v plánu App Service Premium v3. Tyto plány jsou podporované jenom na našich nejnovějších jednotkách škálování. V případě potřeby můžete horizontální navýšení kapacity snížit.
  • Podsíť Integration můžete použít jenom v jednom plánu App Service.
  • Tuto funkci nemůžou používat aplikace pro izolované plánování, které jsou ve App Service Environment.
  • Tato funkce vyžaduje nepoužitou podsíť, která je ve virtuální síti Azure Resource Manager a/28 nebo větší.
  • Aplikace a virtuální síť musí být ve stejné oblasti.
  • Virtuální síť nejde odstranit pomocí integrované aplikace. Před odstraněním virtuální sítě odeberte integraci.
  • Pro každý App Service plán můžete mít jenom jednu místní integraci virtuální sítě. Víc aplikací ve stejném plánu App Service může používat stejnou virtuální síť.
  • Pokud máte aplikaci, která používá místní integraci virtuální sítě, nemůžete změnit předplatné aplikace ani plán.
  • Vaše aplikace nemůže překládat adresy v Azure DNS Private Zones bez změny konfigurace.

Integrace virtuální sítě závisí na vyhrazené podsíti. Při zřizování podsítě neztratí podsíť Azure pět IP adres od začátku. Jedna adresa se používá z podsítě integrace pro každou instanci plánu. Při škálování aplikace na čtyři instance se použijí čtyři adresy.

Při horizontálním navýšení nebo zmenšení kapacity se požadovaný adresní prostor zdvojnásobí na krátkou dobu. To má vliv na reálné, dostupné podporované instance pro danou velikost podsítě. Následující tabulka uvádí maximální počet dostupných adres na jeden blok CIDR a 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)*
za 28 11 5
/27 27 13
za 26 59 29

*Předpokládá, že v určitém okamžiku budete muset horizontální navýšení nebo snížení kapacity v libovolné velikosti nebo SKU.

Vzhledem k tomu, že velikost podsítě po přiřazení nejde změnit, používejte dostatečně velkou podsíť, která bude vyhovovat libovolné škále aplikace, ke které může dojít. Abyste se vyhnuli jakýmkoli problémům s kapacitou podsítě, měli byste použít adresy 64 a/26.

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

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

Koncové body služby

Místní integrace virtuální sítě umožňuje přístup ke službám Azure, které jsou zabezpečené pomocí koncových bodů služby. Chcete-li získat přístup ke službě zabezpečeného koncovému bodu služby, je nutné provést následující akce:

  1. Nakonfigurujte místní integraci virtuální sítě s vaší webovou aplikací tak, aby se připojovala k určité podsíti pro integraci.
  2. Přejít na cílovou službu a nakonfigurovat koncové body služby proti podsíti Integration.

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 používat skupinu zabezpečení sítě k blokování odchozího provozu do prostředků ve vaší virtuální síti nebo v Internetu. Pro blokování provozu na veřejné adresy musíte mít nastavení aplikace WEBSITE_VNET_ROUTE_ALL nastavené na 1 . Příchozí pravidla ve NSG se nevztahují na vaši aplikaci, protože integrace virtuální sítě má vliv jenom na odchozí přenosy z vaší aplikace.

K řízení příchozího provozu do aplikace použijte funkci omezení přístupu. NSG, který se používá pro vaši podsíť integrace, je v platnosti bez ohledu na to, jaké trasy se v podsíti pro integraci nastavily. Pokud WEBSITE_VNET_ROUTE_ALL je nastavená na 1 a nemáte žádné trasy, které by ovlivnily provoz veřejných adres v podsíti Integration, veškerý odchozí provoz se pořád řídí skupin zabezpečení sítě přiřazeným vaší podsíti integrace. Pokud WEBSITE_VNET_ROUTE_ALL není nastavená, skupin zabezpečení sítě se aplikují jenom na RFC1918 provoz.

Trasy

Směrovací tabulky můžete použít ke směrování odchozího provozu z vaší aplikace do libovolného, kdykoli potřebujete. Ve výchozím nastavení mají směrovací tabulky vliv jenom na váš cílový provoz RFC1918. Když nastavíte WEBSITE_VNET_ROUTE_ALL , bude to 1 mít vliv na všechna odchozí volání. Trasy, které jsou nastavené ve vaší podsíti Integration, neovlivní odpovědi na příchozí žádosti o aplikace. Mezi běžné cíle můžou patřit zařízení firewallu nebo brány.

Pokud chcete směrovat veškerý odchozí provoz do místní sítě, můžete k posílání všech odchozích přenosů do brány ExpressRoute použít směrovací tabulku. Pokud provedete směrování provozu do brány, nezapomeňte nastavit trasy v externí síti pro posílání odpovědí zpět.

Trasy Border Gateway Protocol (BGP) ovlivňují také přenosy aplikací. Pokud máte trasy protokolu BGP z nějakého, jako je brána ExpressRoute, ovlivní se tím odchozí přenosy aplikací. Ve výchozím nastavení mají trasy protokolu BGP vliv jenom na váš cílový provoz RFC1918. Když WEBSITE_VNET_ROUTE_ALL je nastavená na 1 , všechny odchozí přenosy můžou být ovlivněné vašimi TRASAMI protokolu BGP.

Azure DNS privátní zóny

Jakmile se vaše aplikace integruje s vaší virtuální sítí, používá stejný server DNS, se kterým je nakonfigurovaná vaše virtuální síť. Ve výchozím nastavení vaše aplikace nebude fungovat se Azure DNS privátními zónami. Chcete-li pracovat s Azure DNS privátní zóny, je nutné přidat následující nastavení aplikace:

  1. WEBSITE_DNS_SERVER s hodnotou 168.63.129.16
  2. WEBSITE_VNET_ROUTE_ALL s hodnotou 1

Tato nastavení odesílají všechna odchozí volání z vaší aplikace do vaší virtuální sítě a umožňují vaší aplikaci přístup k Azure DNS privátní zóně. Pomocí těchto nastavení může vaše aplikace používat Azure DNS dotazem na soukromou zónu DNS na úrovni pracovního procesu.

Privátní koncové body

Pokud chcete provést volání privátních koncových bodů, je nutné zajistit, aby se vyhledávání DNS přeložilo na soukromý koncový bod. Toto chování můžete vyhovět jedním z následujících způsobů:

  • Integrace s Azure DNS privátní zóny. Pokud vaše virtuální síť nemá vlastní server DNS, provede se to automaticky.
  • Spravujte privátní koncový bod na serveru DNS, který používá vaše aplikace. K tomu je potřeba znát adresu privátního koncového bodu a potom koncový bod, ke kterému se pokoušíte připojit, použít záznam A.
  • Nakonfigurujte si vlastní server DNS pro přeposílání na Azure DNS privátní zóny.

Připojit k zabezpečeným prostředkům koncového bodu služby

Pokud chcete zajistit vyšší úroveň zabezpečení, můžete omezit počet služeb Azure na virtuální síť pomocí koncových bodů služby. Abyste mohli získat přístup k prostředku, musíte aplikaci Function App integrovat s touto virtuální sítí. Tato konfigurace je podporovaná ve všech plánech , které podporují integraci virtuálních sítí.

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

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

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

Tato funkce v současné době funguje pro všechny SKU podporované virtuální sítě Windows ve vyhrazeném (App Service) plánu a plánu Premium. Plán spotřeby se nepodporuje. Informace o tom, jak nastavit funkci 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

Můžete použít Azure Key Vault odkazy na používání tajných kódů z Azure Key Vault v aplikaci Azure Functions bez nutnosti změny kódu. 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.

V současné době Key Vault odkazy nebudou fungovat, pokud je Trezor klíčů zabezpečený pomocí koncových bodů služby. Pokud se chcete připojit k trezoru klíčů pomocí integrace virtuální sítě, musíte volat Key Vault v kódu aplikace.

Aktivační události virtuální sítě (jiné než HTTP)

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

  • Spusťte aplikaci Function App v plánu Premium a aktivujte podporu triggeru virtuální sítě.
  • Spusťte aplikaci Function App v plánu App Service nebo App Service Environment.

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

Když spustíte plán Premium, můžete připojit funkce triggeru jiného typu než HTTP ke službám, které běží ve virtuální síti. K tomu musíte povolit podporu triggeru virtuální sítě pro vaši aplikaci Function App. Nastavení monitorování škály běhového prostředí najdete v Azure Portal v části > nastavení modulu runtime konfigurační funkce.

VNETToggle

Aktivační události virtuální sítě taky můžete povolit pomocí následujícího příkazu Azure CLI:

az resource update -g <resource_group> -n <function_app_name>/config/web --set properties.functionsRuntimeScaleMonitoringEnabled=1 --resource-type Microsoft.Web/sites

Tip

Povolení triggerů virtuální sítě může mít vliv na výkon vaší aplikace, protože instance App Service plánu budou potřebovat monitorovat triggery a určit, kdy se má škálovat. Tento dopad pravděpodobně bude velmi malý.

Aktivační události virtuální sítě se podporují ve verzi 2. x a novějších modulech runtime Functions. Jsou podporovány následující typy triggerů bez protokolu HTTP.

Linka Minimální verze
Microsoft. Azure. WebJobs. Extensions. Storage 3.0.10 nebo vyšší
Microsoft. Azure. WebJobs. Extensions. EventHubs 4.1.0 nebo vyšší
Microsoft. Azure. WebJobs. Extensions. ServiceBus 3.2.0 nebo vyšší
Microsoft. Azure. WebJobs. Extensions. CosmosDB 3.0.5 nebo vyšší
Microsoft. Azure. WebJobs. Extensions. DurableTask 2.0.0 nebo vyšší

Důležité

Pokud povolíte podporu triggeru virtuální sítě, budou se svou aplikací dynamicky škálovat jenom typy triggerů, které se zobrazují v předchozí tabulce. Stále můžete použít triggery, které nejsou v tabulce, ale nejsou škálované nad rámec jejich předem zavedených instancí. Úplný seznam aktivačních událostí najdete v tématu triggery a vazby.

App Service plánování a App Service Environment s triggery virtuální sítě

Když aplikace Function App běží buď v plánu App Service, nebo v App Service Environment, můžete použít funkce triggeru jiného typu než HTTP. Aby se 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 nakonfigurovat Azure Cosmos DB pro příjem provozu pouze z virtuální sítě. V takovém případě musíte aplikaci Function App nasadit v plánu App Service, který poskytuje integraci virtuální sítě s touto virtuální sítí. Integrace umožňuje, aby se aktivovala funkce tohoto Azure Cosmos DB prostředku.

Hybridní připojení

Hybrid Connections je funkce Azure Relay, kterou můžete použít pro přístup k prostředkům aplikací 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 dostupná pro funkce, které běží ve Windows ve všech kromě plánu Consumption.

Jak se používá Azure Functions, každé hybridní připojení koreluje s jednou kombinací hostitele a portu TCP. 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í tcp. Funkce Hybridní připojení neví nebo se stará o to, co je aplikační protokol nebo k čemu přistupujete. Poskytuje jenom přístup k síti.

Další informace najdete v dokumentaci App Service pro hybridní připojení. Stejný postup konfigurace podporuje 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 k dispozici v plánu Premium, App Service plánu nebo App Service Environment. Pro virtuální síť, ve které je nasazená vaše virtuální síť, App Service Environment omezení odchozích přenosů.

Když integrujte aplikaci funkcí do plánu Premium nebo plánu App Service s virtuální sítí, může i nadále ve výchozím nastavení provádět odchozí volání do internetu. Přidáním nastavení aplikace vynutíte odeslání veškerého odchozího provozu do vaší virtuální sítě, kde je možné pomocí pravidel skupiny zabezpečení sítě omezit WEBSITE_VNET_ROUTE_ALL=1 provoz.

Informace o tom, jak řídit odchozí IP adresu pomocí virtuální sítě, najdete v tématu Kurz: Azure Functions odchozí IP adresy pomocí brány NAT virtuální sítě Azure.

Automation

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

Řešení potíží

Tato funkce se snadno nastavuje, ale to neznamená, že vaše prostředí bude mít problém zdarma. Pokud narazíte na problémy s přístupem k požadovanému koncovému bodu, můžete použít k otestování připojení z konzoly aplikace některé nástroje. Můžete použít dvě konzoly. Jedním z nich je konzola Kudu a druhá je konzola v Azure Portal. Pokud se chcete připojit ke konzole Kudu z vaší aplikace, navštivte Nástroj nástroje > Kudu. Ke konzole Kudo se můžete dostat i na adrese [název_webu]. SCM. azurewebsites. NET. Po načtení webu přejdete na kartu ladit konzolu . Pokud se chcete dostat do konzoly hostované pro Azure Portal z vaší aplikace, pokračujte v > konzole nástroje.

nástroje

V nativních aplikacích pro Windows nebudou nástroje příkazového testu, příkazy nslookup a tracert fungovat prostřednictvím konzoly z důvodu omezení zabezpečení (pracují ve vlastních kontejnerech Windows). K vyplnění void se přidají dva samostatné nástroje. K otestování funkcí DNS jsme přidali nástroj s názvem nameresolver.exe. Syntaxe je:

nameresolver.exe hostname [optional: DNS Server]

Nameresolver můžete použít ke kontrole názvů hostitelů, na kterých vaše aplikace závisí. Tímto způsobem můžete testovat, jestli máte nějaké nesprávně nakonfigurované služby DNS nebo možná nemáte přístup k vašemu serveru DNS. Server DNS, který vaše aplikace používá, můžete zobrazit v konzole nástroje tak, že prohlížíte proměnné prostředí WEBSITE_DNS_SERVER a WEBSITE_DNS_ALT_SERVER.

Poznámka

nameresolver.exe v současnosti nefungují v vlastních kontejnerech Windows.

K otestování připojení TCP k hostitelskému a kombinaci portů můžete použít další nástroj. Tento nástroj se nazývá tcpping a syntaxe je:

tcpping.exe hostname [optional: port]

Nástroj tcpping vám oznamuje, jestli můžete kontaktovat konkrétního hostitele a port. Může zobrazit úspěch pouze v případě, že aplikace naslouchá na kombinaci hostitelů a portu a má přístup k síti z vaší aplikace na zadaného hostitele a port.

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

Řada věcí může zabránit tomu, aby vaše aplikace dosáhla konkrétního hostitele a portu. Ve většině případů se jedná o jednu z těchto věcí:

  • Brána firewall je v cestě. Pokud máte bránu firewall způsobem, zasáhnete časový limit TCP. V tomto případě je časový limit TCP 21 sekund. K otestování připojení použijte nástroj tcpping . Vypršení časových limitů TCP může být způsobeno počtem věcí mimo brány firewall, ale začněte.
  • Služba 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 můžete zjistit, jestli služba DNS funguje. Nástroj Nslookup nemůžete použít, protože nepoužívá službu DNS, pro kterou je nakonfigurovaná vaše virtuální síť. Pokud je nepřístupná, můžete mít bránu firewall nebo NSG blokující přístup k DNS nebo může být vypnutá.

Pokud tyto položky neodpovídají na vaše problémy, podívejte se na první věci:

Místní integrace virtuální sítě

  • Je vaše cílové místo na RFC1918 adrese a nemáte WEBSITE_VNET_ROUTE_ALL nastavené na 1?
  • Existuje NSG blokující výstup z podsítě integrace?
  • Pokud pracujete v rámci Azure ExpressRoute nebo VPN, je místní brána nakonfigurovaná tak, aby směrovala provoz zpět do Azure? Pokud máte přístup k koncovým bodům ve vaší virtuální síti, ale ne v místním prostředí, Projděte si své trasy.
  • Máte dostatečná oprávnění k nastavení delegování v podsíti Integration? Během konfigurace integrace místní virtuální sítě je vaše podsíť integrace delegovaná na Microsoft. Web/serverových farem. Rozhraní Integration UI virtuální sítě deleguje podsíť do Microsoftu. Web/serverových farem automaticky. Pokud váš účet nemá dostatečná síťová oprávnění k nastavení delegování, budete potřebovat někoho, kdo může nastavit atributy v podsíti Integration pro delegování podsítě. Pokud chcete integrační podsíť manuálně delegovat, vyhledejte v uživatelském rozhraní podsítě Azure Virtual Network a nastavte delegování pro Microsoft. Web/serverových farem.

Brána – požadovaná integrace virtuální sítě

  • Je rozsah adres Point-to-site v rozsahu RFC 1918 (10.0.0.0-10.255.255.255/172.16.0.0-172.31.255.255/192.168.0.0-192.168.255.255)?
  • Zobrazuje se brána na portálu? Pokud vaše brána nefunguje, přeneste ji do záložního prostředí.
  • Zobrazují se certifikáty jako synchronizované nebo se domníváte, že se změnila 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 synchronizovaná s vaší ASP, vyberte synchronizovat síť.
  • Pokud pracujete v rámci sítě VPN, je místní brána nakonfigurovaná pro směrování provozu zpět do Azure? Pokud máte přístup k koncovým bodům ve vaší virtuální síti, ale ne v místním prostředí, Projděte si své trasy.
  • Pokoušíte se použít bránu koexistence, která podporuje obě body na lokalitu a ExpressRoute? Pro integraci virtuální sítě se nepodporují brány koexistence.

Ladění problémů se sítí je problém, protože nemůžete zjistit, co blokuje přístup k určitému hostiteli: kombinace portů. Mezi některé příčiny patří:

  • Máte bránu firewall na hostiteli, která brání přístupu k portu aplikace z rozsahu IP adres typu Point-to-site. Překročení podsítí často vyžaduje veřejný přístup.
  • Cílový hostitel nefunguje.
  • Vaše aplikace je mimo provoz.
  • 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 porovnat s portem naslouchání pomocí příkazu netstat-aon na hostiteli koncového bodu.
  • Vaše skupiny zabezpečení sítě jsou nakonfigurovány tak, aby bránily přístupu k hostiteli a portu vaší aplikace 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 rozsah adres Point-to-site, takže je potřeba umožnit 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 pokuste se připojit k hostiteli prostředků: port. K otestování přístupu TCP použijte příkaz PowerShellu test-NetConnection. Syntaxe je:
test-netconnection hostname [optional: -Port]
  • Zaveďte aplikaci na virtuální počítač a otestujte přístup k tomuto hostiteli a portu z konzoly z vaší aplikace pomocí tcpping.

Místní prostředky

Pokud se vaše aplikace nemůže připojit k místnímu prostředku, ověřte, jestli se můžete spojit s prostředkem z vaší virtuální sítě. K ověření přístupu TCP použijte příkaz prostředí PowerShell test-NetConnection . Pokud se váš virtuální počítač nemůže připojit k místnímu prostředku, připojení VPN nebo ExpressRoute možná není správně nakonfigurované.

Pokud se virtuální počítač hostovaný virtuální sítí může dostat k vašemu místnímu systému, ale vaše aplikace nemůže, příčinou může být jeden z následujících důvodů:

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

Další kroky

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