Funkce App Service sítěApp Service networking features

Aplikace můžete nasadit v Azure App Service několika způsoby.You can deploy applications in Azure App Service in multiple ways. Ve výchozím nastavení jsou aplikace hostované v App Service dostupné přímo přes Internet a můžou se dostat jenom k koncovým bodům hostovaným v Internetu.By default, apps hosted in App Service are accessible directly through the internet and can reach only internet-hosted endpoints. Ale u mnoha aplikací je potřeba řídit příchozí a odchozí síťový provoz.But for many applications, you need to control the inbound and outbound network traffic. V App Service je k dispozici několik funkcí, které vám pomůžou tyto požadavky splnit.There are several features in App Service to help you meet those needs. Výzva má za úkol vědět, která funkce se má použít k vyřešení daného problému.The challenge is knowing which feature to use to solve a given problem. Tento článek vám pomůže určit, která funkce se má použít, na základě některých příkladů případů použití.This article will help you determine which feature to use, based on some example use cases.

Existují dva hlavní typy nasazení pro Azure App Service:There are two main deployment types for Azure App Service:

  • Veřejná služba víceklientské architektury je hostitelem App Service plánů v cenových jednotkách Free, Shared, Basic, Standard, Premium, PremiumV2 a PremiumV3.The multitenant public service hosts App Service plans in the Free, Shared, Basic, Standard, Premium, PremiumV2, and PremiumV3 pricing SKUs.
  • Jeden tenant App Service Environment (pomocného modulu) hostuje izolované SKU App Service plány přímo ve vaší virtuální síti Azure.The single-tenant App Service Environment (ASE) hosts Isolated SKU App Service plans directly in your Azure virtual network.

Funkce, které použijete, budou záviset na tom, jestli jste ve víceklientské službě nebo v pomocném mechanismu.The features you use will depend on whether you're in the multitenant service or in an ASE.

Funkce víceklientské App Service sítěMultitenant App Service networking features

Azure App Service je distribuovaný systém.Azure App Service is a distributed system. Role, které zpracovávají příchozí požadavky HTTP nebo HTTPS, se nazývají front-endy.The roles that handle incoming HTTP or HTTPS requests are called front ends. Role, které hostují úlohy zákazníka, se nazývají pracovní procesy.The roles that host the customer workload are called workers. Všechny role ve App Service nasazení existují ve víceklientské síti.All the roles in an App Service deployment exist in a multitenant network. Vzhledem k tomu, že existuje mnoho různých zákazníků ve stejné App Service jednotce škálování, nemůžete připojit síť App Service přímo do vaší sítě.Because there are many different customers in the same App Service scale unit, you can't connect the App Service network directly to your network.

Místo připojení sítí potřebujete funkce pro zpracování různých aspektů komunikace s aplikacemi.Instead of connecting the networks, you need features to handle the various aspects of application communication. Funkce, které zpracovávají požadavky na vaši aplikaci, se nedají použít k řešení problémů při volání z vaší aplikace.The features that handle requests to your app can't be used to solve problems when you're making calls from your app. Podobně funkce, které řeší problémy pro volání z vaší aplikace, se nedají použít k řešení problémů s vaší aplikací.Likewise, the features that solve problems for calls from your app can't be used to solve problems to your app.

Příchozí funkceInbound features Odchozí funkceOutbound features
Adresa přiřazená aplikacímApp-assigned address Hybridní připojeníHybrid Connections
Omezení přístupuAccess restrictions Brána – požadovaná integrace virtuální sítěGateway-required VNet Integration
Koncové body službyService endpoints Integrace virtuální sítěVNet Integration
Privátní koncové bodyPrivate endpoints

Kromě popsaných výjimek můžete všechny tyto funkce použít dohromady.Other than noted exceptions, you can use all of these features together. Můžete kombinovat funkce a vyřešit problémy.You can mix the features to solve your problems.

Případy použití a funkceUse cases and features

U každého daného případu použití může být několik způsobů, jak problém vyřešit.For any given use case, there might be a few ways to solve the problem. Výběr nejlepší funkce někdy nabývá mimo případ použití.Choosing the best feature sometimes goes beyond the use case itself. Následující případy příchozího použití ukazují, jak používat funkce App Service sítě k řešení problémů s řízením provozu, který do vaší aplikace směřuje:The following inbound use cases suggest how to use App Service networking features to solve problems with controlling traffic going to your app:

Případ příchozího použitíInbound use case FunkceFeature
Podpora protokolu SSL založeného na protokolu IP pro vaši aplikaciSupport IP-based SSL needs for your app Adresa přiřazená aplikacímApp-assigned address
Podpora nesdílené vyhrazené příchozí adresy pro vaši aplikaciSupport unshared dedicated inbound address for your app Adresa přiřazená aplikacímApp-assigned address
Omezení přístupu k aplikaci ze sady dobře definovaných adresRestrict access to your app from a set of well-defined addresses Omezení přístupuAccess restrictions
Omezení přístupu k aplikaci z prostředků ve virtuální sítiRestrict access to your app from resources in a virtual network Koncové body službyService endpoints
INTERNÍHO NÁSTROJE POMOCNÉHO MECHANISMUILB ASE
Privátní koncové bodyPrivate endpoints
Vystavení aplikace na privátní IP adrese ve vaší virtuální sítiExpose your app on a private IP in your virtual network INTERNÍHO NÁSTROJE POMOCNÉHO MECHANISMUILB ASE
Privátní koncové bodyPrivate endpoints
Privátní IP adresa pro příchozí provoz na instanci Application Gateway s koncovými body službyPrivate IP for inbound traffic on an Application Gateway instance with service endpoints
Ochrana aplikace pomocí firewallu webových aplikací (WAF)Protect your app with a web application firewall (WAF) Application Gateway a interního nástroje pomocného mechanismuApplication Gateway and ILB ASE
Application Gateway s privátními koncovými bodyApplication Gateway with private endpoints
Application Gateway s koncovými body službyApplication Gateway with service endpoints
Přední dvířka Azure s omezeními přístupuAzure Front Door with access restrictions
Vyrovnávání zatížení aplikací v různých oblastechLoad balance traffic to your apps in different regions Přední dvířka Azure s omezeními přístupuAzure Front Door with access restrictions
Vyrovnávat zatížení provozu ve stejné oblastiLoad balance traffic in the same region Application Gateway s koncovými body službyApplication Gateway with service endpoints

