Använda Azure Front Door med Azure Storage-blobar
Azure Front Door påskyndar leveransen av statiskt innehåll från Azure Storage-blobbar och möjliggör en säker och skalbar arkitektur. Leverans av statiskt innehåll är användbart för många olika användningsfall, inklusive värdtjänster för webbplatser och filleverans.
Arkitektur
I den här referensarkitekturen distribuerar du ett lagringskonto och en Front Door-profil med ett enda ursprung.
Dataflöde
Data flödar genom scenariot på följande sätt:
- Klienten upprättar en säker anslutning till Azure Front Door med ett anpassat domännamn och ett TLS-certifikat som tillhandahålls av Front Door. Klientens anslutning avslutas vid en närliggande Front Door-närvaropunkt (PoP).
- Front Door-brandväggen (WAF) söker igenom begäran. Om WAF fastställer att risknivån för begäran är för hög blockerar den begäran och Front Door returnerar ett HTTP 403-felsvar.
- Om Front Door PoP:s cache innehåller ett giltigt svar för den här begäran returnerar Front Door svaret omedelbart.
- Annars skickar PoP begäran till ursprungslagringskontot, oavsett var det finns i världen, med hjälp av Microsofts stamnätverk. PoP ansluter till lagringskontot med hjälp av en separat, långlivad TCP-anslutning. I det här scenariot används Private Link för att på ett säkert sätt ansluta till lagringskontot.
- Lagringskontot skickar ett svar till Front Door PoP.
- När PoP tar emot svaret lagras det i cacheminnet för efterföljande begäranden.
- PoP returnerar svaret till klienten.
- Alla begäranden direkt till lagringskontot via Internet blockeras av Azure Storage-brandväggen.
Komponenter
- Azure Storage lagrar statiskt innehåll i blobar.
- Azure Front Door tar emot inkommande anslutningar från klienter, genomsöker dem med WAF, vidarebefordrar begäran på ett säkert sätt till lagringskontot och cachelagrar svar.
Alternativ
Om du har statiska filer i en annan molnlagringsprovider, eller om du är värd för statiskt innehåll på infrastruktur som du äger och underhåller, fortsätter mycket av det här scenariot att gälla. Du måste dock överväga hur du skyddar inkommande trafik till ursprungsservern för att kontrollera att den kommer via Front Door. Om lagringsprovidern inte stöder Private Link kan du överväga att använda en alternativ metod som att tillåtalistning av Front Door-tjänsttaggen och inspektera X-Azure-FDID
huvudet.
Information om scenario
Leverans av statiskt innehåll är användbart i många situationer, till exempel:
- Leverera bilder, CSS-filer och JavaScript-filer för ett webbprogram.
- Hantera filer och dokument, till exempel PDF-filer eller JSON-filer.
- Leverera video som inte är uppströms.
Statiskt innehåll ändras inte ofta. Statiska filer kan också vara stora. Dessa egenskaper gör det till en bra kandidat att cachelagras, vilket förbättrar prestandan och minskar kostnaden för att hantera begäranden.
I ett komplext scenario kan en enskild Front Door-profil hantera statiskt innehåll och dynamiskt innehåll. Du kan använda separata ursprungsgrupper för varje typ av ursprung och använda Front Door routningsfunktioner för att dirigera inkommande begäranden till rätt ursprung.
Att tänka på
Skalbarhet och prestanda
Som ett nätverk för innehållsleverans (CDN) cachelagrar Front Door innehållet i sitt globalt distribuerade nätverk av ip-adresser. När en cachelagrad kopia av ett svar är tillgänglig på en poP kan Front Door snabbt svara med det cachelagrade svaret. Om du returnerar innehåll från cacheminnet förbättras lösningens prestanda och belastningen på ursprunget minskas. Om PoP inte har ett giltigt cachelagrat svar minskar Front Door-funktionerna för trafikacceleration tiden för att hantera innehållet från ursprunget.
Säkerhet
Autentisering
Front Door är utformat för att vara internetuppkopplad och det här scenariot är optimerat för offentligt tillgängliga blobar. Om du behöver autentisera åtkomsten till blobar bör du överväga att använda signaturer för delad åtkomst och se till att du aktiverar beteendet Använd frågesträngssträng för att undvika att Front Door hanterar begäranden till oautentiserade klienter. Den här metoden kanske dock inte använder Front Door-cachen effektivt, eftersom varje begäran med en annan signatur för delad åtkomst måste skickas till ursprunget separat.
Ursprungssäkerhet
Front Door ansluter säkert till Azure Storage-kontot med hjälp av Private Link. Lagringskontot är konfigurerat för att neka direkt åtkomst från Internet och för att endast tillåta begäranden via den privata slutpunktsanslutningen som används av Front Door. Den här konfigurationen säkerställer att varje begäran bearbetas av Front Door och undviker att exponera innehållet i ditt lagringskonto direkt på Internet. Den här konfigurationen kräver dock premiumnivån för Azure Front Door. Om du använder standardnivån måste ditt lagringskonto vara offentligt tillgängligt. Du kan använda en signatur för delad åtkomst för att skydda begäranden till lagringskontot och antingen låta klienten inkludera signaturen för alla sina begäranden eller använda Front Door-regelmotorn för att koppla den från Front Door.
Egna domännamn
Front Door stöder anpassade domännamn och kan utfärda och hantera TLS-certifikat för dessa domäner. Genom att använda anpassade domäner kan du se till att dina klienter tar emot filer från ett betrott och välbekant domännamn och att TLS krypterar varje anslutning till Front Door. När Front Door hanterar dina TLS-certifikat undviker du avbrott och säkerhetsproblem på grund av ogiltiga eller inaktuella TLS-certifikat.
Azure Storage stöder även anpassade domännamn, men stöder inte HTTPS när du använder en anpassad domän. Front Door är den bästa metoden för att använda ett anpassat domännamn med ett lagringskonto.
Brandvägg för webbaserade program
Front Door WAF:s hanterade regel anger genomsökningsbegäranden efter vanliga och framväxande säkerhetshot. Vi rekommenderar att du använder WAF och hanterade regler för både statiska och dynamiska program.
Du kan också använda Front Door WAF för att utföra hastighetsbegränsning och geofiltrering om du behöver dessa funktioner.
Motståndskraft
Front Door är en tjänst med hög tillgänglighet, och på grund av dess globalt distribuerade arkitektur är den motståndskraftig mot fel i enskilda Azure-regioner och ip-adresser.
Genom att använda Front Door-cachen minskar du belastningen på ditt lagringskonto. Om ditt lagringskonto inte är tillgängligt kanske Front Door kan fortsätta att hantera cachelagrade svar tills programmet återställs.
Du kan ytterligare förbättra återhämtning för den övergripande lösningen genom att överväga lagringskontots återhämtning. Läs mer i Redundansalternativ för Azure Storage. Du kan också distribuera flera lagringskonton och konfigurera flera ursprung i din Front Door-ursprungsgrupp och konfigurera redundans mellan ursprungen genom att konfigurera varje ursprungs prioritet. Mer information finns i Ursprung och ursprungsgrupper i Azure Front Door.
Kostnadsoptimering
Cachelagring kan bidra till att minska kostnaden för att leverera statiskt innehåll. Front Door's PoPs lagrar kopior av svar och kan leverera dessa cachelagrade svar för efterföljande begäranden. Cachelagring minskar begärandebelastningen på ursprunget. I storskaliga statiska innehållsbaserade lösningar, särskilt de som levererar stora filer, kan cachelagring minska trafikkostnaderna avsevärt.
Om du vill använda Private Link i den här lösningen måste du distribuera premiumnivån för Front Door. Du kan använda standardnivån om du inte behöver blockera trafik som går direkt till ditt lagringskonto. Mer information finns i Ursprungssäkerhet.
Distribuera det här scenariot
Information om hur du distribuerar det här scenariot med hjälp av Bicep- eller JSON ARM-mallar finns i den här snabbstarten.
Information om hur du distribuerar det här scenariot med Terraform finns i den här snabbstarten.
Nästa steg
Lär dig hur du skapar en Front Door-profil.