W tym artykule pokazano, jak skonfigurować ulepszoną łączność prywatną z zabezpieczeniami z aplikacją internetową usługi App Service lub aplikacją funkcji z sieci lokalnej lub z sieci wirtualnej platformy Azure. Pokazano również, jak skonfigurować lepszą łączność z zabezpieczeniami między aplikacją i innymi usługami PaaS platformy Azure za pośrednictwem usługi Azure Private Link bez korzystania z publicznego Internetu.
W tym artykule usługa aplikacja systemu Azure odnosi się do warstw cenowych, w których jest udostępniana infrastruktura innym klientom usługi App Service, takim jak Warstwa Podstawowa, Standardowa i Premium. Środowisko App Service Environment wdraża bezpośrednio w sieci wirtualnej z dedykowaną infrastrukturą pomocniczą i korzysta z warstw cenowych izolowanych, a nie jest przedmiotem tego artykułu.
Architektura
Pobierz plik programu Visio z tą architekturą.
Przepływ danych
Korzystając z integracji regionalnej sieci wirtualnej usługi aplikacja systemu Azure Service, aplikacja internetowa łączy się z usługami platformy Azure za pośrednictwem delegowanej podsieci Podsieci integracji sieci wirtualnej w sieci wirtualnej platformy Azure.
- Podsieć integracji sieci wirtualnej i sieci podsieci prywatnego punktu końcowego są oddzielnymi sieciami wirtualnymi w różnych subskrypcjach. Obie sieci są równorzędne z siecią wirtualną koncentratora w ramach konfiguracji sieci piasty i szprych. W przypadku regionalnej integracji sieci wirtualnej równorzędne sieci wirtualne muszą znajdować się w tym samym regionie świadczenia usługi Azure.
Usługa Azure Private Link konfiguruje prywatny punkt końcowy dla usług PaaS, aplikacji internetowych, bazy danych Azure SQL Database, konta usługi Azure Storage i magazynu kluczy platformy Azure w sieci wirtualnej prywatnego punktu końcowego.
W tym przykładzie ta sieć wirtualna jest przeznaczona tylko dla wdrażania prywatnych punktów końcowych. W tej sieci wirtualnej nie zostaną wdrożone żadne inne zasoby, takie jak maszyny wirtualne. Przyszłe zapotrzebowanie na dodanie prywatnych punktów końcowych zostało uwzględnione podczas wybierania rozmiaru podsieci.
Sieć lokalna i sieci wirtualne platformy Azure można połączyć za pośrednictwem sieci VPN typu lokacja-lokacja (S2S) lub prywatnej komunikacji równorzędnej usługi Azure ExpressRoute. Użytkownicy w sieci lokalnej uzyskują dostęp do aplikacji prywatnie i z ulepszonymi zabezpieczeniami tylko przez sieć prywatną.
W tym przykładzie sieć lokalna i sieci wirtualne platformy Azure są połączone za pośrednictwem prywatnej komunikacji równorzędnej usługi ExpressRoute.
W przypadku sieci lokalnej, która ma już wdrożone rozwiązanie systemu nazw domen (DNS), lokalne rozwiązanie DNS jest skonfigurowane do przekazywania ruchu DNS do prywatnego rekordu DNS platformy Azure (na przykład azurewebsites.net) za pośrednictwem warunkowego usługi przesyłania dalej , który przekazuje żądanie do przychodzącego punktu końcowego usługi rozpoznawania prywatnego DNS wdrożonego na platformie Azure. Usługa DNS Private Resolver wysyła zapytanie do usługi Azure DNS i odbiera informacje o linku sieci wirtualnej usługi Azure Prywatna strefa DNS. Następnie rozpoznawanie jest wykonywane przez prywatną strefę DNS połączoną z siecią wirtualną.
strefy Prywatna strefa DNS są również wdrażane w tej samej subskrypcji co Prywatna sieć wirtualna punktu końcowego.
W tym przykładzie maszyna usługi przesyłania dalej DNS pod adresem IP 192.168.0.254 w sieci lokalnej przekazuje wszystkie żądania rozpoznawania nazw DNS do nazwy hosta azurewebsites.net do przychodzącego punktu końcowego usługi rozpoznawania prywatnego DNS na platformie Azure pod adresem 10.0.0.132. Następnie żądania są rozpoznawane przez usługę DNS zapewnianą przez platformę Azure, która ma adres IP 168.63.129.16 za pośrednictwem strefy usługi Azure Prywatna strefa DNS połączonej z siecią wirtualną.
Wychodzący punkt końcowy jest wymagany do włączenia warunkowego przekazywania nazw z platformy Azure do lokalnego, innych dostawców usług w chmurze lub zewnętrznych serwerów DNS przy użyciu zestawu reguł przesyłania dalej DNS.
Skonfigurowanie zestawu reguł przesyłania dalej DNS nie jest wymagane w tym scenariuszu.
Ta konfiguracja usługi App Service powinna być obecna:
Key Wartość WEBSITE_DNS_SERVER 168.63.129.16 Sieci wirtualne są połączone ze wszystkimi prywatnymi strefami DNS platformy Azure.
- Sieć wirtualna z prywatnymi punktami końcowymi jest automatycznie połączona z prywatnymi strefami DNS. Musisz połączyć inne sieci wirtualne oddzielnie.
Aplikacja internetowa komunikuje się z prywatnymi punktami końcowymi usług PaaS w prywatnej sieci wirtualnej punktu końcowego za pośrednictwem usługi Azure Firewall.
W usłudze Azure Firewall reguły aplikacji są skonfigurowane tak, aby zezwalały na komunikację między podsiecią integracji sieci wirtualnej a prywatnymi punktami końcowymi zasobów PaaS. Docelowe w pełni kwalifikowane nazwy domen (FQDN) to:
*.azurewebsites.net
*.database.windows.net
*.core.windows.net
*.vaultcore.azure.net
Konfiguracja zapory i sieci wirtualnej dla usług Azure SQL, Azure Storage Account i Azure Key Vault umożliwia ruch tylko z podsieci integracji sieci wirtualnej. Konfiguracja nie zezwala na komunikację z żadną inną siecią wirtualną ani z publicznym Internetem.
Składniki
- aplikacja systemu Azure Service hostuje aplikacje internetowe i aplikacje funkcji, umożliwiając skalowanie automatyczne i wysoką dostępność bez konieczności zarządzania infrastrukturą.
- Azure SQL Database to usługa zarządzana relacyjnymi bazami danych ogólnego przeznaczenia, która obsługuje dane relacyjne, dane przestrzenne, dane JSON i XML.
- Konto usługi Azure Storage udostępnia unikatową przestrzeń nazw dla danych usługi Azure Storage, które są dostępne z dowolnego miejsca na świecie za pośrednictwem protokołu HTTP lub HTTPS. Zawiera wszystkie obiekty danych usługi Azure Storage: obiekty blob, udziały plików, kolejki, tabele i dyski.
- Azure Key Vault to usługa do bezpiecznego przechowywania i uzyskiwania dostępu do kluczy interfejsu API, haseł, certyfikatów, kluczy kryptograficznych lub innych wpisów tajnych używanych przez aplikacje i usługi w chmurze.
- Usługa Azure Virtual Network to podstawowy blok konstrukcyjny dla sieci prywatnych na platformie Azure. Zasoby platformy Azure, takie jak maszyny wirtualne, mogą bezpiecznie komunikować się ze sobą, z Internetem i sieciami lokalnymi za pośrednictwem sieci wirtualnych.
- Usługa Azure Private Link udostępnia prywatny punkt końcowy w sieci wirtualnej na potrzeby łączności z usługami PaaS platformy Azure, takimi jak Azure Storage i SQL Database, lub z usługami klienta lub partnera.
- Prywatna komunikacja równorzędna usługi Azure ExpressRoute rozszerza sieci lokalne na chmurę firmy Microsoft za pośrednictwem połączenia prywatnego. Możesz również ustanowić sieć VPN typu lokacja-lokacja między siecią lokalną i siecią platformy Azure zamiast używać usługi Azure ExpressRoute.
- Azure Firewall to zarządzana usługa zabezpieczeń sieci oparta na chmurze, która pomaga chronić zasoby usługi Azure Virtual Network.
- Prywatna strefa DNS Zone zapewnia niezawodną i bezpieczną usługę DNS do zarządzania i rozpoznawania nazw domen w sieci wirtualnej.
- Prywatny program rozpoznawania nazw DNS umożliwia wykonywanie zapytań dotyczących stref prywatnych usługi Azure DNS ze środowiska lokalnego i na odwrót bez wdrażania serwerów DNS opartych na maszynie wirtualnej.
Alternatywy
W przypadku łączności prywatnej alternatywną metodą jest użycie środowiska App Service Environment do hostowania aplikacji internetowej w izolowanym środowisku. Środowisko App Service Environment pozwala uniknąć współużytkowanej infrastruktury hostingu między klientami usługi App Service. W przypadku bazy danych można natywnie wdrożyć usługę Azure SQL Managed Instance w sieci wirtualnej, więc nie potrzebujesz integracji sieci wirtualnej ani prywatnych punktów końcowych. Te oferty są zazwyczaj droższe, ponieważ zapewniają one wdrożenie izolowane w jednej dzierżawie i inne funkcje.
Jeśli masz środowisko App Service Environment, ale nie korzystasz z usługi SQL Managed Instance, nadal możesz użyć prywatnego punktu końcowego na potrzeby prywatnej łączności z bazą danych Azure SQL Database. Jeśli masz już usługę SQL Managed Instance, ale używasz usługi App Service, nadal możesz użyć regionalnej integracji sieci wirtualnej, aby nawiązać połączenie z prywatnym adresem usługi SQL Managed Instance.
W przypadku innych usług platformy Azure, takich jak Key Vault lub Storage, nie ma alternatywy dla korzystania z prywatnych punktów końcowych w celu zapewnienia wysokiej bezpieczeństwa i prywatnych połączeń z usługi Web Apps.
Potencjalne przypadki użycia
- Dostęp do aplikacji internetowej lub aplikacji funkcji usługi App Service prywatnie przy użyciu ulepszonego zabezpieczeń za pośrednictwem prywatnego punktu końcowego z sieci lokalnej lub z sieci wirtualnych platformy Azure.
- Nawiąż połączenie z aplikacji internetowej lub aplikacji funkcji z ofertami platformy Azure jako usługi (PaaS):
- Inna aplikacja internetowa
- SQL Database
- Azure Storage
- Key Vault
- Każda inna usługa, która obsługuje prywatne punkty końcowe platformy Azure na potrzeby łączności przychodzącej
Kwestie wymagające rozważenia
Te zagadnienia implementują filary struktury Azure Well-Architected Framework, która jest zestawem wytycznych, które mogą służyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Microsoft Azure Well-Architected Framework.
Zabezpieczenia
Zabezpieczenia zapewniają ochronę przed celowymi atakami i nadużyciami cennych danych i systemów. Aby uzyskać więcej informacji, zobacz Omówienie filaru zabezpieczeń.
Korzystanie z prywatnego punktu końcowego dla aplikacji internetowej umożliwia:
- Pomóż zabezpieczyć aplikację internetową, konfigurując prywatny punkt końcowy, eliminując publiczne ujawnienie.
- Połącz się z ulepszonym zabezpieczeniami usługi Web Apps z sieci lokalnych łączących się z siecią wirtualną przy użyciu prywatnej komunikacji równorzędnej sieci VPN lub usługi ExpressRoute. Połączenia przychodzące z aplikacją internetową są dozwolone tylko z sieci lokalnej lub z sieci wirtualnej platformy Azure.
- Unikaj eksfiltracji danych z sieci wirtualnej.
Możesz dodatkowo zwiększyć bezpieczeństwo połączenia przychodzącego z aplikacją internetową, tworząc fronting aplikacji za pomocą usługi, takiej jak aplikacja systemu Azure Gateway lub Azure Front Door, opcjonalnie za pomocą zapory aplikacji internetowej platformy Azure. Po włączeniu prywatnego punktu końcowego dla aplikacji internetowej konfiguracja ograniczeń dostępu aplikacji internetowej nie jest oceniana.
Ten scenariusz zwiększa również bezpieczeństwo połączenia wychodzącego z aplikacji internetowej usługi App Service do zależności podrzędnej, takiej jak baza danych, magazyn lub usługa Key Vault.
Routing aplikacji można skonfigurować tak, aby kierować cały ruch lub tylko ruch prywatny (znany również jako ruch RFC1918 ) do sieci wirtualnej. To zachowanie można skonfigurować przy użyciu ustawienia Trasy wszystko . Jeśli opcja Route All jest wyłączona, aplikacja internetowa kieruje tylko ruch prywatny do sieci wirtualnej. Aby zablokować ruch do publicznych adresów, włącz ustawienie Trasuj wszystko do sieci wirtualnej. Możesz również użyć sieciowej grupy zabezpieczeń, aby zablokować ruch wychodzący do zasobów w sieci wirtualnej lub w Internecie. Gdy opcja Route All nie jest włączona, sieciowe grupy zabezpieczeń są stosowane tylko do RFC1918 ruchu.
W tym przykładzie aplikacja internetowa nie musi komunikować się z żadną usługą, która nie znajduje się w sieci wirtualnej, więc opcja Route All jest włączona.
Ważnym zagadnieniem zabezpieczeń w tym scenariuszu jest konfiguracja zapory dla zasobów PaaS.
Opcje zapory usługi SQL Database
Bez korzystania z łączności prywatnej można dodać reguły zapory, które zezwalają na ruch przychodzący tylko z określonych zakresów adresów IP. Innym podejściem jest umożliwienie usługom platformy Azure uzyskiwania dostępu do serwera. Takie podejście blokuje zaporę tak, aby zezwalała tylko na ruch z platformy Azure. Jednak ten ruch obejmuje wszystkie regiony platformy Azure i innych klientów.
Możesz również dodać bardziej restrykcyjną regułę zapory, aby zezwolić na dostęp do bazy danych tylko wychodzącym adresom IP aplikacji. Te adresy IP są jednak współużytkowane z wieloma usługami App Services i zezwalają na ruch od innych klientów na tej samej sygnaturze wdrożenia, która używa tych samych wychodzących adresów IP.
Korzystanie z łączności prywatnej za pośrednictwem sieci wirtualnej zapewnia następujące opcje zapory, aby uniemożliwić innym osobom dostęp do bazy danych:
- Utwórz regułę sieci wirtualnej, która zezwala na ruch tylko z podsieci regionalnej delegowanej przez integrację z siecią wirtualną, podsieć integracji sieci wirtualnej w tym przykładzie. Podsieć delegowana musi mieć punkt końcowy usługi skonfigurowany dla programu Microsoft.Sql , aby baza danych mogła identyfikować ruch z tej podsieci.
- Skonfiguruj zaporę w celu odmowy dostępu do sieci publicznej. Spowoduje to wyłączenie wszystkich innych reguł zapory i sprawia, że baza danych jest dostępna tylko za pośrednictwem prywatnego punktu końcowego.
Opcja odmowy dostępu do sieci publicznej jest najbezpieczniejszą konfiguracją. Jeśli jednak używasz tej opcji, dostęp do bazy danych jest możliwy tylko za pośrednictwem sieci wirtualnej, która hostuje prywatny punkt końcowy. Aby nawiązać połączenie z bazą danych, wszystkie inne elementy niż aplikacja internetowa muszą mieć bezpośrednią łączność z siecią wirtualną.
Na przykład wdrożenia lub pilne połączenia ręczne z programu SQL Server Management Studio (SSMS) na maszynach lokalnych nie mogą nawiązać połączenia z bazą danych, z wyjątkiem połączeń sieci VPN lub usługi ExpressRoute z siecią wirtualną. Możesz również zdalnie nawiązać połączenie z maszyną wirtualną w sieci wirtualnej i korzystać z programu SSMS z tego miejsca. W wyjątkowych sytuacjach można tymczasowo zezwolić na dostęp do sieci publicznej i zmniejszyć ryzyko przy użyciu innych opcji konfiguracji.
Opcje zapory konta magazynu i usługi Key Vault
Konta magazynu i magazyny kluczy mają publiczny punkt końcowy dostępny z Internetu. Możesz również utworzyć prywatne punkty końcowe dla konta magazynu i magazynu kluczy. Dzięki temu te usługi przypisuje prywatny adres IP z sieci wirtualnej i pomaga zabezpieczyć cały ruch między siecią wirtualną a odpowiednią usługą za pośrednictwem łącza prywatnego.
Podczas tworzenia prywatnego punktu końcowego podsieć integracji sieci wirtualnej może uzyskiwać dostęp do usługi prywatnie i z ulepszonymi zabezpieczeniami za pośrednictwem łącza prywatnego. Jednak konto magazynu i magazyn kluczy są nadal dostępne z innych sieci wirtualnych platformy Azure. Aby zablokować dostęp z dowolnej innej sieci wirtualnej, utwórz punkt końcowy usługi dla tej delegowanej podsieci.
Dostępność
Obsługa usługi Private Link dla usług App Service, Azure SQL Database, Azure Storage i Azure Key Vault jest dostępna we wszystkich regionach publicznych. Aby sprawdzić dostępność w innych regionach, zobacz Dostępność usługi Azure Private Link.
Usługa Private Link wprowadza kolejny składnik i kwestie dotyczące dostępności w architekturze. Usługa Private Link ma umowę SLA o wysokiej dostępności. Należy wziąć pod uwagę tę umowę SLA podczas obliczania złożonego celu SLO całego rozwiązania.
Skalowalność
Aby uzyskać informacje na temat integrowania usługi Azure Private Link dla usług PaaS z strefami usługi Azure Prywatna strefa DNS w architekturach sieci piasty i szprych, zobacz Integracja usługi Private Link i DNS na dużą skalę.
Globalna komunikacja równorzędna
Każda usługa w dowolnym regionie świadczenia usługi Azure, która może łączyć się za pośrednictwem sieci wirtualnej, może uzyskać dostęp do prywatnych punktów końcowych usług PaaS, na przykład za pośrednictwem komunikacji równorzędnej sieci wirtualnych w topologii piasty i szprych. Jednak w przypadku regionalnej integracji sieci wirtualnej usługi App Service równorzędne sieci wirtualne muszą znajdować się w tym samym regionie świadczenia usługi Azure.
Brak globalnej obsługi komunikacji równorzędnej oznacza, że nie można używać tego rozwiązania do łączności między regionami z usługi App Service do bazy danych lub innego prywatnego punktu końcowego w innym regionie świadczenia usługi Azure. Na przykład to rozwiązanie nie będzie działać w przypadku wdrożenia obejmującego wiele regionów w celu obsługi częściowego trybu failover, w którym aplikacja internetowa pozostaje aktywna w jednym regionie, ale musi łączyć się z bazą danych przełączoną w tryb failover w innym regionie lub odwrotnie. Jednak w tej sytuacji istnieją inne rozwiązania.
Jeśli musisz połączyć usługę Web Apps z siecią wirtualną w innym regionie, możesz skonfigurować wymaganą bramę integrację z siecią wirtualną. Ograniczenie polega na tym, że integracja z siecią wirtualną wymaganą przez bramę nie może być używana z siecią wirtualną połączoną z usługą Azure ExpressRoute.
Rejestrowanie i monitorowanie
Usługa Azure Private Link jest zintegrowana z usługą Azure Monitor, co pozwala sprawdzić, czy dane przepływają.
Możesz również użyć usługi rozwiązywania problemów z połączeniem w usłudze Azure Network Watcher , aby śledzić łączność z maszyny wirtualnej w sieci wirtualnej do nazwy FQDN zasobu prywatnego punktu końcowego.
Optymalizacja kosztów
Optymalizacja kosztów dotyczy sposobów zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Omówienie filaru optymalizacji kosztów.
Nie ma żadnych dodatkowych kosztów dla regionalnej integracji sieci wirtualnej usługi App Service w obsługiwanych warstwach cenowych w planach Podstawowa, Standardowa, Premium v2, Premium v3, Izolowana v2 App Service i Azure Functions Premium.
Prywatny punkt końcowy jest dostępny dla aplikacji internetowych systemu Windows i aplikacji internetowych systemu Linux, konteneryzowanych lub nie, hostowanych w planach Usługi App Service w warstwie Podstawowa, Standardowa, Premium v2, Premium v3 i Izolowana wersja 2, a także dla aplikacji funkcji wdrożonych w planie Premium.
Usługa Azure Private Link, która umożliwia prywatne punkty końcowe dla usług PaaS, ma skojarzony koszt oparty na opłatie godzinowej oraz premię za przepustowość. Aby uzyskać szczegółowe informacje, zobacz stronę cennika usługi Private Link. Opłaty są naliczane za połączenia z sieci wirtualnej klienta do usługi Azure Firewall w sieci wirtualnej koncentratora. Nie są naliczane opłaty za połączenia z usługi Azure Firewall w sieci wirtualnej koncentratora do prywatnych punktów końcowych w równorzędnej sieci wirtualnej.
Koszty strefy usługi Azure Prywatna strefa DNS są oparte na liczbie stref DNS hostowanych na platformie Azure i liczbie odebranych zapytań DNS.
Aby zapoznać się z kosztem działania tego scenariusza, zobacz szacowanie kalkulatora cen platformy Azure. Wszystkie usługi opisane w tym artykule są wstępnie skonfigurowane z rozsądnymi wartościami domyślnymi dla aplikacji o małej skali. Aby zobaczyć, jak ceny zmienią się w twoim przypadku użycia, zmień odpowiednie zmienne, aby odpowiadały oczekiwanemu użyciu.
Współautorzy
Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następującego współautora.
Główny autor:
- Ankit Singhal | Architekt rozwiązań w chmurze
Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.
Następne kroki
- Zobacz szczegółowe wskazówki dotyczące sposobu integrowania usługi Azure Functions z siecią wirtualną platformy Azure przy użyciu prywatnych punktów końcowych.
- Zobacz kroki konfigurowania reguł aplikacji usługi Azure Firewall w celu sprawdzenia ruchu kierowanego do prywatnych punktów końcowych w różnych topologiach sieci.
- Aby uzyskać więcej informacji na temat scenariuszy ruchu przychodzącego i wychodzącego dla usługi App Service oraz funkcji do użycia w tym przypadku, zobacz Omówienie funkcji sieciowych usługi App Service.
- Aby uzyskać więcej informacji na temat prywatnych punktów końcowych dla usługi Azure Web Apps, zobacz Using Private Endpoints for Azure Web Apps (Używanie prywatnych punktów końcowych dla usługi Azure Web Apps).
- Aby uzyskać więcej informacji na temat integrowania aplikacji internetowych usługi App Service z usługą Azure Virtual Network, zobacz Integrowanie aplikacji z siecią wirtualną platformy Azure.
- Nazwa FQDN niektórych usług PaaS może zostać automatycznie rozpoznana jako publiczny adres IP. Aby uzyskać informacje na temat zastępowania konfiguracji DNS w celu nawiązania połączenia z prywatnym punktem końcowym, zobacz Konfiguracja usługi DNS prywatnego punktu końcowego platformy Azure.
Powiązane zasoby
- Prywatna łączność aplikacji internetowej z usługą Azure SQL Database
- Samouczek: integrowanie usługi Azure Functions z siecią wirtualną platformy Azure przy użyciu prywatnych punktów końcowych
- Samouczek: ustanawianie dostępu do witryny prywatnej usługi Azure Functions
- Używanie odwołań usługi Key Vault dla usług App Service i Azure Functions