Následující případy odchozího použití ukazují, jak používat funkce App Service sítě k řešení požadavků na odchozí přístup k vaší aplikaci:The following outbound use cases suggest how to use App Service networking features to solve outbound access needs for your app:

Případ odchozího použitíOutbound use case FunkceFeature
Přístup k prostředkům ve virtuální síti Azure ve stejné oblastiAccess resources in an Azure virtual network in the same region Integrace virtuální sítěVNet Integration
ASEASE
Přístup k prostředkům ve virtuální síti Azure v jiné oblastiAccess resources in an Azure virtual network in a different region Brána – požadovaná integrace virtuální sítěGateway-required VNet Integration
Pomocného mechanismu pro vytváření a virtuální sítěASE and virtual network peering
Přístup k prostředkům zabezpečeným pomocí koncových bodů službyAccess resources secured with service endpoints Integrace virtuální sítěVNet Integration
ASEASE
Přístup k prostředkům v privátní síti, která není připojená k AzureAccess resources in a private network that's not connected to Azure Hybridní připojeníHybrid Connections
Přístup k prostředkům přes okruhy Azure ExpressRouteAccess resources across Azure ExpressRoute circuits Integrace virtuální sítěVNet Integration
ASEASE
Zabezpečení odchozího provozu z vaší webové aplikaceSecure outbound traffic from your web app Integrace virtuální sítě a skupiny zabezpečení sítěVNet Integration and network security groups
ASEASE
Směrování odchozího provozu z vaší webové aplikaceRoute outbound traffic from your web app Integrace virtuální sítě a směrovací tabulkyVNet Integration and route tables
ASEASE

Výchozí chování sítěDefault networking behavior

Jednotky škálování Azure App Service podporují mnoho zákazníků v každém nasazení.Azure App Service scale units support many customers in each deployment. Bezplatné a sdílené SKU plánuje hostování zákaznických úloh u víceklientské pracovní procesy.The Free and Shared SKU plans host customer workloads on multitenant workers. Plány Basic a vyšší plánuje hostování zákaznických úloh, které jsou vyhrazeny pouze jednomu App Service plánu.The Basic and higher plans host customer workloads that are dedicated to only one App Service plan. Pokud máte plán Standard App Service, všechny aplikace v tomto plánu se spustí na stejném pracovním procesu.If you have a Standard App Service plan, all the apps in that plan will run on the same worker. Při horizontálním navýšení kapacity pracovního procesu se všechny aplikace v tomto plánu App Service replikují na nového pracovního procesu pro každou instanci v plánu App Service.If you scale out the worker, all the apps in that App Service plan will be replicated on a new worker for each instance in your App Service plan.

Odchozí adresyOutbound addresses

Pracovní virtuální počítače jsou v rámci App Service plánů rozdělené podle velkých částí.The worker VMs are broken down in large part by the App Service plans. Všechny plány Free, Shared, Basic, Standard a Premium používají stejný typ virtuálního počítače Worker.The Free, Shared, Basic, Standard, and Premium plans all use the same worker VM type. Plán PremiumV2 používá jiný typ virtuálního počítače.The PremiumV2 plan uses another VM type. PremiumV3 používá ještě jiný typ virtuálního počítače.PremiumV3 uses yet another VM type. Když změníte rodinu virtuálních počítačů, získáte jinou sadu odchozích adres.When you change the VM family, you get a different set of outbound addresses. Pokud budete škálovat z úrovně Standard na PremiumV2, budou se vaše odchozí adresy měnit.If you scale from Standard to PremiumV2, your outbound addresses will change. Pokud budete škálovat z PremiumV2 na PremiumV3, budou se vaše odchozí adresy měnit.If you scale from PremiumV2 to PremiumV3, your outbound addresses will change. V některých starších jednotkách škálování se příchozí i odchozí adresy změní při škálování z úrovně Standard na PremiumV2.In some older scale units, both the inbound and outbound addresses will change when you scale from Standard to PremiumV2.

Pro odchozí hovory se používá několik adres.There are a number of addresses that are used for outbound calls. Odchozí adresy, které vaše aplikace používá k odchozím voláním, jsou uvedené ve vlastnostech vaší aplikace.The outbound addresses used by your app for making outbound calls are listed in the properties for your app. Tyto adresy sdílí všechny aplikace běžící na stejné rodině virtuálních počítačů pracovních procesů v nasazení App Service.These addresses are shared by all the apps running on the same worker VM family in the App Service deployment. Pokud chcete zobrazit všechny adresy, které může vaše aplikace používat v jednotce škálování, je k dispozici vlastnost s názvem possibleOutboundAddresses , která bude seznam zobrazovat.If you want to see all the addresses that your app might use in a scale unit, there's property called possibleOutboundAddresses that will list them.

Snímek obrazovky, který zobrazuje vlastnosti aplikace

App Service má počet koncových bodů, které se používají ke správě služby.App Service has a number of endpoints that are used to manage the service. Tyto adresy jsou publikovány v samostatném dokumentu a také ve AppServiceManagement značce služby IP.Those addresses are published in a separate document and are also in the AppServiceManagement IP service tag. Tato AppServiceManagement značka se používá jenom v App Service prostředích, kde je potřeba tento provoz umožňovat.The AppServiceManagement tag is used only in App Service Environments where you need to allow such traffic. Příchozí adresy App Service jsou sledovány ve AppService značce služby IP.The App Service inbound addresses are tracked in the AppService IP service tag. Neexistuje žádná značka služby IP, která obsahuje odchozí adresy, které používá App Service.There's no IP service tag that contains the outbound addresses used by App Service.

