Przyspieszanie i zabezpieczanie aplikacji internetowej za pomocą usługi Azure Front Door
Usługa Azure Front Door to globalnie rozproszona sieć dostarczania zawartości (CDN), która zapewnia mniejsze opóźnienia i szybsze dostarczanie aplikacji internetowej i zawartości. Ponadto usługa Front Door umożliwia udostępnianie zawartości z najwyższym poziomem odporności i oferuje szeroką gamę funkcji, w tym zaawansowany moduł równoważenia obciążenia aplikacji, przyspieszanie ruchu i zabezpieczenia.
Rozważ wdrożenie usługi Front Door przed dowolną publicznie dostępną aplikacją internetową.
Dobrze zaprojektowane rozwiązania na platformie Azure
Struktura Azure Well-Architected Framework opisuje pięć filarów doskonałości architektonicznej. Usługa Azure Front Door ułatwia rozwiązanie każdego z pięciu filarów przy użyciu wbudowanych funkcji i możliwości.
Efektywność wydajności
Usługa Front Door udostępnia kilka funkcji, które ułatwiają przyspieszenie wydajności aplikacji.
- Buforowanie: usługa Front Door udostępnia zaawansowaną sieć dostarczania zawartości (CDN) do buforowania zawartości na brzegu sieci. Prawie wszystkie aplikacje internetowe zawierają zawartość z możliwością buforowania. Statyczne zasoby, takie jak obrazy i pliki JavaScript, są buforowane. Ponadto wiele interfejsów API zwraca odpowiedzi, które można buforować, nawet przez krótki czas. Buforowanie pomaga zwiększyć wydajność aplikacji i zmniejszyć obciążenie serwerów aplikacji.
- Kompresja: można skompresować wiele typów odpowiedzi, co może poprawić czas odpowiedzi aplikacji.
- Globalne przyspieszanie ruchu: globalne możliwości przyspieszania ruchu w usłudze Front Door pomagają zwiększyć wydajność dynamicznych aplikacji internetowych przez kierowanie żądań za pośrednictwem szybkiej sieci szkieletowej firmy Microsoft.
- Zakończenie protokołu TLS: połączenia z usługą Front Door kończą się w najbliższym punkcie obecności usługi Front Door (PoP). Odszyfrowywanie protokołu TLS jest wykonywane przez dostawcę pop. Największym trafieniem wydajności podczas odszyfrowywania protokołu TLS jest początkowy uzgadnianie. Aby zwiększyć wydajność, serwer buforuje identyfikatory sesji PROTOKOŁU TLS i zarządza biletami sesji PROTOKOŁU TLS. Jeśli połączenia TLS są przerywane w usłudze Front Door PoP, wszystkie żądania z tego samego klienta mogą używać buforowanych wartości. Jeśli odbywa się to na serwerach pochodzenia, za każdym razem, gdy żądania klienta przechodzą do innego serwera, klient musi ponownie uwierzytelnić. Użycie biletów TLS może pomóc rozwiązać ten problem, ale nie są one obsługiwane przez wszystkich klientów i mogą być trudne do skonfigurowania i zarządzania.
Zabezpieczenia
Funkcje zabezpieczeń usługi Front Door pomagają chronić serwery aplikacji przed kilkoma różnymi typami zagrożeń.
- Kompleksowe szyfrowanie TLS: usługa Front Door obsługuje kompleksowe szyfrowanie TLS. Odciążanie protokołu TLS/SSL usługi Front Door kończy połączenie TLS, odszyfrowuje ruch w usłudze Azure Front Door i ponownie szyfruje ruch przed przekazaniem go do zaplecza.
- Zarządzane certyfikaty TLS: usługa Front Door może wystawiać certyfikaty i zarządzać nimi, zapewniając ochronę aplikacji za pomocą silnego szyfrowania i zaufania.
- Niestandardowe certyfikaty PROTOKOŁU TLS: jeśli musisz korzystać z własnych certyfikatów TLS, usługa Front Door umożliwia korzystanie z tożsamości zarządzanej w celu uzyskania dostępu do magazynu kluczy zawierającego certyfikat.
- Zapora aplikacji internetowej: zapora aplikacji internetowej (WAF) usługi Front Door udostępnia szereg funkcji zabezpieczeń aplikacji. Zarządzane zestawy reguł skanują przychodzące żądania pod kątem podejrzanej zawartości. Reguły ochrony botów identyfikują ruch z botów i reagują na nie. Funkcje filtrowania geograficznego i ograniczania szybkości chronią serwery aplikacji przed nieoczekiwanym ruchem.
- Blokowanie protokołu: usługa Front Door akceptuje tylko ruch w protokołach HTTP i HTTPS i będzie przetwarzać tylko prawidłowe żądania ze znanym
Host
nagłówkiem. Ze względu na to zachowanie aplikacja jest chroniona przed wieloma typami ataków w wielu różnych protokołach. - Ochrona przed atakami DDoS: ze względu na architekturę usługi Front Door może również absorbować duże ataki typu "odmowa usługi" (DDoS) i zapobiegać dotarciu do aplikacji przez ruch.
- Źródła usługi Private Link: integracja usługi Private Link pomaga chronić aplikacje zaplecza, zapewniając, że ruch może docierać tylko do aplikacji, przechodząc przez usługę Front Door i jej zabezpieczenia zabezpieczeń.
Jeśli masz ścisłe wymagania dotyczące zabezpieczeń sieci, możesz użyć usługi Azure Front Door do zarządzania przychodzącym ruchem HTTP i HTTPS do aplikacji oraz kontrolować ruch wychodzący i wychodzący za pomocą usługi Azure Firewall .
Niezawodność
Za pomocą usługi Front Door można tworzyć odporne, wysoce dostępne rozwiązania.
- Równoważenie obciążenia i tryb failover: usługa Front Door jest globalnym modułem równoważenia obciążenia. Usługa Front Door monitoruje kondycję serwerów pochodzenia, a jeśli źródło stanie się niedostępne, usługa Front Door może kierować żądania do alternatywnego źródła. Możesz również użyć usługi Front Door, aby rozłożyć ruch między źródłami, aby zmniejszyć obciążenie dowolnego serwera pochodzenia.
- Routing emisji dowolnej: sama usługa Front Door ma dużą liczbę żądań poPs, z których każdy może obsługiwać ruch dla dowolnego żądania. Każdy routing emisji kieruje ruch do najbliższej dostępnej usługi Front Door PoP, a jeśli poP jest niedostępny, klienci są automatycznie kierowani do następnego najbliższego dostawcy poP.
- Buforowanie: przy użyciu pamięci podręcznej usługi Front Door zmniejsza obciążenie serwerów aplikacji. Jeśli serwery są niedostępne, usługa Front Door może nadal obsługiwać buforowane odpowiedzi do momentu odzyskania aplikacji.
Optymalizacja kosztów
Usługa Front Door może pomóc w zmniejszeniu kosztów działania rozwiązania platformy Azure.
- Buforowanie: włączając buforowanie, zawartość jest zwracana z globalnych węzłów brzegowych usługi Front Door. Takie podejście zmniejsza opłaty za przepustowość globalną i zwiększa wydajność.
- Kompresja: gdy usługa Front Door kompresuje odpowiedzi, może zmniejszyć opłaty za przepustowość rozwiązania.
- Rozrzuć ruch między źródłami: użyj usługi Front Door, aby zmniejszyć konieczność skalowania serwerów aplikacji lub nadmiernej aprowizacji pojemności serwerów w przypadku skoków ruchu. Każda usługa Front Door PoP może zwracać buforowana zawartość, jeśli jest dostępna, co zmniejsza obciążenie serwerów aplikacji. Można również rozłożyć ruch na wiele serwerów zaplecza, zmniejszając obciążenie poszczególnych serwerów.
- Profil udostępniony: możesz użyć jednego profilu usługi Front Door dla wielu różnych aplikacji. Podczas konfigurowania wielu aplikacji w usłudze Front Door koszty są współużytkuje się w każdej aplikacji i można zmniejszyć konfigurację, którą należy wykonać.
Doskonałość operacyjna
Usługa Front Door może pomóc zmniejszyć obciążenie operacyjne uruchamiania nowoczesnej aplikacji internetowej i umożliwić wprowadzanie pewnych rodzajów zmian w rozwiązaniu bez modyfikowania aplikacji.
- Zarządzane certyfikaty TLS: usługa Front Door może wystawiać certyfikaty i zarządzać nimi. Ta funkcja oznacza, że nie musisz zarządzać odnawianiami certyfikatów i zmniejszasz prawdopodobieństwo awarii spowodowanej użyciem nieprawidłowego lub wygasłego certyfikatu TLS.
- Certyfikaty protokołu TLS z symbolami wieloznacznymi: obsługa domen wieloznacznych, w tym certyfikatów DNS i TLS, umożliwia używanie wielu nazw hostów bez ponownego konfigurowania usługi Front Door dla każdej poddomeny.
- HTTP/2: Usługa Front Door może pomóc w modernizacji starszych aplikacji przy użyciu obsługi protokołu HTTP/2 bez modyfikowania serwerów aplikacji.
- Aparat reguł: aparat reguł usługi Front Door umożliwia zmianę wewnętrznej architektury rozwiązania bez wpływu na klientów.
- Infrastruktura jako kod: możesz również wdrożyć i skonfigurować usługę Front Door przy użyciu technologii infrastruktury jako kodu (IaC), w tym Bicep, Terraform, szablonów usługi ARM, programu Azure PowerShell i interfejsu wiersza polecenia platformy Azure.
Architektura rozwiązania
Podczas wdrażania rozwiązania korzystającego z usługi Azure Front Door należy wziąć pod uwagę sposób przepływu ruchu z klienta do usługi Front Door i z usługi Front Door do źródeł.
Na poniższym diagramie przedstawiono ogólną architekturę rozwiązania przy użyciu usługi Front Door:
Klient do usługi Front Door
Ruch z klienta najpierw dociera do usługi Front Door PoP. Usługa Front Door ma dużą liczbę rozproszonych punktów pops na całym świecie, a anycast kieruje klientów do najbliższej weryfikacji koncepcji.
Po odebraniu żądania przez usługę Front Door poP usługa Front Door używa niestandardowej nazwy domeny do obsługi żądania. Usługa Front Door wykonuje odciążanie protokołu TLS przy użyciu certyfikatu TLS zarządzanego przez usługę Front Door lub niestandardowego certyfikatu TLS.
Funkcja PoP wykonuje wiele funkcji na podstawie konfiguracji określonej w profilu usługi Front Door, w tym:
- Ochrona rozwiązania przed wieloma typami ataków DDoS.
- Skanowanie żądania pod kątem znanych luk w zabezpieczeniach przy użyciu zapory aplikacji internetowej usługi Front Door.
- Zwracanie buforowanych odpowiedzi w celu zwiększenia wydajności, jeśli są one przechowywane w usłudze Front Door PoP i są prawidłowe dla żądania.
- Kompresowanie odpowiedzi w celu zwiększenia wydajności.
- Zwracanie odpowiedzi przekierowania HTTP bezpośrednio z usługi Front Door.
- Wybranie najlepszego źródła do odbierania ruchu na podstawie architektury routingu.
- Modyfikowanie żądania przy użyciu aparatu reguł.
Po zakończeniu przetwarzania żądania przychodzącego usługa Front Door odpowiada bezpośrednio do klienta (na przykład gdy zwraca buforowany wynik) lub przekazuje żądanie do źródła.
Front Door do źródła
Usługa Front Door może wysyłać ruch do źródła na dwa różne sposoby: przy użyciu usługi Private Link i przy użyciu publicznych adresów IP.
Jednostka SKU Premium usługi Front Door obsługuje wysyłanie ruchu do niektórych typów źródeł przy użyciu usługi Private Link. Podczas konfigurowania usługi Private Link dla źródła ruch używa prywatnych adresów IP. Takie podejście może służyć do zapewnienia, że źródło akceptuje tylko ruch z określonego wystąpienia usługi Front Door i możesz zablokować ruch pochodzący z Internetu.
Gdy usługa Front Door PoP wysyła żądania do źródła przy użyciu publicznego adresu IP, inicjuje nowe połączenie TCP. Ze względu na to zachowanie serwer pochodzenia widzi żądanie pochodzące z adresu IP usługi Front Door zamiast klienta.
Niezależnie od tego, które podejście jest używane do wysyłania ruchu do źródła, zazwyczaj dobrym rozwiązaniem jest skonfigurowanie źródła w celu oczekiwania ruchu z profilu usługi Front Door i blokowania ruchu, który nie przepływa przez usługę Front Door. Aby uzyskać więcej informacji, zobacz Bezpieczny ruch do źródeł usługi Azure Front Door.
Przetwarzanie odpowiedzi
PoP usługi Front Door przetwarza również odpowiedź wychodzącą. Przetwarzanie odpowiedzi może obejmować następujące kroki:
- Zapisywanie odpowiedzi w pamięci podręcznej programu PoP w celu przyspieszenia późniejszych żądań.
- Modyfikowanie nagłówka odpowiedzi przy użyciu aparatu reguł.
Analiza i raportowanie
Ponieważ usługa Front Door przetwarza wszystkie żądania przychodzące, ma widoczność całego ruchu przepływającego przez rozwiązanie. Aby zrozumieć wzorce ruchu, możesz użyć raportów, metryk i dzienników usługi Front Door.
Napiwek
W przypadku korzystania z usługi Front Door niektóre żądania mogą nie być przetwarzane przez serwer pochodzenia. Na przykład zapora aplikacji internetowej usługi Front Door może blokować niektóre żądania i może zwracać buforowane odpowiedzi dla innych żądań. Użyj telemetrii usługi Front Door, aby zrozumieć wzorce ruchu rozwiązania.
Następne kroki
Dowiedz się, jak utworzyć profil usługi Front Door.