W przypadku klientów w segmentach, które są ściśle zarządzane i ograniczone przez zgodność, ważne jest, aby mieć izolowane i dedykowane środowisko, zwłaszcza w przypadku aplikacji biznesowych. Chociaż zabezpieczenia są frontonem i centrum, te krytyczne aplikacje wymagają również możliwości skalowania i wykonywania w scenariuszach wysokiego wykorzystania pamięci lub wysokich żądań na sekundę. To rozwiązanie stanowi przykład sposobu hostowania aplikacji biznesowych. Możesz użyć środowiska App Service Environment, aby zapewnić jednoczesne rozwiązania zarówno zabezpieczeń, jak i wydajności. Podczas wdrażania tego rozwiązania będziesz mieć elastyczność korzystania z istniejących zasobów w strefie docelowej platformy Azure, która reprezentuje zasoby w sieci wirtualnej piasty. Możesz też wdrożyć to rozwiązanie jako samodzielne obciążenie.
Uwaga
Ten artykuł zawiera architekturę umożliwiającą wdrożenie, która jest zgodna ze wskazówkami dotyczącymi przewodnika Cloud Adoption Framework dla usługi App Service w strefach docelowych platformy Azure.
Architektura
Cały ten obraz znajduje się w zakresie subskrypcji i prywatnej strefy DNS. Jest ona oznaczona ikoną subskrypcji i ikoną strefy usługi Azure Prywatna strefa DNS w lewym górnym rogu. Poniżej tych ikon dwa bloki znajdują się obok siebie. Reprezentują one dwie sieci wirtualne z komunikacją równorzędną sieci wirtualnych między nimi. Blok po lewej stronie reprezentuje sieć wirtualną piasty, a blok po prawej stronie reprezentuje sieć wirtualną szprychy. W lewym polu znajdują się trzy mniejsze pola. Każde pole wskazuje inną podsieć i skojarzą z nią sieciową grupę zabezpieczeń. Począwszy od lewego górnego rogu jest wystąpienie usługi Azure Bastion w podsieci usługi Azure Bastion, a w prawym górnym rogu znajduje się maszyna wirtualna serwera przesiadkowego, która znajduje się w podsieci serwera przesiadkowego. W prawym dolnym rogu znajduje się trzecie i ostatnie pole w sieci wirtualnej koncentratora, który zawiera serwer agenta ciągłej integracji/ciągłego wdrażania, który znajduje się w podsieci ciągłej integracji/ciągłego wdrażania. Pole po prawej stronie, które reprezentuje sieć wirtualną szprychy, zawiera tylko jedno mniejsze pole, podsieć App Service Environment, która zawiera wystąpienie środowiska App Service Environment w wersji 3. Mniejsze pole reprezentuje środowisko App Service Environment. Ikona usługi App Service znajduje się w tym polu. W dolnej części obrazu znajdują się udostępnione zasoby, które są również wdrażane w ramach procesu. Od lewej do prawej strony udostępnione zasoby obejmują usługę Azure Key Vault, obszar roboczy usługi Azure Log Analytics i aplikacja systemu Azure Insights.
Pobierz plik programu Visio z tą architekturą.
Przepływ pracy
W tej architekturze istnieją trzy przepływy z objaśnień: Operacje (pomarańczowe), Wdrażanie (zielony) i Użytkownik (purpurowy).
Operacje
- Operatorzy lub administratorzy będą chcieli wykonywać zadania administracyjne na serwerze ciągłej integracji/ciągłego wdrażania (CI/CD) lub w punkcie końcowym Kudu dla środowiska App Service Environment. Najpierw należy nawiązać połączenie z hostem usługi Azure Bastion.
- Za pomocą hosta usługi Azure Bastion operator lub administrator może następnie użyć protokołu RDP (Remote Desk Protocol), aby uzyskać dostęp do serwera przesiadkowego.
- Z serwera przesiadkowego operator lub administrator może połączyć się z serwerem ciągłej integracji/ciągłego wdrażania i wykonywać wymagane zadania, takie jak uaktualnienia agenta, uaktualnienia systemu operacyjnego itd. Operator lub administrator może również nawiązać połączenie z serwera przesiadkowego z punktem końcowym Kudu wystąpienia środowiska App Service Environment, aby wykonać zadania administracyjne lub wykonać zaawansowane rozwiązywanie problemów.
Wdrożenie
- Wdrożenie rozwiązania odbywa się za pośrednictwem serwera agenta ciągłej integracji/ciągłego wdrażania. Agent DevOps na tym serwerze połączy się z usługą Azure Pipelines po wykonaniu nowego wdrożenia.
- Artefakty zostaną następnie wdrożone w usłudze app service, łącząc się ze środowiskiem App Service Environment za pośrednictwem komunikacji równorzędnej sieci wirtualnych.
User
- Użytkownicy mogą łączyć się z wdrożonym usługą App Service za pośrednictwem sieci firmowej. W razie potrzeby mogą korzystać z usługi Azure ExpressRoute lub sieci VPN oraz/lub za pośrednictwem dowolnej odpowiedniej komunikacji równorzędnej sieci wirtualnych platformy Azure.
Składniki
Rozwiązanie korzysta z następujących usług platformy Azure:
aplikacja systemu Azure Service Environment v3 (ASEv3) to funkcja usługi aplikacja systemu Azure i jest usługą z jedną dzierżawą dla klientów, którzy wymagają wysokiej skali, izolacji sieci, zabezpieczeń i/lub wysokiego wykorzystania pamięci. Aplikacje są hostowane w planach usługi App Service utworzonych w środowisku App Service Environment w wersji 3 z opcjami używania różnych warstw w ramach planu usługi Izolowana wersja 2. W porównaniu z wcześniejszą wersją środowiska App Service Environment wprowadzono wiele ulepszeń, w tym między innymi zależność sieci, czas skalowania i usunięcie opłaty skarbowej. To rozwiązanie używa środowiska App Service Environment w wersji 3 skonfigurowanego pod kątem dostępu wewnętrznego.
Usługa Azure Prywatna strefa DNS umożliwia zarządzanie i rozpoznawanie nazw domen w sieci wirtualnej bez konieczności implementowania niestandardowego rozwiązania DNS. Strefę Prywatna strefa DNS platformy Azure można dopasować do co najmniej jednej sieci wirtualnej za pośrednictwem łączy sieci wirtualnej. Ze względu na wewnętrzny charakter środowiska App Service Environment w wersji 3 używanej przez tę architekturę referencyjną do rozpoznawania nazw domen aplikacji hostowanych w środowisku App Service Environment jest wymagana prywatna strefa DNS.
aplikacja systemu Azure Insights to funkcja usługi Azure Monitor, która ułatwia deweloperom wykrywanie anomalii, diagnozowanie problemów i zrozumienie wzorców użycia. Funkcje usługi Application Insights rozszerzalne zarządzanie wydajnością aplikacji i monitorowanie ich na żywo w aplikacjach internetowych. Obsługiwane są różne platformy, w tym .NET, Node.js, Java i Python. Obsługuje aplikacje hostowane na platformie Azure, lokalnie, w środowisku hybrydowym lub w innych chmurach publicznych. Usługa Application Insights jest uwzględniona w ramach tej architektury referencyjnej, aby monitorować zachowania wdrożonej aplikacji.
Azure Log Analytics to funkcja usługi Azure Monitor, która umożliwia edytowanie i uruchamianie zapytań dzienników przy użyciu danych w dziennikach usługi Azure Monitor , opcjonalnie z poziomu witryny Azure Portal. Deweloperzy mogą uruchamiać proste zapytania dla zestawu rekordów lub używać usługi Log Analytics do przeprowadzania zaawansowanej analizy. Następnie mogą wizualizować wyniki. Usługa Log Analytics jest skonfigurowana jako część tej architektury referencyjnej, aby agregować wszystkie dzienniki monitorowania na potrzeby analizy i raportowania.
Usługa Azure Virtual Machines to skalowalny zasób obliczeniowy na żądanie, który może służyć do hostowania kilku różnych obciążeń. W tej architekturze referencyjnej maszyny wirtualne są używane do zapewnienia serwera przesiadkowego zarządzania oraz do udostępniania hosta agentowi DevOps lub modułowi uruchamiającego usługę GitHub.
Azure Key Vault to usługa w chmurze, która bezpiecznie przechowuje wpisy tajne i uzyskuje do nich dostęp, od kluczy interfejsu API i haseł po certyfikaty i klucze kryptograficzne. Magazyn kluczy platformy Azure jest wdrażany w ramach infrastruktury tej architektury, aby ułatwić zarządzanie wpisami tajnymi na potrzeby przyszłych wdrożeń kodu.
Azure Bastion to usługa typu "platforma jako usługa", która jest aprowizowana w sieci wirtualnej dewelopera. Zapewnia ona bezpieczną łączność RDP/SSH z maszynami wirtualnymi dewelopera za pośrednictwem protokołu TLS w witrynie Azure Portal. W usłudze Azure Bastion maszyny wirtualne nie wymagają już publicznego adresu IP do nawiązania połączenia za pośrednictwem protokołu RDP/SSH. Ta architektura referencyjna używa usługi Azure Bastion do uzyskiwania dostępu do agenta DevOps lub serwera modułu uruchamiającego usługę GitHub lub serwera serwera przesiadkowego zarządzania.
Alternatywy
Rozważ dodanie aplikacja systemu Azure Gateway przed wystąpieniem usługi App Service, aby zapewnić funkcję zapory aplikacji internetowej (WAF), aby chronić aplikacje internetowe przed typowymi lukami w zabezpieczeniach i lukami w zabezpieczeniach.
Własnego modułu uruchamiającego usługę GitHub można używać zamiast własnego agenta usługi Azure DevOps.
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.
Niezawodność
Niezawodność zapewnia, że aplikacja może spełnić zobowiązania podjęte przez klientów. Aby uzyskać więcej informacji, zobacz Omówienie filaru niezawodności.
- Weź pod uwagę wymagania dotyczące nadmiarowości stref w tej implementacji referencyjnej, a także możliwości nadmiarowości strefy innych usług platformy Azure w rozwiązaniu. Środowisko App Service Environment w wersji 3 obsługuje nadmiarowość stref przez rozłożenie wystąpień na wszystkie trzy strefy w regionie docelowym. Tę konfigurację można ustawić tylko w momencie tworzenia środowiska App Service Environment i może nie być dostępna we wszystkich regionach. Zobacz więcej informacji, zobacz Obsługa strefy dostępności dla środowiska App Service Environment. Ta implementacja referencyjna implementuje nadmiarowość strefy, ale można ją zmienić, klonując to repozytorium i ustawiając
zoneRedundant
właściwość nafalse
.
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ń.
- Skorzystaj z odpowiednich ograniczeń dostępu, aby usługa App Service mogła korzystać tylko z prawidłowych lokalizacji. Jeśli na przykład usługa App Service hostuje interfejsy API i jest frontonowana przez usługę APIM, możesz skonfigurować ograniczenie dostępu, aby usługa App Service była dostępna tylko z poziomu usługi APIM.
- Ponieważ ta implementacja referencyjna wdraża środowisko App Service Environment w sieci wirtualnej (nazywane wewnętrznym środowiskiem App Service Environment), wszystkie aplikacje wdrożone w środowisku App Service Environment są z natury odizolowane od sieci w zakresie sieci wirtualnej.
- Przechowywanie wpisów tajnych aplikacji (poświadczeń bazy danych, tokenów interfejsu API i kluczy prywatnych) w usłudze Azure Key Vault. Skonfiguruj aplikację usługi App Service, aby bezpiecznie uzyskiwać do nich dostęp przy użyciu tożsamości zarządzanej. Określ, kiedy należy używać usługi Azure Key Vault a aplikacja systemu Azure Configuration.
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.
- Chociaż nie ma opłaty jednostkowej za wystąpienie środowiska App Service Environment w wersji 3, opłaty są naliczane, gdy w wystąpieniu środowiska App Service Environment w wersji 3 nie są konfigurowane żadne plany usługi App Service Environment. Ta opłata jest naliczana w tej samej stawce co jedno wystąpienie wystąpienia systemu Windows I1v2 dla regionu, w którym jest wdrażane wystąpienie środowiska App Service Environment w wersji 3.
- Po skonfigurowaniu jako strefowo nadmiarowy model ładowania jest dostosowywany do uwzględnienia podstawowej infrastruktury wdrożonej w tej konfiguracji. Użytkownik może ponosić odpowiedzialność za dodatkowe wystąpienia zgodnie z cennikiem ASEv3.
- W przypadku planów usługi App Service Environment w wersji 3 (nazywanych planami usługi App Service w wersji 2 izolowanej w wersji 2) użyj planu oszczędności platformy Azure i planu oszczędności platformy Azure na potrzeby obliczeń z umową roczną lub trzyletnią i uzyskaj znaczne oszczędności z płatności zgodnie z rzeczywistym użyciem. Aby uzyskać więcej informacji, zobacz How reservation discounts apply to Isolated v2 instances (Jak rabaty za rezerwację dotyczą wystąpień izolowanych w wersji 2).
Doskonałość operacyjna
Doskonałość operacyjna obejmuje procesy operacyjne, które wdrażają aplikację i działają w środowisku produkcyjnym. Aby uzyskać więcej informacji, zobacz Omówienie filaru doskonałości operacyjnej.
- Użyj usługi Application Insights lub innego rozwiązania do zarządzania wydajnością aplikacji, aby monitorować i dowiedzieć się, jak działa aplikacja w różnych środowiskach.
- Istnieją dwa sposoby włączania usługi Application Insights. W przypadku różnych środowisk zbierz dane telemetryczne do różnych wystąpień usługi Application Insights.
- Jeśli aplikacja ma wiele składników oddzielonych różnymi usługami, warto zbadać ich zachowanie razem. Zbierz dane telemetryczne w tym samym wystąpieniu usługi Application Insights, ale oznacz je różnymi nazwami ról w chmurze.
- Wyeksportuj dane usługi Application Insights do obszaru roboczego usługi Azure Log Analytics . Zalecamy używanie jednego obszaru roboczego dla organizacji.
- Uwzględnij operacyjne pulpity nawigacyjne w projekcie aplikacji i funkcji, aby zapewnić, że rozwiązanie może być obsługiwane w środowisku produkcyjnym.
- Zaimplementuj kontrole kondycji punktów końcowych, a następnie użyj ich do sond kondycji, kontroli zależności i testów dostępności.
- Rozważ użycie prefiksów i sufiksów z dobrze zdefiniowanymi konwencjami, aby jednoznacznie zidentyfikować każdy wdrożony zasób. Te konwencje nazewnictwa unikają konfliktów podczas wdrażania rozwiązań obok siebie i poprawy ogólnej elastyczności zespołu i przepływności.
- W zależności od konfiguracji sieci usługa App Service może nie być dostępna z publicznego Internetu, a korzystanie z publicznych hostowanych agentów nie będzie działać w przypadku wdrożeń. W tym scenariuszu użyj własnych agentów .
Wdrażanie tego scenariusza
Aby rozpocząć i lepiej zrozumieć szczegóły tej implementacji, zapoznaj się z zasobami implementacji referencyjnej w przewodniku użytkownika dotyczącym wdrażania implementacji referencyjnej.
- Zalecamy sklonowanie tego repozytorium i zmodyfikowanie zasobów implementacji referencyjnej zgodnie z wymaganiami i wytycznymi organizacji dotyczącymi określonych stref docelowych.
- Przed wdrożeniem upewnij się, że jednostka usługi używana do wdrożenia rozwiązania ma wymagane uprawnienia do tworzenia typów zasobów wymienionych powyżej.
- Rozważ usługę ciągłej integracji/ciągłego wdrażania, której użyjesz do wdrożenia implementacji referencyjnej. Ponieważ ta implementacja referencyjna jest wewnętrznym środowiskiem App Service Environment, będziesz potrzebować własnego agenta do wykonywania potoków wdrażania. Możesz użyć agenta DevOps lub modułu uruchamiającego usługę GitHub. Zapoznaj się z podręcznikiem użytkownika dotyczącymi określonych wartości konfiguracji, które są wymagane.
- Rozważ regiony, w których zamierzasz wdrożyć tę implementację referencyjną. Zapoznaj się z listą Regionów ASEv3, aby upewnić się, że wybrane regiony są włączone do wdrożenia.
Współautorzy
Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.
Autorzy zabezpieczeń:
- Pete Messina | Architekt rozwiązań w chmurze Senoir
- Nabeel Prior | Starszy architekt rozwiązań w chmurze
Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.
Następne kroki
- Zabezpieczenia w usłudze Azure App Service
- Sieć dla usługi App Service
- Wskazówki dotyczące przewodnika Cloud Adoption Framework dla usługi App Service w strefach docelowych platformy Azure
Dowiedz się więcej o tych kluczowych usługach:
- aplikacja systemu Azure Service Environment v3 (ASEv3)
- Strefy usługi Azure Prywatna strefa DNS
- Azure Application Insights
- Program Azure Log Analytics
- Omówienie usługi Azure Virtual Machines
- Pojęcia dotyczące usługi Azure Key Vault
- Azure Bastion
Powiązane zasoby
- Wdrażanie w przedsiębiorstwie o wysokiej dostępności przy użyciu środowiska App Services Environment
- Wdrażanie w przedsiębiorstwie przy użyciu środowiska App Service Environment
- Wdrażanie w przedsiębiorstwie o wysokiej dostępności przy użyciu środowiska App Service Environment
- Witryna internetowa handlu elektronicznego działająca w zabezpieczonym środowisku App Service Environment