Diagram, který zobrazuje App Service příchozích a odchozích přenosů.

Adresa přiřazená aplikacímApp-assigned address

Funkce adresy přiřazené aplikacím je offshoot funkce protokolu SSL založené na protokolu IP.The app-assigned address feature is an offshoot of the IP-based SSL capability. K němu přistupujete nastavením SSL s vaší aplikací.You access it by setting up SSL with your app. Tuto funkci můžete použít pro volání SSL na základě IP adresy.You can use this feature for IP-based SSL calls. Můžete ji také použít k tomu, abyste aplikaci přizpůsobili, že má jenom adresu.You can also use it to give your app an address that only it has.

Diagram, který znázorňuje adresu přiřazenou aplikacím.

Když použijete adresu přiřazenou aplikacím, váš provoz dál projde stejné role front-endu, které zpracovávají veškerý příchozí provoz do App Service jednotky škálování.When you use an app-assigned address, your traffic still goes through the same front-end roles that handle all the incoming traffic into the App Service scale unit. Adresa přiřazená vaší aplikaci ale používá pouze vaše aplikace.But the address that's assigned to your app is used only by your app. Případy použití pro tuto funkci:Use cases for this feature:

  • Podporuje pro vaši aplikaci protokol SSL založený na protokolu IP.Support IP-based SSL needs for your app.
  • Nastavte vyhrazenou adresu pro vaši aplikaci, která není sdílená.Set a dedicated address for your app that's not shared.

Informace o nastavení adresy v aplikaci najdete v tématu Přidání certifikátu TLS/SSL v Azure App Service.To learn how to set an address on your app, see Add a TLS/SSL certificate in Azure App Service.

Omezení přístupuAccess restrictions

Omezení přístupu umožňují filtrovat příchozí požadavky.Access restrictions let you filter inbound requests. Akce filtrování probíhá na front-end rolích, které jsou od rolí pracovních procesů, kde běží vaše aplikace, v nadřazeném umístění.The filtering action takes place on the front-end roles that are upstream from the worker roles where your apps are running. Vzhledem k tomu, že role front-endu jsou z pracovních procesů nadřazené, můžete si představit omezení přístupu jako ochranu na úrovni sítě pro vaše aplikace.Because the front-end roles are upstream from the workers, you can think of access restrictions as network-level protection for your apps.

Tato funkce umožňuje vytvořit seznam pravidel pro povolení a odepření, která se vyhodnocují v pořadí podle priority.This feature allows you to build a list of allow and deny rules that are evaluated in priority order. Je podobný funkci skupiny zabezpečení sítě (NSG) v sítích Azure.It's similar to the network security group (NSG) feature in Azure networking. Tuto funkci můžete použít v pomocném mechanismu nebo ve službě víceklientské služby.You can use this feature in an ASE or in the multitenant service. Když ho použijete s interního nástroje pomocným mechanismem nebo soukromým koncovým bodem, můžete omezit přístup z privátních bloků adres.When you use it with an ILB ASE or private endpoint, you can restrict access from private address blocks.

Poznámka

Pro každou aplikaci je možné nakonfigurovat až 512 pravidel omezení přístupu.Up to 512 access restriction rules can be configured per app.

Diagram, který znázorňuje omezení přístupu.

Pravidla omezení přístupu podle IP adresyIP-based access restriction rules

Funkce omezení přístupu na základě IP adresy pomáhá při omezení IP adres, které se dají použít k přístupu k vaší aplikaci.The IP-based access restrictions feature helps when you want to restrict the IP addresses that can be used to reach your app. Jsou podporovány adresy IPv4 i IPv6.Both IPv4 and IPv6 are supported. Některé případy použití pro tuto funkci:Some use cases for this feature:

  • Omezte přístup k aplikaci ze sady dobře definovaných adres.Restrict access to your app from a set of well-defined addresses.
  • Omezte přístup k provozu přes externí službu Vyrovnávání zatížení nebo jiná síťová zařízení se známými výstupními IP adresami.Restrict access to traffic coming through an external load-balancing service or other network appliances with known egress IP addresses.

Informace o tom, jak tuto funkci povolit, najdete v tématu Konfigurace omezení přístupu.To learn how to enable this feature, see Configuring access restrictions.

Poznámka

Pravidla omezení přístupu podle IP adresy zpracovávají rozsahy adres virtuální sítě jenom v případě, že je vaše aplikace v App Service Environment.IP-based access restriction rules only handle virtual network address ranges when your app is in an App Service Environment. Pokud je vaše aplikace ve víceklientské službě, je potřeba pomocí koncových bodů služby omezit provoz na výběr podsítí ve vaší virtuální síti.If your app is in the multitenant service, you need to use service endpoints to restrict traffic to select subnets in your virtual network.

Pravidla omezení přístupu na základě koncových bodů službyAccess restriction rules based on service endpoints

Koncové body služby umožňují Uzamknout příchozí přístup k aplikaci, takže zdrojová adresa musí pocházet ze sady podsítí, které vyberete.Service endpoints allow you to lock down inbound access to your app so that the source address must come from a set of subnets that you select. Tato funkce funguje společně s omezeními přístupu k IP adresám.This feature works together with IP access restrictions. Koncové body služby nejsou kompatibilní se vzdáleným laděním.Service endpoints aren't compatible with remote debugging. Pokud chcete používat vzdálené ladění s vaší aplikací, klient se nemůže nacházet v podsíti s povolenými koncovými body služby.If you want to use remote debugging with your app, your client can't be in a subnet that has service endpoints enabled. Proces nastavení koncových bodů služby je podobný procesu nastavení omezení přístupu k IP adresám.The process for setting service endpoints is similar to the process for setting IP access restrictions. Můžete vytvořit seznam povolených a zakázaných pravidel přístupu, který obsahuje veřejné adresy a podsítě ve vašich virtuálních sítích.You can build an allow/deny list of access rules that includes public addresses and subnets in your virtual networks.

