Možnosti sítě Azure Functions
21. 1. 202123 ke čteníTento článek popisuje síťové funkce dostupné v rámci možností hostování pro funkce Azure. Všechny následující možnosti sítě vám dávají určitou možnost přístupu ke zdrojům bez použití adres směrovatelných přes internet nebo omezení přístupu k internetu na funkční aplikaci.
Modely hostování mají k dispozici různé úrovně izolace sítě. Výběr toho správného vám pomůže splnit požadavky na izolaci sítě.
Aplikace funkcí můžete hostovat několika způsoby:
Můžete si vybrat z možností plánu, které běží na multitenantské infrastruktuře, s různými úrovněmi připojení k virtuální síti a možnostmi škálování: Plán spotřeby se dynamicky škáluje v závislosti na zatížení a nabízí minimální možnosti izolace sítě. Plán Premium se také dynamicky škáluje a nabízí komplexnější izolace sítě. Plán Azure App Service funguje v pevném měřítku a nabízí izolaci sítě podobnou plánu Premium. Funkce můžete spouštět v prostředí App Service. Tato metoda nasadí vaši funkci do vaší virtuální sítě a nabízí plnou kontrolu a izolaci sítě.Omezení přístupu můžete použít k definování priority -seřazený seznam IP adres, 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ě využívající koncové body služeb. Pokud existuje jeden nebo více záznamů, na konci seznamu existuje implicitní "zakázat vše". Omezení IP fungují se všemi možnostmi hostování funkcí.
Omezení přístupu jsou k dispozici ve službě Premium, Consumption a App Service.
Poznámka
Se zavedenými síťovými omezeními můžete nasadit pouze ze své virtuální sítě nebo když vložíte IP adresu počítače, který používáte pro přístup k Azure Portal, do seznamu bezpečných příjemců. 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.
Pomocí koncových bodů služeb můžete omezit přístup k vybraným podsítím virtuální sítě Azure. Chcete-li omezit přístup ke konkrétní podsíti, vytvořte pravidlo omezení s typem virtuální sítě. Poté můžete vybrat předplatné, virtuální síť a podsíť, ke které chcete povolit nebo zakázat přístup.
Pokud koncové body služby ještě nejsou povoleny s Microsoft.Web pro podsíť, kterou jste vybrali, budou automaticky povoleny, pokud nezaškrtnete políčko Ignorovat chybějící koncové body služby Microsoft.Web. Scénář, kdy možná budete chtít povolit koncové body služby v aplikaci, ale ne v podsíti, závisí hlavně na tom, zda máte oprávnění je povolit v podsíti.
Pokud potřebujete, aby koncové body služeb v podsíti povolil někdo jiný, zaškrtněte políčko Ignorovat chybějící koncové body služeb Microsoft.Web. Vaše aplikace bude nakonfigurována pro koncové body služeb v očekávání, že budou později v podsíti povoleny.
Nemůžete použít koncové body služby k omezení přístupu k aplikacím, které běží v App Service Environment. Když je vaše aplikace v prostředí App Service Environment, můžete k ní řídit přístup použitím pravidel přístupu IP.
Chcete-li se dozvědět, jak nastavit koncové body služeb, přečtěte si téma Vytvoření přístupu k soukromému webu Azure Functions.
Azure Private Endpoint je síťové rozhraní, které vás soukromě a bezpečně připojí ke službě využívající Azure Private Link. Soukromý koncový bod používá privátní IP adresu z vaší virtuální sítě, čímž efektivně přináší službu do vaší virtuální sítě.
Privátní koncový bod můžete použít pro své funkce hostované v plánech Premium a App Service.
Při vytváření příchozího připojení k privátnímu koncovému bodu pro funkce budete také potřebovat záznam DNS k vyřešení soukromé adresy. Ve výchozím nastavení se pro vás vytvoří soukromý záznam DNS při vytváření privátního koncového bodu pomocí Azure Portal.
Další informace naleznete v části Používání soukromých koncových bodů pro webové aplikace.
Chcete-li volat jiné služby, které mají připojení k privátnímu koncovému bodu, jako je úložiště nebo servisní sběrnice, nakonfigurujte aplikaci tak, aby odchozí volání do privátních koncových bodů.
Integrace virtuální sítě umožňuje vaší aplikaci Function App přistupovat ke zdrojům ve virtuální síti. Azure Functions podporuje dva druhy integrace virtuální sítě:
Systémy pro více nájemců, které podporují celou řadu cenových plánů kromě Isolated.The App Service Environment, které se nasazuje do vaší virtuální sítě a podporuje aplikace izolovaného cenového plánu.Funkce integrace virtuálních sítí se používá v aplikacích pro více nájemců. Pokud je vaše aplikace v prostředí App Service Environment, pak je již ve virtuální síti a nevyžaduje použití funkce integrace virtuální sítě k dosažení zdrojů ve stejné virtuální síti. Další informace o všech síťových funkcích najdete v části Síťové funkce App Service.
Integrace virtuální sítě poskytuje vaší aplikaci přístup ke zdrojům ve vaší virtuální síti, ale neuděluje příchozí soukromý přístup k vaší aplikaci z virtuální sítě. Přístup k soukromému webu se týká zpřístupnění aplikace pouze z privátní sítě, například z virtuální sítě Azure. Integrace virtuálních sítí se používá pouze k odchozím voláním z vaší aplikace do vaší virtuální sítě. Funkce integrace virtuálních sítí se chová odlišně, když se používá s virtuální sítí ve stejné oblasti a s virtuální sítí v jiných oblastech. Funkce integrace virtuální sítě má dvě varianty:
Integrace regionální virtuální sítě: Když se připojíte k virtuálním sítím Azure Resource Manager ve stejné oblasti, musíte mít vyhrazenou podsíť ve virtuální síti, se kterou se integrujete. Integrace virtuální sítě vyžadovaná bránou: Když se připojíte k virtuální síti v jiných oblastech nebo k klasické virtuální sítě ve stejné oblasti, potřebujete bránu virtuální sítě Azure zřízenou v cílové virtuální síti.Funkce integrace virtuální sítě:
Vyžadujte cenový plán Standard, Premium, PremiumV2, PremiumV3 nebo Elastic Premium.Podporujte TCP a UDP.Pracujte s aplikacemi Azure App Service a funkčními aplikacemi.Existují některé věci, které integrace virtuálních sítí nepodporuje, například:
Připojení jednotky.Integrace Windows Server Active Directory.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 pomocí partnerského vztahu nebo sítí VPN. Integrace virtuálních sítí vyžadovaná bránou neumožňuje přístup k prostředkům dostupným přes připojení Azure ExpressRoute ani práci s koncovými body služeb.
Bez ohledu na použitou verzi poskytuje integrace virtuální sítě vaší aplikaci přístup ke zdrojům ve vaší virtuální síti, ale neuděluje příchozí soukromý přístup k vaší aplikaci z virtuální sítě. Přístup k soukromému webu znamená zpřístupnění aplikace pouze z privátní sítě, například z virtuální sítě Azure. Integrace virtuálních sítí je určena pouze pro odchozí volání z vaší aplikace do vaší virtuální sítě.
Integrace virtuální sítě ve funkcích Azure využívá sdílenou infrastrukturu s webovými aplikacemi App Service. Chcete-li se dozvědět více o dvou typech integrace virtuální sítě, přečtěte si:
Pokud se chcete dozvědět, jak nastavit integraci virtuální sítě, přečtěte si téma Integrace funkční aplikace s virtuální sítí Azure.
Použití regionální integrace virtuálních sítí umožňuje vaší aplikaci přístup:
Prostředky ve virtuální síti ve stejné oblasti jako vaše aplikace.Prostředky ve virtuálních sítích na stejné úrovni jako vaše aplikace.Prostředky ve virtuálních sítích, se kterými je vaše aplikace integrována.Zabezpečené služby koncového bodu služby.Prostředky napříč připojeními Azure ExpressRoute.Prostředky ve virtuální síti, se kterou jste integrováni.Zdroje napříč partnerskými připojeními , které zahrnují připojení Azure ExpressRoute.Soukromé koncové bodyKdyž používáte integraci virtuálních sítí s virtuálními sítěmi ve stejné oblasti, můžete použít následující síťové funkce Azure:
Skupiny zabezpečení sítě (NSG): Můžete blokovat odchozí provoz pomocí NSG, který je umístěn ve vaší integrační podsíti. Příchozí pravidla neplatí, protože k poskytování příchozího přístupu k vaší aplikaci nelze použít integraci virtuálních sítí. Směrovací tabulky (UDR): Do integrační podsítě můžete umístit směrovací tabulku a odesílat odchozí provoz, kam chcete.Ve výchozím nastavení vaše aplikace směruje do vaší virtuální sítě pouze provoz RFC1918. Pokud chcete směrovat veškerý odchozí provoz do vaší virtuální sítě, přidejte do aplikace nastavení WEBSITE_VNET_ROUTE_ALL pomocí následujících kroků:
Přejděte do konfiguračního uživatelského rozhraní na portálu aplikace. Vyberte Nastavení nové aplikace.
Do pole Název zadejte WEBSITE_VNET_ROUTE_ALL a do pole Hodnota zadejte 1.
Vyberte OK.
Vyberte Uložit.
Poznámka
Když směrujete veškerý svůj odchozí provoz do své virtuální sítě, podléhá NSG a UDR, které se vztahují na vaši integrační podsíť. Když je WEBSITE_VNET_ROUTE_ALL nastaveno na 1, odchozí provoz na veřejné IP adresy je stále odesílán z adres, které jsou uvedeny ve vlastnostech vaší aplikace, pokud neposkytnete trasy, které provoz nasměrují jinam.
Regionální integrace virtuálních sítí nemůže používat port 25.
Při používání integrace virtuálních sítí s virtuálními sítěmi ve stejné oblasti existují určitá omezení:
Nemáte přístup ke zdrojům v rámci globálních peeringových připojení. Tato funkce je dostupná ze všech škálovatelných jednotek App Service ve verzích Premium V2 a Premium V3. Je také k dispozici ve standardu, ale pouze z novějších jednotek škálování App Service. Pokud používáte starší jednotku váhy, můžete tuto funkci používat pouze z tarifu Premium V2 App Service. Pokud se chcete ujistit, že můžete tuto funkci používat v plánu Standard App Service, vytvořte si aplikaci v plánu Premium V3 App Service. Tyto plány jsou podporovány pouze na našich nejnovějších jednotkách. Pokud si to budete přát, můžete ji poté zmenšit. Integrační podsíť může používat pouze jeden plán App Service. Tuto funkci nemohou používat aplikace izolovaného plánu, které jsou v prostředí App Service. Tato funkce vyžaduje nepoužívanou podsíť, která je /28 nebo větší ve virtuální síti Azure Resource Manager. Aplikace a virtuální síť musí být ve stejné oblasti. Virtuální síť nelze odstranit pomocí integrované aplikace. Před odstraněním virtuální sítě odeberte integraci. Můžete mít pouze jednu regionální integraci virtuální sítě na plán App Service. Více aplikací ve stejném plánu App Service může používat stejnou virtuální síť. Nemůžete změnit předplatné aplikace nebo plánu, pokud existuje aplikace, která používá regionální integraci virtuální sítě. 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. Když zřídíte podsíť, podsíť Azure ztratí od začátku pět IP adres. Pro každou instanci plánu se používá jedna adresa z integrační podsítě. Když škálujete aplikaci na čtyři instance, použijí se čtyři adresy.
Při zvětšení nebo zmenšení velikosti se požadovaný adresní prostor na krátkou dobu zdvojnásobí. To ovlivní skutečné dostupné podporované instance pro danou velikost podsítě. Následující tabulka ukazuje jak maximální dostupné adresy na blok CIDR, tak dopad, který to má na horizontální měřítko:
Velikost bloku CIDRMax. dostupné adresyMax horizontální měřítko (instance)*/28115/272713/265929*Předpokládá, že v určitém okamžiku budete muset zvětšit nebo zmenšit velikost nebo SKU.
Vzhledem k tomu, že velikost podsítě nelze po přiřazení změnit, použijte podsíť, která je dostatečně velká, aby se do ní vešlo jakékoli měřítko, které může vaše aplikace dosáhnout. Chcete-li se vyhnout problémům s kapacitou podsítě, měli byste použít /26 s 64 adresami.
Pokud chcete, aby vaše aplikace v jiném plánu dosáhly virtuální sítě, ke které je již připojena aplikace v jiném plánu, vyberte jinou podsíť, než kterou používá již existující integrace virtuálních sítí.
Tato funkce je plně podporována 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.
Regionální integrace virtuálních sítí vám umožňuje získat přístup ke službám Azure, které jsou zabezpečené koncovými body služeb. Chcete-li získat přístup ke službě zabezpečené koncovým bodem služby, musíte provést následující:
Nakonfigurujte regionální integraci virtuálních sítí s vaší webovou aplikací pro připojení ke konkrétní podsíti za účelem integrace. Přejděte do cílové služby a nakonfigurujte koncové body služby proti integrační podsíti.Můžete použít skupiny zabezpečení sítě k blokování příchozího a odchozího provozu ke zdrojům ve virtuální síti. Aplikace, která využívá regionální integraci virtuálních sítí, může pomocí skupiny zabezpečení sítě blokovat odchozí provoz do zdrojů ve vaší virtuální síti nebo na internetu. Chcete-li blokovat provoz na veřejné adresy, musíte mít nastavení aplikace WEBSITE_VNET_ROUTE_ALL nastaveno na 1. Příchozí pravidla v NSG se na vaši aplikaci nevztahují, protože integrace virtuálních sítí ovlivňuje pouze odchozí provoz z vaší aplikace.
Chcete-li řídit příchozí provoz do vaší aplikace, použijte funkci Omezení přístupu. NSG, která je aplikována na vaši integrační podsíť, je účinná bez ohledu na jakékoli trasy použité na vaši integrační podsíť. Pokud je WEBSITE_VNET_ROUTE_ALL nastaveno na 1 a nemáte žádné trasy, které ovlivňují provoz veřejných adres ve vaší integrační podsíti, veškerý váš odchozí provoz stále podléhá NSG přiřazeným k vaší integrační podsíti. Když není WEBSITE_VNET_ROUTE_ALL nastaveno, NSG se použijí pouze na provoz RFC1918.
Pomocí tabulek tras můžete směrovat odchozí provoz z aplikace kamkoli chcete. Ve výchozím nastavení mají směrovací tabulky vliv pouze na váš cílový provoz RFC1918. Když nastavíte WEBSITE_VNET_ROUTE_ALL na 1, budou ovlivněna všechna vaše odchozí volání. Trasy nastavené ve vaší integrační podsíti neovlivní odpovědi na příchozí požadavky aplikací. Mezi běžné cíle mohou patřit firewallová zařízení nebo brány.
Chcete-li směrovat veškerý odchozí provoz lokálně, můžete k odeslání veškerého odchozího provozu do brány ExpressRoute použít směrovací tabulku. Pokud směrujete provoz k bráně, ujistěte se, že jste nastavili trasy v externí síti, aby se všechny odpovědi posílaly zpět.
Trasy protokolu BGP (Border Gateway Protocol) také ovlivňují provoz vaší aplikace. Pokud máte trasy BGP z něčeho, jako je brána ExpressRoute, bude to mít vliv na odchozí provoz vaší aplikace. Trasy BGP ve výchozím nastavení ovlivňují pouze váš cílový provoz RFC1918. Když je WEBSITE_VNET_ROUTE_ALL nastaveno na 1, veškerý odchozí provoz může být ovlivněn vašimi trasami BGP.
Poté, co se vaše aplikace integruje s vaší virtuální sítí, používá stejný server DNS, se kterým je nakonfigurována vaše virtuální síť. Ve výchozím nastavení vaše aplikace nebude fungovat s privátními zónami Azure DNS. Chcete-li pracovat s privátními zónami Azure DNS, musíte přidat následující nastavení aplikace:
WEBSITE_DNS_SERVER s hodnotou 168.63.129.16WEBSITE_VNET_ROUTE_ALL s hodnotou 1Tato nastavení odesílají všechna vaše odchozí volání z vaší aplikace do vaší virtuální sítě a umožňují vaší aplikaci přístup k privátní zóně Azure DNS. S těmito nastaveními může vaše aplikace používat Azure DNS dotazem na privátní zónu DNS na úrovni pracovníka.
Pokud chcete volat na privátní koncové body, musíte se ujistit, že vaše vyhledávání DNS přechází na soukromý koncový bod. Toto chování můžete vynutit jedním z následujících způsobů:
Integrujte se s privátními zónami Azure DNS. Pokud vaše virtuální síť nemá vlastní server DNS, provádí se to automaticky. Spravujte privátní koncový bod na serveru DNS používaném vaší aplikací. Chcete-li to provést, musíte znát adresu privátního koncového bodu a poté nasměrovat koncový bod, který se pokoušíte dosáhnout, na tuto adresu pomocí záznamu A. Nakonfigurujte svůj vlastní server DNS pro předávání do privátních zón Azure DNS.Chcete-li poskytnout vyšší úroveň zabezpečení, můžete omezit řadu služeb Azure na virtuální síť pomocí koncových bodů služeb. Poté musíte integrovat svou aplikaci Function App s touto virtuální sítí, abyste získali přístup k prostředku. Tato konfigurace je podporována ve všech plánech, které podporují integraci virtuální sítě.
Další informace naleznete v části Koncové body služeb virtuální sítě.
Když vytvoříte aplikaci Function App, musíte vytvořit nebo propojit účet Azure Storage pro obecné účely, který podporuje úložiště objektů Blob, Queue a Table. Tento účet úložiště můžete nahradit účtem, který je zabezpečený koncovými body služby nebo soukromým koncovým bodem.
Tato funkce je podporována pro všechny SKU podporované virtuální sítí Windows v plánu Dedicated (App Service) a pro plány Premium. Je také podporována privátními DNS pro SKU podporované virtuální sítí Linux. Plán spotřeby a vlastní plány DNS v systému Linux nejsou podporovány. Chcete-li se dozvědět, jak nastavit funkci s účtem úložiště omezeným na soukromou síť, přečtěte si téma Omezení účtu úložiště na virtuální síť.
Reference Azure Key Vault můžete použít k použití tajných klíčů z 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 klíčů s plnou kontrolou nad zásadami přístupu a historií auditu.
Pokud je pro aplikaci nakonfigurována integrace virtuální sítě, mohou být odkazy Key Vault použity k odebrání tajných klíčů z trezoru s omezeným přístupem k síti.
V současné době můžete z virtuální sítě používat spouštěcí funkce jiné než HTTP jedním ze dvou způsobů:
Spusťte svou funkční aplikaci v plánu Premium a povolte podporu spouštění virtuální sítě. Spusťte svou funkční aplikaci v plánu App Service nebo App Service Environment.Když spustíte Premium můžete propojit spouštěcí funkce jiné než HTTP se službami, které běží uvnitř virtuální sítě. Chcete-li to provést, musíte povolit podporu spouštění virtuální sítě pro vaši aplikaci Function App. Nastavení Sledování měřítka běhu najdete na Azure Portal v části Konfigurace > Nastavení doby běhu funkcí.
Spouštěče virtuální sítě můžete povolit také pomocí následujícího příkazu Azure CLI:
az aktualizace prostředku -g-n /config/web --set properties.functionsRuntimeScaleMonitoringEnabled=1 --resource-type Microsoft.Web/sitesTip
Povolení spouštěčů virtuální sítě může mít dopad na výkon vaší aplikace, protože instance vašeho plánu App Service budou muset vaše spouštěče sledovat, aby určily, kdy je třeba škálovat. Tento dopad bude pravděpodobně velmi malý.
Virtuální síťové spouštěče jsou podporovány ve verzi 2.xa vyšší runtime funkcí. Jsou podporovány následující typy spouštěčů jiné než HTTP.
Důležité
Když povolíte podporu spouštěčů virtuální sítě, dynamicky se s vaší aplikací škálují pouze typy spouštěčů uvedené v předchozí tabulce. Stále můžete používat spouštěče, které nejsou v tabulce, ale nejsou škálovány nad rámec jejich předem zahřátého počtu instancí. Úplný seznam spouštěčů naleznete v tématu Spouštěče a vazby.
Když je vaše funkční aplikace spuštěna buď v plánu App Service, nebo App Service Environment, můžete použít jiné spouštěcí funkce než HTTP. Aby se vaše funkce spouštěly správně, musíte být připojeni k virtuální síti s přístupem k prostředku definovanému v připojení spouštěče.
Předpokládejme například, že chcete nakonfigurovat Azure Cosmos DB tak, aby přijímal provoz pouze z virtuální sítě. V tomto případě musíte nasadit svou funkční aplikaci v plánu App Service, který poskytuje integraci virtuální sítě s touto virtuální sítí. Integrace umožňuje spouštění funkce tímto prostředkem Azure Cosmos DB.
Hybridní připojení je funkce Azure Relay, kterou můžete použít k přístupu k prostředkům aplikací v jiných sítích. Poskytuje přístup z vaší aplikace ke koncovému bodu aplikace. Nemůžete jej použít pro přístup ke své aplikaci. Hybridní připojení je k dispozici pro funkce, které běží na Windows, kromě plánu spotřeby.
Jak se používá ve funkcích Azure, každé hybridní připojení koreluje s jedinou kombinací hostitele TCP a portu. To znamená, že koncový bod hybridního připojení může být na jakémkoli operačním systému a jakékoli aplikaci, pokud přistupujete k naslouchacímu portu TCP. Funkce Hybrid Connections nezná a nezajímá, jaký je aplikační protokol nebo k čemu přistupujete. Poskytuje pouze přístup k síti.
Další informace naleznete v dokumentaci App Service pro Hybrid Connections. Tyto stejné konfigurační kroky podporují Azure Functions.
Důležité
Hybridní připojení je podporováno pouze u plánů Windows. Linux není podporován.
Omezení odchozí IP adresy jsou k dispozici v prémiovém plánu, plánu App Service nebo App Service Environment. Můžete nakonfigurovat odchozí omezení pro virtuální síť, kde je nasazeno vaše prostředí App Service Environment.
Když integrujete funkční aplikaci do tarifu Premium nebo plánu App Service s virtuální sítí, aplikace může ve výchozím nastavení stále uskutečňovat odchozí hovory na internet. Přidáním nastavení aplikace WEBSITE_VNET_ROUTE_ALL=1 vynutíte odesílání veškerého odchozího provozu do vaší virtuální sítě, kde lze k omezení provozu použít pravidla skupiny zabezpečení sítě.
Pokud se chcete dozvědět, jak ovládat odchozí IP pomocí virtuální sítě, přečtěte si kurz: Řízení odchozí IP adresy Azure Functions pomocí brány NAT virtuální sítě Azure.
Následující rozhraní API vám umožňují programově spravovat integrace regionální virtuální sítě:
Nastavení této funkce je snadné, ale to neznamená, že vaše práce bude bezproblémová. Pokud narazíte na problémy s přístupem k požadovanému koncovému bodu, existují některé nástroje, které můžete použít k testování připojení z konzoly aplikace. Existují dvě konzole, které můžete použít. Jedna je konzola Kudu a druhá je konzola v Azure Portal. Chcete-li se z aplikace dostat do konzole Kudu, přejděte na Nástroje > Kudu. Ke konzoli Kudo se můžete dostat také na [sitename].scm.azurewebsites.net. Po načtení webu přejděte na kartu Konzola ladění. Chcete-li se ze své aplikace dostat do konzoly hostované portálem Azure, přejděte na Nástroje > Řídicí panel.
V nativních aplikacích pro Windows nefungují nástroje ping, nslookup a tracert prostřednictvím konzole kvůli bezpečnostním omezením (fungují ve vlastních kontejnerech Windows). K vyplnění mezery jsou přidány dva samostatné nástroje. Pro testování funkčnosti DNS jsme přidali nástroj s názvem nameresolver.exe. Syntaxe je:
nameresolver.exe hostname [volitelně: DNS Server]Můžete použít nameresolver ke kontrole názvů hostitelů, na kterých vaše aplikace závisí. Tímto způsobem můžete otestovat, zda nemáte něco špatně nakonfigurovaného v DNS nebo nemáte přístup k serveru DNS. Server DNS, který vaše aplikace používá, můžete zobrazit v konzole pohledem na proměnné prostředí WEBSITE_DNS_SERVER a WEBSITE_DNS_ALT_SERVER.
Poznámka
nameresolver.exe aktuálně nefunguje ve vlastních kontejnerech Windows.
Další nástroj můžete použít k testování připojení TCP k hostiteli a kombinaci portu. Tento nástroj se nazývá tcpping a syntaxe je:
tcpping.exe název hostitele [nepovinné: port]Obslužný program tcpping vám řekne, zda můžete dosáhnout konkrétního hostitele a portu. Může vykazovat úspěch pouze v případě, že aplikace naslouchá na kombinaci hostitele a portu a z vaší aplikace existuje síťový přístup k určenému hostiteli a portu.
Ladění přístupu ke zdrojům hostovaným ve virtuální sítiV přístupu ke konkrétnímu hostiteli a portu může vaší aplikaci zabránit řada věcí. Většinou je to jedna z těchto věcí:
V cestě stojí firewall. Pokud máte v cestě firewall, dosáhnete časového limitu TCP. Časový limit TCP je v tomto případě 21 sekund. K testování připojení použijte nástroj tcpping. Časové limity TCP mohou být způsobeny mnoha věcmi mimo 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í nameresolveru zkontrolujte, zda DNS funguje. Nemůžete použít nslookup, protože nepoužívá DNS, se kterým je nakonfigurována vaše virtuální síť. Pokud jsou nedostupné, můžete mít firewall nebo NSG blokující přístup k DNS nebo může být mimo provoz.Pokud tyto položky neřeší vaše problémy, podívejte se nejprve na věci jako:
Regionální integrace virtuálních sítí
Je vaším cílem jiná adresa než RFC1918 a nemáte povoleno Route All?Existuje NSG blokující výstup z vaší integrační podsítě?Pokud přecházíte přes Azure ExpressRoute nebo VPN, je vaše místní brána nakonfigurována tak, aby směrovala provoz zálohovat do Azure? Pokud můžete dosáhnout koncových bodů ve vaší virtuální síti, ale ne místní, zkontrolujte své trasy. Máte dostatečná oprávnění k nastavení delegování v integrační podsíti? Během konfigurace regionální integrace virtuálních sítí je vaše integrační podsíť delegována na Microsoft.Web/serverFarms. Uživatelské rozhraní integrace virtuálních 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 nastavit atributy ve vaší integrační podsíti, aby delegoval podsíť. Chcete-li ručně delegovat podsíť integrace, přejděte do uživatelského rozhraní podsítě Azure Virtual Network 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 rozsahu RFC 1918 (10.0.0.0-10.255.255.255 / 172.16.0.0-172.31.255.255 / 192.168.0.0-192.165.255 nahoru na bráně)? ? Pokud je vaše brána mimo provoz, obnovte ji. Zobrazují se certifikáty jako synchronizované, nebo máte podezření, že konfigurace sítě byla změněna? Pokud vaše certifikáty nejsou synchronizované nebo máte podezření, že byla provedena změna ve vaší virtuální síti konfiguraci, která nebyla synchronizována s vašimi ASP, vyberte Sync Network. Pokud používáte VPN, je místní brána nakonfigurována tak, aby směrovala provoz zpět do Azure? Pokud můžete dosáhnout koncových bodů ve vaší virtuální síti, ale ne místní, zkontrolujte své trasy. Pokoušíte se použít bránu koexistence, která podporuje point-to-site i ExpressRoute? Brány koexistence nejsou podporovány integrací virtuálních sítí.Ladění problémů se sítí je problém, protože nevidíte, co blokuje přístup ke konkrétní kombinaci hostitel:port. Některé příčiny zahrnují:
Na svém hostiteli máte firewall, který brání přístupu k aplikačnímu portu z vašeho rozsahu IP typu point-to-site. Křížení podsítí často vyžaduje veřejný přístup.Váš cílový hostitel je mimo provoz.Vaše aplikace nefunguje.Měli jste špatnou IP nebo název hostitele.Vaše aplikace naslouchá na jiném portu, než jste očekávali. Své ID procesu můžete porovnat s naslouchajícím portem pomocí „netstat -aon“ na hostiteli koncového bodu. Skupiny zabezpečení vaší sítě jsou nakonfigurovány tak, že brání přístupu k hostiteli vaší aplikace a portu z vaší IP adresy typu point-to-site. rozsah.Nevíte, jakou adresu vaše aplikace skutečně používá. Může to být jakákoli adresa v integrační podsíti nebo rozsahu adres typu point-to-site, takže musíte povolit přístup z celého rozsahu adres.
Další kroky ladění zahrnují:
Připojte se k virtuálnímu počítači ve vaší virtuální síti a pokuste se odtud dostat k hostiteli:port prostředku. Chcete-li otestovat přístup TCP, použijte příkaz PowerShell test-netconnection. Syntaxe je:test-netconnection název hostitele [volitelné: -Port]Spusťte aplikaci na virtuálním počítači a otestujte přístup k tomuto hostiteli a portu z konzoly z vaší aplikace pomocí tcpping.On-premises resourcesPokud to vaše aplikace umí Pokud nechcete dosáhnout místního zdroje, zkontrolujte, zda můžete dosáhnout zdroje ze své virtuální sítě. Ke kontrole přístupu TCP použijte příkaz test-netconnection PowerShell. Pokud váš virtuální počítač nemůže dosáhnout vašeho místního prostředku, vaše připojení VPN nebo ExpressRoute nemusí být správně nakonfigurováno.
Pokud se váš virtuální počítač hostovaný ve virtuální síti může dostat k vašemu místnímu systému, ale vaše aplikace nikoli, příčinou je pravděpodobně jeden z následujících důvodů:
Vaše trasy nejsou nakonfigurovány pomocí rozsahů adres podsítě nebo typu point-to-site v místní bráně. Skupiny zabezpečení sítě blokují přístup pro váš rozsah IP typu point-to-site. Vaše místní brány firewall blokují provoz z váš rozsah IP adres typu point-to-site.Pokoušíte se dosáhnout adresy jiné než RFC 1918 pomocí funkce regionální integrace virtuálních sítí.Další informace o sítích a funkcích Azure: