Używanie usługi Azure Front Door z obiektami blob usługi Azure Storage
Usługa Azure Front Door rozszerza dostarczanie zawartości statycznej z obiektów blob usługi Azure Storage, zapewniając bezpieczną i skalowalną architekturę. Ta konfiguracja jest idealna w różnych przypadkach użycia, takich jak hosting witryny internetowej i dostarczanie plików.
Architektura
W tej architekturze referencyjnej wdrażane jest konto magazynu i profil usługi Azure 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 kończy się w pobliskim punkcie obecności usługi Front Door (PoP).
- Zapora aplikacji internetowej (WAF) usługi Azure Front Door skanuje żądanie. Jeśli zapora aplikacji internetowej ustali, że żądanie jest zbyt ryzykowne, blokuje żądanie i zwraca odpowiedź o błędzie HTTP 403.
- Jeśli pamięć podręczna usługi Front Door PoP zawiera prawidłową odpowiedź, usługa Front Door natychmiast zwraca odpowiedź.
- Jeśli tak nie jest, poP wysyła żądanie do konta magazynu pochodzenia przy użyciu sieci szkieletowej firmy Microsoft przy użyciu oddzielnego, długotrwałego połączenia TCP. W tym scenariuszu usługa Private Link bezpiecznie łączy się z kontem magazynu.
- Konto magazynu wysyła odpowiedź do usługi Front Door PoP.
- PoP przechowuje odpowiedź w pamięci podręcznej dla przyszłych żądań.
- PoP zwraca odpowiedź na klienta.
- Wszelkie bezpośrednie żądania do konta magazynu przez Internet są blokowane przez zaporę usługi Azure Storage.
Składniki
- Azure Storage: przechowuje zawartość statyczną w obiektach blob.
- Azure Front Door: odbiera połączenia przychodzące od klientów, skanuje je za pomocą zapory aplikacji internetowej, bezpiecznie przekazuje żądania do konta magazynu i buforuje odpowiedzi.
Alternatywy
Jeśli przechowujesz pliki statyczne z innym dostawcą magazynu w chmurze lub własną infrastrukturą, ten scenariusz nadal ma zastosowanie. Należy jednak upewnić się, że ruch przychodzący do serwera pochodzenia jest weryfikowany w celu przejścia 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 korzystne w wielu sytuacjach, takich jak:
- 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 JSON.
- Dostarczanie wideo bez transmisji strumieniowej.
Zawartość statyczna zwykle nie zmienia się często i może być duża, co czyni ją idealną do buforowania w celu zwiększenia wydajności i zmniejszenia kosztów.
W złożonych scenariuszach pojedynczy profil usługi Front Door może obsługiwać zarówno zawartość statyczną, jak i dynamiczną. Możesz użyć oddzielnych grup pochodzenia dla każdego typu zawartości i użyć funkcji routingu, aby kierować żądania przychodzące do odpowiedniego źródła.
Kwestie wymagające rozważenia
Skalowalność i wydajność
Usługa Azure Front Door działa jako sieć dostarczania zawartości (CDN), buforując zawartość w globalnie rozproszonych punktach poPs. Gdy dostępna jest buforowana odpowiedź, usługa Azure Front Door szybko je obsługuje, zwiększając wydajność i zmniejszając obciążenie źródła. Jeśli poP nie ma prawidłowej buforowanej odpowiedzi, możliwości przyspieszania ruchu w usłudze Azure Front Door przyspieszają dostarczanie zawartości ze źródła.
Zabezpieczenia
Uwierzytelnianie
Usługa Azure Front Door jest przeznaczona dla scenariuszy dostępnych z Internetu i jest zoptymalizowana pod kątem publicznie dostępnych obiektów blob. Aby uwierzytelnić dostęp do obiektów blob, rozważ użycie sygnatur dostępu współdzielonego (SAS). Upewnij się, że włączono zachowanie Użyj ciągu zapytania, aby uniemożliwić usłudze Azure Front Door obsługę żądań do nieuwierzytelnionych klientów. Takie podejście może ograniczyć skuteczność buforowania, ponieważ każde żądanie z inną sygnaturą dostępu współdzielonego musi być wysyłane do źródła.
Zabezpieczenia źródła
Usługa Azure Front Door łączy się bezpiecznie z kontem usługi Azure Storage przy użyciu usługi Private Link. Konto magazynu jest skonfigurowane do odmowy bezpośredniego dostępu do Internetu, zezwalając na żądania tylko za pośrednictwem prywatnego punktu końcowego używanego przez usługę Azure Front Door. Ta konfiguracja gwarantuje, że wszystkie żądania są przetwarzane przez usługę Azure Front Door, chroniąc konto magazynu przed bezpośrednią ekspozycją w Internecie. Ta konfiguracja wymaga warstwy Premium usługi Azure Front Door. W przypadku korzystania z warstwy Standardowa konto magazynu musi być publicznie dostępne. Możesz zabezpieczyć żądania za pomocą sygnatury dostępu współdzielonego (SAS) i mieć klientów, którzy dołączają sygnaturę dostępu współdzielonego do swoich żądań lub używają aparatu reguł usługi Azure Front Door, aby je dołączyć.
Niestandardowe nazwy domen
Usługa Azure Front Door obsługuje niestandardowe nazwy domen i może zarządzać certyfikatami TLS dla tych domen. Dzięki użyciu domen niestandardowych klienci otrzymują pliki z zaufanego źródła, a protokół TLS szyfruje każde połączenie z usługą Azure Front Door. Zarządzanie certyfikatami TLS przez usługę Azure Front Door pomaga uniknąć awarii i problemów z zabezpieczeniami z nieprawidłowych lub nieaktualnych certyfikatów.
Web Application Firewall
Reguła zarządzana zapory aplikacji internetowej usługi Azure 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.
Ponadto zapora aplikacji internetowej usługi Azure Front Door może w razie potrzeby wykonywać ograniczanie szybkości i filtrowanie geograficzne.
Odporność
Usługa Azure Front Door to usługa o wysokiej dostępności z globalnie rozproszoną architekturą, dzięki czemu jest odporna na awarie w poszczególnych regionach platformy Azure i punktach poPs.
Użycie pamięci podręcznej usługi Azure Front Door zmniejsza obciążenie konta magazynu. Jeśli konto magazynu stanie się niedostępne, usługa Azure Front Door może nadal obsługiwać buforowane odpowiedzi do momentu odzyskania aplikacji.
Aby jeszcze bardziej zwiększyć odporność, rozważ nadmiarowość konta magazynu. Aby uzyskać więcej informacji, zobacz Nadmiarowość usługi Azure Storage. Możesz też wdrożyć wiele kont magazynu i skonfigurować wiele źródeł w grupie źródeł usługi Azure Front Door. Skonfiguruj 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 pomaga zmniejszyć koszty dostarczania zawartości statycznej. Dostawcy pops usługi Azure Front Door przechowują kopie odpowiedzi i mogą dostarczać te buforowane odpowiedzi dla kolejnych żądań, co zmniejsza obciążenie żądaniami źródła. W rozwiązaniach do zawartości statycznej o dużej skali, zwłaszcza w przypadku dostarczania dużych plików buforowanie może znacznie obniżyć koszty ruchu.
Aby użyć usługi Private Link w tym rozwiązaniu, wdróż warstwę Premium usługi Azure Front Door. Warstwę Standardowa można użyć, jeśli nie musisz blokować bezpośredniego ruchu do konta magazynu. Aby uzyskać więcej informacji, zobacz Zabezpieczenia źródła.
Wdróż ten scenariusz
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 Azure Front Door.