Některé případy použití pro tuto funkci:Some use cases for this feature:

  • Nastavte Aplikační bránu s aplikací pro uzamknutí příchozího provozu do vaší aplikace.Set up an application gateway with your app to lock down inbound traffic to your app.
  • Omezte přístup k vaší aplikaci na prostředky ve vaší virtuální síti.Restrict access to your app to resources in your virtual network. Tyto prostředky můžou zahrnovat virtuální počítače, služby ASE nebo i další aplikace, které používají integraci virtuální sítě.These resources can include VMs, ASEs, or even other apps that use VNet Integration.

Diagram, který znázorňuje použití koncových bodů služby s Application Gateway.

Další informace o konfiguraci koncových bodů služby s vaší aplikací najdete v tématu omezení přístupu Azure App Service.To learn more about configuring service endpoints with your app, see Azure App Service access restrictions.

Pravidla omezení přístupu na základě značek službyAccess restriction rules based on service tags

Značky služeb Azure jsou dobře definované sady IP adres pro služby Azure.Azure service tags are well defined sets of IP addresses for Azure services. Značky služeb seskupují rozsahy IP adres používané v různých službách Azure a často jsou také dále vymezeny na konkrétní oblasti.Service tags group the IP ranges used in various Azure services and is often also further scoped to specific regions. Díky tomu můžete filtrovat příchozí provoz z konkrétních služeb Azure.This allows you to filter inbound traffic from specific Azure services.

Úplný seznam značek a další informace najdete v odkazu na značku služby výše.For a full list of tags and more information, visit the service tag link above. Informace o tom, jak tuto funkci povolit, najdete v tématu Konfigurace omezení přístupu.To learn how to enable this feature, see Configuring access restrictions.

Filtrování hlaviček protokolu HTTP pro pravidla omezení přístupuHttp header filtering for access restriction rules

Pro každé pravidlo omezení přístupu můžete přidat další filtrování hlaviček protokolu HTTP.For each access restriction rule, you can add additional http header filtering. To vám umožní podrobněji zkontrolovat příchozí požadavek a filtr na základě konkrétních hodnot hlaviček protokolu HTTP.This allows you to further inspect the incoming request and filter based on specific http header values. Každé záhlaví může mít až 8 hodnot na jedno pravidlo.Each header can have up to 8 values per rule. V tuto chvíli se podporuje následující seznam hlaviček protokolu http:The following list of http headers is currently supported:

  • X-předané – proX-Forwarded-For
  • X-předávaný-HostX-Forwarded-Host
  • X – Azure – FDIDX-Azure-FDID
  • X-FD – HealthProbeX-FD-HealthProbe

K některým případům použití pro filtrování hlaviček protokolu HTTP patří:Some use cases for http header filtering are:

  • Omezení přístupu k provozu z proxy serverů předávajících název hostiteleRestrict access to traffic from proxy servers forwarding the host name
  • Omezení přístupu ke konkrétní instanci front-FDID pro Azure pomocí pravidla značek služby a omezením X-Azure-HeaderRestrict access to a specific Azure Front Door instance with a service tag rule and X-Azure-FDID header restriction

Privátní koncový bodPrivate Endpoint

Privátní koncový bod je síťové rozhraní, které vám prostřednictvím privátního propojení Azure připojuje soukromě a bezpečně ke své webové aplikaci.Private Endpoint is a network interface that connects you privately and securely to your Web App by Azure private link. Privátní koncový bod používá privátní IP adresu z vaší virtuální sítě a efektivně tak přináší webovou aplikaci do vaší virtuální sítě.Private Endpoint uses a private IP address from your virtual network, effectively bringing the web app into your virtual network. Tato funkce je určena pouze pro příchozí toky do vaší webové aplikace.This feature is only for inbound flows to your web app. Další informace najdete v tématu použití privátních koncových bodů pro webovou aplikaci Azure.For more information, see Using private endpoints for Azure Web App.

Některé případy použití pro tuto funkci:Some use cases for this feature:

  • Omezte přístup k vaší aplikaci z prostředků ve virtuální síti.Restrict access to your app from resources in a virtual network.
  • Zveřejněte svou aplikaci na privátní IP adresu ve vaší virtuální síti.Expose your app on a private IP in your virtual network.
  • Chraňte svoji aplikaci pomocí WAF.Protect your app with a WAF.

Soukromé koncové body brání v exfiltrace dat, protože jediná věc, kterou můžete kontaktovat přes soukromý koncový bod, je aplikace, se kterou je nakonfigurovaná.Private endpoints prevent data exfiltration because the only thing you can reach across the private endpoint is the app with which it's configured.

Hybridní připojeníHybrid Connections

App Service Hybrid Connections umožňuje vašim aplikacím provádět odchozí volání do zadaných koncových bodů TCP.App Service Hybrid Connections enables your apps to make outbound calls to specified TCP endpoints. Koncový bod může být místní, ve virtuální síti nebo kdekoli, kde umožňuje odchozí provoz do Azure na portu 443.The endpoint can be on-premises, in a virtual network, or anywhere that allows outbound traffic to Azure on port 443. K použití této funkce je potřeba nainstalovat přenosového agenta s názvem Správce hybridního připojení na Windows Serveru 2012 nebo novějším.To use the feature, you need to install a relay agent called Hybrid Connection Manager on a Windows Server 2012 or newer host. Správce hybridního připojení musí být schopné kontaktovat Azure Relay na portu 443.Hybrid Connection Manager needs to be able to reach Azure Relay at port 443. Správce hybridního připojení můžete stáhnout z uživatelského rozhraní App Service Hybrid Connections na portálu.You can download Hybrid Connection Manager from the App Service Hybrid Connections UI in the portal.

Diagram znázorňující tok Hybrid Connections sítě.

App Service Hybrid Connections je postaven na funkci Azure Relay Hybrid Connections.App Service Hybrid Connections is built on the Azure Relay Hybrid Connections capability. App Service používá specializovanou formu funkce, která podporuje pouze odchozí volání z vaší aplikace na hostitele a port TCP.App Service uses a specialized form of the feature that only supports making outbound calls from your app to a TCP host and port. Tento hostitel a port je potřeba přeložit jenom na hostiteli, na kterém je nainstalovaná Správce hybridního připojení.This host and port only need to resolve on the host where Hybrid Connection Manager is installed.

