Udostępnij za pośrednictwem


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óźnienie i szybsze dostarczanie aplikacji internetowej i zawartości. Ponadto usługa Front Door umożliwia udostępnienie zawartości o najwyższych poziomach odporności i oferuje szeroką gamę funkcji, w tym zaawansowanego modułu równoważenia obciążenia aplikacji, przyspieszania ruchu i zabezpieczeń.

Rozważ wdrożenie usługi Front Door przed każdą publiczną aplikacją internetową.

Dobrze zaprojektowane rozwiązania na platformie Azure

W przewodniku Azure Well-Architected Framework opisano pięć filarów doskonałości architektury. Usługa Azure Front Door pomaga rozwiązać każdy 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 mogą być buforowane, nawet przez krótki czas. Buforowanie pomaga zwiększyć wydajność aplikacji i zmniejszyć obciążenie serwerów aplikacji.
  • Kompresja:Wiele typów odpowiedzi można skompresować, 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 sieci szkieletowej firmy Microsoft o dużej szybkości.
  • 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 uścisk dłoni. Aby zwiększyć wydajność, serwer wykonuje odszyfrowywanie buforuje identyfikatory sesji TLS i zarządza biletami sesji 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

Możliwości 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 przez silne szyfrowanie i zaufanie.
  • Niestandardowe certyfikaty TLS: Jeśli musisz przenieść własne certyfikaty 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 możliwości zabezpieczeń aplikacji. Zarządzane zestawy reguł skanują żądania przychodzące pod kątem podejrzanej zawartości. Reguły ochrony botów identyfikują i reagują na ruch z botów. 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. W związku z tym zachowaniem aplikacja jest chroniona przed wieloma typami ataków w wielu 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.
  • Private Link origins:Private Link integracja pomaga chronić aplikacje zaplecza, zapewniając, że ruch może docierać tylko do aplikacji, przechodząc przez usługę Front Door i jej zabezpieczenia.

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 użyć Azure Firewall do kontrolowania ruchu przychodzącego i wychodzącego bez protokołu HTTP.

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 to globalny moduł 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 do rozłożenia ruchu między źródłami, aby zmniejszyć obciążenie dowolnego serwera pochodzenia.
  • Routing emisji dowolnej: Sama usługa Front Door ma dużą liczbę pops, z których każda może obsługiwać ruch dla dowolnego żądania. Każdy routing routingu 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ępnej najbliższej poP.
  • Buforowanie: Korzystając z pamięci podręcznej usługi Front Door, można zmniejszyć 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: Po włączeniu buforowania 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ść.
  • Kompresji: Gdy usługa Front Door kompresuje odpowiedzi, może zmniejszyć opłaty za przepustowość rozwiązania.
  • Rozprzestrzenianie ruchu 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 celu zwiększenia ruchu. Każda usługa PoP usługi Front Door może zwracać zawartość buforowanej, 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żna użyć jednego profilu usługi Front Door dla wielu różnych aplikacji. Podczas konfigurowania wielu aplikacji w usłudze Front Door koszty są udostępniane w każdej aplikacji i można zmniejszyć konfigurację, którą należy wykonać.

Efektywność 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ć odnowieniami certyfikatów i zmniejszasz prawdopodobieństwo awarii spowodowanej użyciem nieprawidłowego lub wygasłego certyfikatu TLS.
  • Wieloznaczne certyfikaty TLS: Obsługa domen wieloznacznych usługi Front Door, w tym certyfikatów DNS i TLS, umożliwia używanie wielu nazw hostów bez ponownej konfiguracji 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: Usługę Front Door można również wdrożyć i skonfigurować przy użyciu technologii infrastruktury jako kodu (IaC), takich jak Bicep, Terraform, szablony usługi ARM, Azure PowerShell i interfejs wiersza polecenia platformy Azure.

Architektura rozwiązania

Podczas wdrażania rozwiązania korzystającego z usługi Azure Front Door należy rozważyć przepływ 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:

Diagram routingu ruchu użytkowników usługi Azure Front Door do punktów końcowych.

Klient do usługi Front Door

Ruch z klienta najpierw dociera do usługi Front Door PoP. Usługa Front Door ma dużą liczbę punktów pops rozproszonych na całym świecie, a usługa Anycast kieruje klientów do najbliższego dostawcy pop.

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.

PoP wykonuje wiele funkcji na podstawie konfiguracji określonej w profilu usługi Front Door, w tym:

Po zakończeniu przetwarzania żądania przychodzącego usługa Front Door odpowiada bezpośrednio na 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 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 Private Link. Podczas konfigurowania 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. W związku z tym zachowaniem serwer źródłowy 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, zwykle dobrym rozwiązaniem jest skonfigurowanie źródła do oczekiwania ruchu z profilu usługi Front Door i blokowanie ruchu, który nie przepływa przez usługę Front Door. Aby uzyskać więcej informacji, zobacz Zabezpieczanie ruchu do źródeł usługi Azure Front Door.

Przetwarzanie odpowiedzi

Usługa 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.

Porada

W przypadku korzystania z usługi Front Door niektóre żądania mogą nie być przetwarzane przez serwer źródłowy. 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.