Korzystanie z usługi Azure Front Door z obiektami blob usługi Azure Storage
Usługa Azure Front Door przyspiesza dostarczanie zawartości statycznej z obiektów blob usługi Azure Storage i umożliwia bezpieczną i skalowalną architekturę. Dostarczanie zawartości statycznej jest przydatne w wielu różnych przypadkach użycia, w tym hostingu witryn internetowych i dostarczania plików.
Architektura
W tej architekturze referencyjnej wdrażasz konto magazynu i profil usługi Front Door z jednym źródłem.
Przepływ danych
Dane przepływa przez scenariusz w następujący sposób:
- Klient ustanawia bezpieczne połączenie z usługą Azure Front Door przy użyciu niestandardowej nazwy domeny i certyfikatu TLS dostarczonego przez usługę Front Door. Połączenie klienta kończy się w pobliskim punkcie obecności usługi Front Door (PoP).
- Zapora aplikacji internetowej usługi Front Door skanuje żądanie. Jeśli zapora aplikacji internetowej ustali, że poziom ryzyka żądania jest zbyt wysoki, blokuje żądanie, a usługa Front Door zwraca odpowiedź o błędzie HTTP 403.
- Jeśli pamięć podręczna usługi Front Door PoP zawiera prawidłową odpowiedź dla tego żądania, usługa Front Door natychmiast zwraca odpowiedź.
- W przeciwnym razie poP wysyła żądanie do konta magazynu pochodzenia, niezależnie od tego, gdzie znajduje się na świecie, przy użyciu sieci szkieletowej firmy Microsoft. PoP łączy się z kontem magazynu przy użyciu oddzielnego, długotrwałego połączenia TCP. W tym scenariuszu usługa Private Link jest używana do bezpiecznego nawiązywania połączenia z kontem magazynu.
- Konto magazynu wysyła odpowiedź do usługi Front Door PoP.
- PoP odbiera odpowiedź, przechowuje ją w pamięci podręcznej dla kolejnych żądań.
- PoP zwraca odpowiedź na klienta.
- Wszystkie żądania bezpośrednio do konta magazynu przez Internet są blokowane przez zaporę usługi Azure Storage.
Elementy
- Usługa Azure Storage przechowuje zawartość statyczną w obiektach blob.
- Usługa Azure Front Door odbiera połączenia przychodzące od klientów, skanuje je za pomocą zapory aplikacji internetowej, bezpiecznie przekazuje żądanie do konta magazynu i buforuje odpowiedzi.
Alternatywy
Jeśli masz pliki statyczne u innego dostawcy magazynu w chmurze lub hostujesz zawartość statyczną w infrastrukturze, której jesteś właścicielem i konserwujesz, wiele z tych scenariuszy nadal ma zastosowanie. Należy jednak wziąć pod uwagę sposób ochrony ruchu przychodzącego na serwerze pochodzenia, aby sprawdzić, czy przechodzi przez usługę Front Door. Jeśli dostawca magazynu nie obsługuje usługi Private Link, rozważ użycie alternatywnego podejścia, takiego jak zezwalanie na dodanie tagu usługi Front Door i sprawdzenie nagłówkaX-Azure-FDID
.
Szczegóły scenariusza
Dostarczanie zawartości statycznej jest przydatne w wielu sytuacjach, takich jak następujące przykłady:
- Dostarczanie obrazów, plików CSS i plików JavaScript dla aplikacji internetowej.
- Obsługa plików i dokumentów, takich jak pliki PDF lub pliki JSON.
- Dostarczanie wideo bez transmisji strumieniowej.
Ze względu na jej charakter zawartość statyczna nie zmienia się często. Pliki statyczne mogą być również duże. Te cechy sprawiają, że jest to dobry kandydat do buforowania, co zwiększa wydajność i zmniejsza koszt obsługi żądań.
W złożonym scenariuszu pojedynczy profil usługi Front Door może obsługiwać zawartość statyczną i zawartość dynamiczną. Możesz użyć oddzielnych grup pochodzenia dla każdego typu źródła i użyć funkcji routingu usługi Front Door do kierowania żądań przychodzących do poprawnego źródła.
Kwestie wymagające rozważenia
Skalowalność i wydajność
Jako sieć dostarczania zawartości (CDN) usługa Front Door buforuje zawartość w globalnie rozproszonej sieci poPs. Gdy buforowana kopia odpowiedzi jest dostępna w punkcie weryfikacji koncepcji, usługa Front Door może szybko odpowiedzieć za pomocą buforowanej odpowiedzi. Zwracanie zawartości z pamięci podręcznej zwiększa wydajność rozwiązania i zmniejsza obciążenie źródła. Jeśli poP nie ma prawidłowej buforowanej odpowiedzi, możliwości przyspieszania ruchu usługi Front Door skracają czas udostępniania zawartości ze źródła.
Zabezpieczenia
Uwierzytelnianie
Usługa Front Door jest przeznaczona do obsługi Internetu, a ten scenariusz jest zoptymalizowany pod kątem publicznie dostępnych obiektów blob. Jeśli musisz uwierzytelnić dostęp do obiektów blob, rozważ użycie sygnatur dostępu współdzielonego i upewnij się, że włączysz zachowanie ciągu zapytania Użyj ciągu zapytania, aby uniknąć obsługi żądań przez usługę Front Door do nieuwierzytelnionych klientów. Jednak takie podejście może nie być skuteczne w użyciu pamięci podręcznej usługi Front Door, ponieważ każde żądanie z innym sygnaturą dostępu współdzielonego musi być wysyłane oddzielnie do źródła.
Zabezpieczenia źródła
Usługa Front Door bezpiecznie łączy się z kontem usługi Azure Storage przy użyciu usługi Private Link. Konto magazynu jest skonfigurowane do odmowy bezpośredniego dostępu z Internetu i zezwalania na żądania tylko za pośrednictwem połączenia prywatnego punktu końcowego używanego przez usługę Front Door. Ta konfiguracja zapewnia, że każde żądanie jest przetwarzane przez usługę Front Door i pozwala uniknąć ujawnienia zawartości konta magazynu bezpośrednio do Internetu. Jednak ta konfiguracja wymaga warstwy Premium usługi Azure Front Door. Jeśli używasz warstwy Standardowa, konto magazynu musi być publicznie dostępne. Możesz użyć sygnatury dostępu współdzielonego, aby zabezpieczyć żądania do konta magazynu, a klient zawiera podpis dla wszystkich swoich żądań lub użyć aparatu reguł usługi Front Door, aby dołączyć je z usługi Front Door.
Niestandardowe nazwy domen
Usługa Front Door obsługuje niestandardowe nazwy domen i może wystawiać certyfikaty TLS dla tych domen i zarządzać nimi. Korzystając z domen niestandardowych, można upewnić się, że klienci otrzymują pliki z zaufanej i znanej nazwy domeny oraz że protokół TLS szyfruje każde połączenie z usługą Front Door. Gdy usługa Front Door zarządza certyfikatami TLS, należy unikać awarii i problemów z zabezpieczeniami z powodu nieprawidłowych lub nieaktualnych certyfikatów TLS.
Usługa Azure Storage obsługuje również niestandardowe nazwy domen, ale nie obsługuje protokołu HTTPS podczas korzystania z domeny niestandardowej. Usługa Front Door to najlepsze podejście do używania niestandardowej nazwy domeny z kontem magazynu.
Zapora aplikacji internetowej
Zarządzana reguła zapory aplikacji internetowej usługi Front Door ustawia żądania skanowania pod kątem typowych i pojawiających się zagrożeń bezpieczeństwa. Zalecamy używanie zapory aplikacji internetowej i reguł zarządzanych zarówno dla aplikacji statycznych, jak i dynamicznych.
Zapora aplikacji internetowej usługi Front Door umożliwia również przeprowadzanie ograniczania szybkości i filtrowania geograficznego, jeśli potrzebujesz tych możliwości.
Odporność
Usługa Front Door jest usługą o wysokiej dostępności i ze względu na globalnie rozproszoną architekturę, jest odporna na awarie pojedynczych regionów platformy Azure i punktów poPs.
Korzystając z pamięci podręcznej usługi Front Door, zmniejszasz obciążenie konta magazynu. Ponadto jeśli konto magazynu jest niedostępne, usługa Front Door może nadal obsługiwać buforowane odpowiedzi do momentu odzyskania aplikacji.
Możesz jeszcze bardziej zwiększyć odporność ogólnego rozwiązania, biorąc pod uwagę odporność konta magazynu. Aby uzyskać więcej informacji, zobacz Nadmiarowość usługi Azure Storage. Alternatywnie można wdrożyć wiele kont magazynu i skonfigurować wiele źródeł w grupie źródeł usługi Front Door oraz skonfigurować tryb failover między źródłami, konfigurując priorytet każdego źródła. Aby uzyskać więcej informacji, zobacz Origins and origin groups in Azure Front Door (Źródła i grupy źródeł w usłudze Azure Front Door).
Optymalizacja kosztów
Buforowanie może pomóc zmniejszyć koszty dostarczania zawartości statycznej. Dostawcy pops usługi Front Door przechowują kopie odpowiedzi i mogą dostarczać te buforowane odpowiedzi dla wszelkich kolejnych żądań. Buforowanie zmniejsza obciążenie żądania źródła. W przypadku rozwiązań opartych na zawartości statycznej na dużą skalę, zwłaszcza w przypadku dostarczania dużych plików buforowanie może znacznie obniżyć koszty ruchu.
Aby korzystać z usługi Private Link w tym rozwiązaniu, należy wdrożyć warstwę Premium usługi Front Door. Możesz użyć warstwy Standardowa, jeśli nie musisz blokować ruchu przechodzącego bezpośrednio do konta magazynu. Aby uzyskać więcej informacji, zobacz Zabezpieczenia źródła.
Wdrażanie tego scenariusza
Aby wdrożyć ten scenariusz przy użyciu szablonów usługi ARM Bicep lub JSON, zobacz ten przewodnik Szybki start.
Aby wdrożyć ten scenariusz przy użyciu narzędzia Terraform, zobacz ten przewodnik Szybki start.
Następne kroki
Dowiedz się, jak utworzyć profil usługi Front Door.