Když aplikace v App Service provede vyhledávání DNS na hostiteli a portu definovaném v hybridním připojení, přenos se automaticky přesměruje, aby procházel z hybridního připojení a z Správce hybridního připojení.When the app, in App Service, does a DNS lookup on the host and port defined in your hybrid connection, the traffic automatically redirects to go through the hybrid connection and out of Hybrid Connection Manager. Další informace najdete v tématu App Service Hybrid Connections.To learn more, see App Service Hybrid Connections.

Tato funkce se běžně používá k těmto akcím:This feature is commonly used to:

  • Přístup k prostředkům v privátních sítích, které nejsou připojené k Azure pomocí sítě VPN nebo ExpressRoute.Access resources in private networks that aren't connected to Azure with a VPN or ExpressRoute.
  • Podpora migrace místních aplikací na App Service bez nutnosti přesunout podpůrné databáze.Support the migration of on-premises apps to App Service without the need to move supporting databases.
  • Poskytněte přístup s vyšším zabezpečením na jednoho hostitele a port na hybridní připojení.Provide access with improved security to a single host and port per hybrid connection. Většina síťových funkcí otevřela přístup k síti.Most networking features open access to a network. S Hybrid Connections můžete kontaktovat jenom jednoho hostitele a port.With Hybrid Connections, you can only reach the single host and port.
  • Pokrytí scénářů, na které se nevztahuje jiné metody odchozího připojení.Cover scenarios not covered by other outbound connectivity methods.
  • Udělejte vývoj v App Service způsobem, který umožňuje aplikacím snadno používat místní prostředky.Perform development in App Service in a way that allows the apps to easily use on-premises resources.

Vzhledem k tomu, že tato funkce umožňuje přístup k místním prostředkům bez příchozího otvoru brány firewall, je oblíbená pro vývojáře.Because this feature enables access to on-premises resources without an inbound firewall hole, it's popular with developers. Ostatní funkce pro odchozí App Service sítě souvisejí s Azure Virtual Network.The other outbound App Service networking features are related to Azure Virtual Network. Hybrid Connections nezávisí na přechodu přes virtuální síť.Hybrid Connections doesn't depend on going through a virtual network. Dá se použít k širší škále síťových potřeb.It can be used for a wider variety of networking needs.

Všimněte si, že App Service Hybrid Connections nezáleží na tom, co se vám právě dělá.Note that App Service Hybrid Connections is unaware of what you're doing on top of it. Takže ho můžete použít pro přístup k databázi, webové službě nebo libovolnému soketu TCP v rámci sálového počítače.So you can use it to access a database, a web service, or an arbitrary TCP socket on a mainframe. Tato funkce v podstatě odpojování paketů TCP.The feature essentially tunnels TCP packets.

Hybrid Connections je oblíbená pro vývoj, ale používá se také v produkčních aplikacích.Hybrid Connections is popular for development, but it's also used in production applications. Je skvělé pro přístup k webové službě nebo databázi, ale není vhodná pro situace, které zahrnují vytváření mnoha připojení.It's great for accessing a web service or database, but it's not appropriate for situations that involve creating many connections.

Brána – požadovaná integrace virtuální sítěGateway-required VNet Integration

Brána – požadovaná App Service Integration VNet umožňuje vaší aplikaci vytvářet odchozí požadavky do virtuální sítě Azure.Gateway-required App Service VNet Integration enables your app to make outbound requests into an Azure virtual network. Funkce funguje připojením hostitele, na kterém je aplikace spuštěná, do Virtual Network brány ve vaší virtuální síti pomocí sítě VPN typu Point-to-site.The feature works by connecting the host your app is running on to a Virtual Network gateway on your virtual network by using a point-to-site VPN. Když nakonfigurujete funkci, aplikace získá jednu z adres Point-to-site přiřazených k jednotlivým instancím.When you configure the feature, your app gets one of the point-to-site addresses assigned to each instance. Tato funkce umožňuje přístup k prostředkům v klasických nebo Azure Resource Manager virtuálních sítích v libovolné oblasti.This feature enables you to access resources in either classic or Azure Resource Manager virtual networks in any region.

Diagram, který znázorňuje bránu. integrace virtuální sítě je povinná.

Tato funkce řeší potíže s přístupem k prostředkům v jiných virtuálních sítích.This feature solves the problem of accessing resources in other virtual networks. Dá se použít i k připojení přes virtuální síť k jiným virtuálním sítím nebo místnímu prostředí.It can even be used to connect through a virtual network to either other virtual networks or on-premises. Nefunguje s ExpressRoutemi virtuálními sítěmi, ale funguje s sítěmi propojenými s VPN typu Site-to-site.It doesn't work with ExpressRoute-connected virtual networks, but it does work with site-to-site VPN-connected networks. Tato funkce se obvykle nedoporučuje používat z aplikace v App Service Environment (pomocného mechanismu), protože je už ve vaší virtuální síti.It's usually inappropriate to use this feature from an app in an App Service Environment (ASE) because the ASE is already in your virtual network. Případy použití pro tuto funkci:Use cases for this feature:

  • Přístup k prostředkům privátních IP adres ve virtuálních sítích Azure.Access resources on private IPs in your Azure virtual networks.
  • Přístup k prostředkům v místním prostředí, pokud existuje síť VPN typu Site-to-site.Access resources on-premises if there's a site-to-site VPN.
  • Přístup k prostředkům v partnerských virtuálních sítích.Access resources in peered virtual networks.

Když je tato funkce povolená, bude aplikace používat server DNS, se kterým je nakonfigurovaná cílová virtuální síť.When this feature is enabled, your app will use the DNS server that the destination virtual network is configured with. Další informace o této funkci najdete v tématu App Service Integration VNet.For more information on this feature, see App Service VNet Integration.

Integrace virtuální sítěVNet Integration

Brána – vyžadovaná integrace virtuální sítě je užitečná, ale neřeší problém přístupu k prostředkům napříč ExpressRoute.Gateway-required VNet Integration is useful, but it doesn't solve the problem of accessing resources across ExpressRoute. Aby bylo možné dosáhnout mezi připojeními ExpressRoute, je potřeba zajistit, aby aplikace mohly volat služby zabezpečené koncovým bodem služby.On top of needing to reach across ExpressRoute connections, there's a need for apps to be able to make calls to services secured by service endpoint. Tyto potřeby mohou splňovat i další funkce integrace virtuální sítě.Another VNet Integration capability can meet these needs.

Nová funkce integrace virtuální sítě umožňuje umístit back-end aplikaci do podsítě ve Správce prostředků virtuální síti ve stejné oblasti jako vaše aplikace.The new VNet Integration feature enables you to place the back end of your app in a subnet in a Resource Manager virtual network in the same region as your app. Tato funkce není k dispozici z App Service Environment, která je již ve virtuální síti.This feature isn't available from an App Service Environment, which is already in a virtual network. Případy použití pro tuto funkci:Use cases for this feature:

  • Přístup k prostředkům v Správce prostředků virtuálních sítích ve stejné oblasti.Access resources in Resource Manager virtual networks in the same region.
  • Přístup k prostředkům, které jsou zabezpečené pomocí koncových bodů služby.Access resources that are secured with service endpoints.
  • Přístup k prostředkům, které jsou přístupné přes ExpressRoute nebo připojení VPN.Access resources that are accessible across ExpressRoute or VPN connections.
  • Usnadňuje zabezpečení všech odchozích přenosů.Help to secure all outbound traffic.
  • Vynutit tunelování všech odchozích přenosů.Force tunnel all outbound traffic.

Diagram, který znázorňuje integraci virtuální sítě.

Další informace najdete v tématu App Service Integration VNet.To learn more, see App Service VNet Integration.

App Service EnvironmentApp Service Environment

App Service Environment (pomocným mechanismem) je nasazení Azure App Service jednoho tenanta, které běží ve vaší virtuální síti.An App Service Environment (ASE) is a single-tenant deployment of the Azure App Service that runs in your virtual network. Některé případy, jako je tato funkce:Some cases such for this feature:

  • Přístup k prostředkům ve virtuální síti.Access resources in your virtual network.
  • Přístup k prostředkům napříč ExpressRoute.Access resources across ExpressRoute.
  • Zpřístupněte své aplikace pomocí soukromé adresy ve vaší virtuální síti.Expose your apps with a private address in your virtual network.
  • Přístup k prostředkům napříč koncovými body služby.Access resources across service endpoints.

Pomocí pomocného mechanismu služeb nemusíte používat funkce, jako je integrace virtuální sítě nebo koncové body služby, protože služba pomocného mechanismu už je ve vaší virtuální síti.With an ASE, you don't need to use features like VNet Integration or service endpoints because the ASE is already in your virtual network. Pokud chcete získat přístup k prostředkům, jako je SQL nebo Azure Storage prostřednictvím koncových bodů služby, povolte koncové body služby v podsíti pomocného mechanismu.If you want to access resources like SQL or Azure Storage over service endpoints, enable service endpoints on the ASE subnet. Pokud chcete získat přístup k prostředkům ve virtuální síti, nemusíte provádět žádnou další konfiguraci.If you want to access resources in the virtual network, you don't need to do any additional configuration. Pokud chcete získat přístup k prostředkům v rámci ExpressRoute, už jste ve virtuální síti, a nemusíte nic konfigurovat na pomocném panelu nebo v aplikacích.If you want to access resources across ExpressRoute, you're already in the virtual network and don't need to configure anything on the ASE or the apps in it.

Vzhledem k tomu, že aplikace v pomocném seznamu interního nástroje můžou být vystavené na privátní IP adrese, můžete snadno přidat zařízení WAF a zpřístupnit tak jenom aplikace, které chcete používat na internetu, a zajistit zabezpečení REST.Because the apps in an ILB ASE can be exposed on a private IP address, you can easily add WAF devices to expose just the apps that you want to the internet and help keep the rest secure. Tato funkce může usnadnit vývoj vícevrstvých aplikací.This feature can help make the development of multitier applications easier.

Některé věci nejsou v současnosti možné z víceklientské služby, ale jsou možné z pomocného mechanismu.Some things aren't currently possible from the multitenant service but are possible from an ASE. Tady je několik příkladů:Here are some examples:

  • Zpřístupněte své aplikace na privátní IP adrese.Expose your apps on a private IP address.
  • Zabezpečte veškerý odchozí provoz pomocí ovládacích prvků sítě, které nejsou součástí vaší aplikace.Help secure all outbound traffic with network controls that aren't a part of your app.
  • Hostování aplikací ve službě s jednou tenantůHost your apps in a single-tenant service.
  • Škálovat můžete až na mnoho dalších instancí, než je možné ve víceklientské službě.Scale up to many more instances than are possible in the multitenant service.
  • Načtěte klientské certifikáty privátní certifikační autority pro použití vašimi aplikacemi s koncovými body zabezpečenými soukromou certifikační autoritou.Load private CA client certificates for use by your apps with private CA-secured endpoints.
  • Vynutit TLS 1,1 napříč všemi aplikacemi hostovanými v systému bez možnosti jejich zakázání na úrovni aplikace.Force TLS 1.1 across all apps hosted in the system without any ability to disable it at the app level.
  • Poskytněte vyhrazenou výstupní adresu pro všechny aplikace ve službě pomocného mechanismu, které nejsou sdílené se zákazníky.Provide a dedicated outbound address for all the apps in your ASE that aren't shared with customers.

Diagram, který znázorňuje pomocného mechanismu řízení ve virtuální síti.

Pomocného nástroje poskytuje nejlepší příběh kolem izolovaného a vyhrazeného hostování aplikací, ale zahrnuje i některé problémy se správou.The ASE provides the best story around isolated and dedicated app hosting, but it does involve some management challenges. Před použitím funkčního pomocného mechanismu můžete zvážit několik věcí:Some things to consider before you use an operational ASE:

  • Správce se spouští ve virtuální síti, ale má závislosti mimo virtuální síť.An ASE runs inside your virtual network, but it does have dependencies outside the virtual network. Tyto závislosti musí být povoleny.Those dependencies must be allowed. Další informace najdete v tématu požadavky na síť pro App Service Environment.For more information, see Networking considerations for an App Service Environment.
  • Služba pomocného mechanismu se nebude škálovat hned jako víceklientské služby.An ASE doesn't scale immediately like the multitenant service. Místo reaktivního škálování je potřeba odhadnout požadavky na škálování.You need to anticipate scaling needs rather than reactively scaling.
  • Pomocného objektu pro čtení má vyšší náklady na front-end.An ASE does have a higher up-front cost. Chcete-li získat z vašeho pomocného mechanismu it maximum, měli byste naplánovat velký počet úloh do jednoho pomocného mechanismu, ale nepoužívat ho pro malé úsilí.To get the most out of your ASE, you should plan to put many workloads into one ASE rather than using it for small efforts.
  • Aplikace v pomocném okně nemůžou selektivně omezit přístup k některým aplikacím v pomocném formuláři a ne ostatním.The apps in an ASE can't selectively restrict access to some apps in the ASE and not others.
  • Pomocného nástroje je v podsíti a všechna síťová pravidla se vztahují na veškerý provoz do a z tohoto pomocného mechanismu.An ASE is in a subnet, and any networking rules apply to all the traffic to and from that ASE. Pokud chcete přiřadit pravidla příchozího přenosu jenom pro jednu aplikaci, použijte omezení přístupu.If you want to assign inbound traffic rules for just one app, use access restrictions.

Kombinování funkcíCombining features

Funkce zjištěné pro víceklientské služby se dají použít společně k řešení složitějších případů použití.The features noted for the multitenant service can be used together to solve more elaborate use cases. Dva z častých případů použití jsou zde popsány, ale jsou zde pouze příklady.Two of the more common use cases are described here, but they're just examples. Tím, že pochopíte jednotlivé funkce, můžete splnit skoro všechny požadavky vaší systémové architektury.By understanding what the various features do, you can meet nearly all your system architecture needs.

Umístění aplikace do virtuální sítěPlace an app into a virtual network

Je možné, že si zajímáte, jak aplikaci umístit do virtuální sítě.You might wonder how to put an app into a virtual network. Pokud svou aplikaci vložíte do virtuální sítě, koncové body příchozího a odchozího připojení aplikace jsou v rámci virtuální sítě.If you put your app into a virtual network, the inbound and outbound endpoints for the app are within the virtual network. Nejlepším způsobem, jak tento problém vyřešit, je pomocného mechanismu pro obnovení.An ASE is the best way to solve this problem. Díky kombinování funkcí ale můžete v rámci víceklientské služby vyhovět většině vašich potřeb.But you can meet most of your needs within the multitenant service by combining features. Například můžete hostovat jenom intranetové aplikace s privátními příchozími a odchozími adresami:For example, you can host intranet-only applications with private inbound and outbound addresses by:

  • Vytvoření aplikační brány s privátními příchozími a odchozími adresami.Creating an application gateway with private inbound and outbound addresses.
  • Zabezpečení příchozího provozu do aplikace pomocí koncových bodů služby.Securing inbound traffic to your app with service endpoints.
  • Používání nové funkce integrace virtuální sítě, takže back-end aplikace je ve vaší virtuální síti.Using the new VNet Integration feature so the back end of your app is in your virtual network.

Tento styl nasazení vám neposkytne vyhrazenou adresu pro odchozí přenosy na Internet nebo možnost Uzamknout veškerý odchozí provoz z vaší aplikace.This deployment style won't give you a dedicated address for outbound traffic to the internet or the ability to lock down all outbound traffic from your app. Poskytne vám tak spoustu toho, co byste jinak získali pomocí pomocného mechanismu.It will give you a much of what you would only otherwise get with an ASE.

Vytváření vícevrstvých aplikacíCreate multitier applications

Vícevrstvá aplikace je aplikace, ve které je back-endové aplikace API dostupné jenom z front-endové úrovně.A multitier application is an application in which the API back-end apps can be accessed only from the front-end tier. Existují dva způsoby, jak vytvořit vícevrstvou aplikaci.There are two ways to create a multitier application. Jak začít pomocí integrace virtuální sítě připojit front-end webovou aplikaci k podsíti ve virtuální síti.Both start by using VNet Integration to connect your front-end web app to a subnet in a virtual network. Tím umožníte, aby webová aplikace prováděla volání do vaší virtuální sítě.Doing so will enable your web app to make calls into your virtual network. Jakmile je aplikace front-end připojená k virtuální síti, musíte se rozhodnout, jak uzamknout přístup k vaší aplikaci API.After your front-end app is connected to the virtual network, you need to decide how to lock down access to your API application. Další možnosti:You can:

  • Hostování front-endu i aplikace API ve stejném interního nástroje pomocném programu pro čtení a zpřístupnění aplikace front-end pro Internet pomocí aplikační brány.Host both the front end and the API app in the same ILB ASE, and expose the front-end app to the internet by using an application gateway.
  • Hostování front-endu ve víceklientské službě a back-endu v interního nástroje pomocném modulu pro obnovení.Host the front end in the multitenant service and the back end in an ILB ASE.
  • Hostování front-endu i aplikace API ve víceklientské službě.Host both the front end and the API app in the multitenant service.

Pokud hostuje front-end i aplikaci API pro vícevrstvou aplikaci, můžete:If you're hosting both the front end and API app for a multitier application, you can:

  • Vystavení aplikace API pomocí privátních koncových bodů ve vaší virtuální síti:Expose your API application by using private endpoints in your virtual network:

    Diagram, který znázorňuje použití privátních koncových bodů v aplikaci se dvěma vrstvami.

  • Pomocí koncových bodů služby zajistěte, aby příchozí provoz do vaší aplikace API byl dostupný jenom z podsítě, kterou používá webová aplikace front-end:Use service endpoints to ensure inbound traffic to your API app comes only from the subnet used by your front-end web app:

    Diagram, který znázorňuje použití koncových bodů služby k zajištění zabezpečení aplikace.

Tady je několik důležitých informací, které vám pomohou rozhodnout, kterou metodu použít:Here are some considerations to help you decide which method to use:

  • Při použití koncových bodů služby stačí pouze zabezpečit provoz do vaší aplikace API do podsítě Integration.When you use service endpoints, you only need to secure traffic to your API app to the integration subnet. To pomáhá zabezpečit aplikaci API, ale můžete i nadále mít exfiltrace data z front-endové aplikace do jiných aplikací ve službě App Service.This helps to secure the API app, but you could still have data exfiltration from your front-end app to other apps in the app service.
  • Při použití soukromých koncových bodů máte při hraní dvě podsítě, což zvyšuje složitost.When you use private endpoints, you have two subnets at play, which adds complexity. Soukromý koncový bod je také prostředkem nejvyšší úrovně a přidává režijní náklady na správu.Also, the private endpoint is a top-level resource and adds management overhead. Výhodou použití privátních koncových bodů je, že nemáte možnost exfiltrace dat.The benefit of using private endpoints is that you don't have the possibility of data exfiltration.

Obě metody budou fungovat s více front-endy.Either method will work with multiple front ends. V malém měřítku je použití koncových bodů služby jednodušší, protože jednoduše povolíte koncové body služby pro aplikaci API v klientské podsíti front-end Integration.On a small scale, service endpoints are easier to use because you simply enable service endpoints for the API app on the front-end integration subnet. Když přidáváte další aplikace front-end, je nutné upravit každou aplikaci API tak, aby zahrnovala koncové body služby s podsítí integrace.As you add more front-end apps, you need to adjust every API app to include service endpoints with the integration subnet. Pokud používáte soukromé koncové body, je složitější, ale po nastavení privátního koncového bodu nemusíte nic měnit v aplikacích API.When you use private endpoints, there's more complexity, but you don't have to change anything on your API apps after you set a private endpoint.

Obchodní aplikaceLine-of-business applications

Obchodní aplikace (LOB) jsou interní aplikace, které nejsou běžně přístupné pro přístup z Internetu.Line-of-business (LOB) applications are internal applications that aren't normally exposed for access from the internet. Tyto aplikace jsou volány v rámci podnikových sítí, kde může být přístup striktně řízen.These applications are called from inside corporate networks where access can be strictly controlled. Pokud používáte interního nástroje pomocného uživatele, můžete snadno hostovat své obchodní aplikace.If you use an ILB ASE, it's easy to host your line-of-business applications. Pokud používáte víceklientské služby, můžete buď použít soukromé koncové body, nebo použít koncové body služby kombinované s aplikační bránou.If you use the multitenant service, you can either use private endpoints or use service endpoints combined with an application gateway. Existují dva důvody, proč použít Aplikační bránu s koncovými body služby místo použití privátních koncových bodů:There are two reasons to use an application gateway with service endpoints instead of using private endpoints:

  • Pro obchodní aplikace potřebujete WAF ochranu.You need WAF protection on your LOB apps.
  • Chcete vyrovnávat zatížení s několika instancemi obchodních aplikací.You want to load balance to multiple instances of your LOB apps.

Pokud ani jeden z těchto požadavků neplatí, je lepší používat soukromé koncové body.If neither of these needs apply, you're better off using private endpoints. Díky soukromým koncovým bodům dostupným v App Service můžete své aplikace zveřejnit na soukromých adresách ve vaší virtuální síti.With private endpoints available in App Service, you can expose your apps on private addresses in your virtual network. Soukromý koncový bod, který umístíte do virtuální sítě, je možné dosáhnout napříč ExpressRoute a připojeními VPN.The private endpoint you place in your virtual network can be reached across ExpressRoute and VPN connections.

Konfigurace privátních koncových bodů zveřejňuje vaše aplikace na privátní adrese, ale budete muset nakonfigurovat DNS, aby se tato adresa dostala z místního prostředí.Configuring private endpoints will expose your apps on a private address, but you'll need to configure DNS to reach that address from on-premises. Aby tato konfigurace fungovala, musíte předávat Azure DNS privátní zóna, která obsahuje vaše soukromé koncové body na místní servery DNS.To make this configuration work, you'll need to forward the Azure DNS private zone that contains your private endpoints to your on-premises DNS servers. Azure DNS privátní zóny nepodporují předávání zóny, ale pro tento účel můžete podporovat předávání zóny pomocí serveru DNS.Azure DNS private zones don't support zone forwarding, but you can support zone forwarding by using a DNS server for that purpose. Šablona služby pro dodávání DNS usnadňuje přeposílání Azure DNS privátní zóny na místní servery DNS.The DNS Forwarder template makes it easier to forward your Azure DNS private zone to your on-premises DNS servers.

Porty App ServiceApp Service ports

Pokud provedete kontrolu App Service, najdete několik portů, které jsou vystaveny pro příchozí připojení.If you scan App Service, you'll find several ports that are exposed for inbound connections. Neexistuje žádný způsob, jak zablokovat ani řídit přístup k těmto portům ve víceklientské službě.There's no way to block or control access to these ports in the multitenant service. Tady je seznam vystavených portů:Here's the list of exposed ports:

PoužitíUse Port nebo portyPort or ports
HTTP/HTTPSHTTP/HTTPS 80, 44380, 443
SprávaManagement 454, 455454, 455
FTP/FTPSFTP/FTPS 21, 990, 10001-1002021, 990, 10001-10020
Vzdálené ladění sady Visual StudioVisual Studio remote debugging 4020, 4022, 40244020, 4022, 4024
Služba Nasazení webuWeb Deploy service 81728172
Použití infrastrukturyInfrastructure use 7654, 12217654, 1221