Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Verwendung von Azure Front Door zum Hochladen von Dateien in Azure Storage bietet viele Vorteile, darunter verbesserte Resilienz, Skalierbarkeit und zusätzliche Sicherheitsmaßnahmen. Zu diesen Maßnahmen gehören das Scannen von hochgeladenen Inhalten mit der Webanwendungsfirewall (WAF) und die Verwendung von benutzerdefinierten TLS-Zertifikaten (Transport Layer Security) für Speicherkonten.
Aufbau
In dieser Referenzarchitektur werden mehrere Azure-Speicherkonten und ein Azure Front Door-Profil mit verschiedenen Ursprüngen bereitgestellt. Die Verwendung mehrerer Speicherkonten für den Upload von Inhalten verbessert die Leistung und Zuverlässigkeit und erleichtert die Lastverteilung, indem unterschiedliche Clients Speicherkonten in unterschiedlichen Bestellungen verwenden. Sie stellen Azure App Service für die Host-API und die Azure Service Bus-Warteschlange bereit.
Datenfluss
Der Datenfluss in diesem Szenario lautet wie folgt:
- Die Client-App initiiert eine webbasierte API, wobei eine Liste mit mehreren Uploadspeicherorten abgerufen wird. Für jede Datei, die der Client hochlädt, generiert die API eine Liste möglicher Uploadspeicherorte mit jeweils einem der vorhandenen Speicherkonten. Jede URL enthält eine Freigegebene Zugriffssignatur (SHARED Access Signature, SAS), die die ausschließliche Verwendung der URL für das Hochladen in die angegebene BLOB-URL sicherstellt.
- Die Clientanwendung versucht, ein Blob mithilfe der ersten URL aus der von der API zurückgegebenen Liste hochzuladen. Der Client stellt mithilfe eines benutzerdefinierten Domänennamens und eines benutzerdefinierten TLS-Zertifikats eine sichere Verbindung mit Azure Front Door her.
- Die Azure Front Door WAF überprüft die Anforderung. Wenn die WAF feststellt, dass die Risikostufe der Anforderung zu hoch ist, blockiert sie die Anforderung, und Azure Front Door gibt als Antwort einen Fehler vom Typ „HTTP 403“ zurück. Wenn nicht, wird die Anforderung an das gewünschte Speicherkonto weitergeleitet.
- Die Datei wird in das Azure Storage-Konto hochgeladen. Wenn diese Anforderung fehlschlägt, versucht die Clientanwendung, mithilfe der nächsten URL in der von der API zurückgegebenen Liste in ein alternatives Speicherkonto hochzuladen.
- Die Clientanwendung benachrichtigt die API, dass der Dateiupload abgeschlossen ist.
- Die API platziert ein Element in der Azure Service Bus-Warteschlange für die weitere Verarbeitung der hochgeladenen Datei.
Komponenten
- Azure App Service ist für das Generieren der Upload-URLs und SAS für Blobs verantwortlich.
- Azure Front Door verarbeitet Clientverbindungen, scannt sie mit dem WAF und leitet die Uploadanforderung an das Azure Storage-Konto weiter.
- Azure Storage wird zum Speichern hochgeladener Dateien in Blobs verwendet.
- Azure Service Bus dient als Warteschlange, um die weitere Verarbeitung hochgeladener Inhalte auszulösen.
Szenariodetails
Häufig wird die Verantwortung des Dateiuploads den API- oder Back-End-Systemen zugewiesen. Durch die Aktivierung der Clientanwendung zum direkten Hochladen von JSON-Dateien in Blob Storage stellen wir jedoch sicher, dass die Computeressource (die API-Ebene, die die Uploads vom Client verarbeitet) nicht der Engpass ist. Durch diesen Ansatz wird auch die Gesamtkosten reduziert, da die API keine Zeit mehr für Dateiuploads ausgibt.
Die API ist dafür verantwortlich, eine gleichmäßige Verteilung von Dateien über Speicherkonten hinweg sicherzustellen. Dies bedeutet, dass Sie eine Logik definieren müssen, um das Standardspeicherkonto für die zu verwendende Clientanwendung zu bestimmen.
Die Kombination aus Azure Front Door- und Azure Storage-Konten bietet einen einzigen Einstiegspunkt (eine einzelne Domäne) für den Inhaltsupload.
Azure Front Door-Konfiguration mit mehreren Speicherkonto-Ursprüngen
Die Konfiguration von Azure Front Door umfasst die folgenden Schritte für jedes Speicherkonto:
- Ursprungskonfiguration
- Routenkonfiguration
- Regelsatzkonfiguration
In der Ursprungskonfiguration müssen Sie den Ursprungstyp als BLOB-Speicherkonto definieren und das entsprechende Speicherkonto auswählen, das in Ihrem Abonnement verfügbar ist.
In der Ursprungsgruppenroute müssen Sie einen Pfad für die Verarbeitung in der Ursprungsgruppe definieren. Stellen Sie sicher, dass Sie die neu erstellte Ursprungsgruppe auswählen und den Pfad zum Container innerhalb des Speicherkontos angeben.
Schließlich müssen Sie eine neue Regelsatzkonfiguration erstellen. Es ist wichtig, die Einstellung Nicht übereinstimmenden Pfad beibehalten zu konfigurieren, wodurch das Anfügen des verbleibenden Pfads nach dem Quellmuster an den neuen Pfad ermöglicht wird.
Überlegungen
Skalierbarkeit und Leistung
Mit der vorgeschlagenen Architektur können Sie horizontale Skalierbarkeit erreichen, indem Sie mehrere Speicherkonten für den Inhaltsupload verwenden.
Resilienz
Azure Front Door ist mit seiner global verteilten Architektur ein hoch verfügbarer Dienst, der ausfallsicher für Fehler einer einzelnen Azure-Region und eines Point of Presence (PoPs) ist. Diese Architektur, die mehrere Speicherkonten in verschiedenen Regionen bereitstellt, erhöht die Resilienz und trägt dazu bei, die Lastverteilung zu erzielen, indem unterschiedliche Clients Speicherkonten in unterschiedlichen Bestellungen verwenden.
Kostenoptimierung
Die Kostenstruktur von Azure Storage ermöglicht die Erstellung eines beliebigen Speicherkontos nach Bedarf, ohne die Kosten der Lösung zu erhöhen. Der Betrag und die Größe der gespeicherten Dateien wirken sich auf die Kosten aus.
Sicherheit
Durch die Verwendung von Azure Front Door profitieren Sie von Sicherheitsfeatures wie DDoS-Schutz. Der standardmäßige DDoS-Schutz der Azure-Infrastruktur, der Netzwerkschichtangriffe in Echtzeit überwacht und verringert, indem die globale Skalierung und Kapazität des Azure Front Door-Netzwerks verwendet wird. Die Nutzung einer Web Application Firewall WAF schützt Ihre Webdienste von gängigen Exploits und Sicherheitsrisiken. Sie können Azure Front Door WAF auch verwenden, um Geschwindigkeitsbeschränkungen und Geofilterung durchzuführen, wenn Ihre Anwendung diese Funktionen erfordert.
Es ist auch möglich, Azure Storage-Konten mithilfe von privatem Link zu sichern. Das Speicherkonto kann so konfiguriert werden, dass es den direkten Zugriff aus dem Internet verweigert und nur Anforderungen über die von Azure Front Door verwendete private Endpunktverbindung zulässt. Diese Konfiguration stellt sicher, dass jede Anforderung von Front Door verarbeitet wird, und verhindert, dass die Inhalte Ihres Speicherkontos direkt im Internet verfügbar gemacht werden. Für diese Konfiguration ist jedoch die Premium-Ebene von Azure Front Door erforderlich. Wenn Sie die Standard-Ebene verwenden, muss Ihr Speicherkonto öffentlich zugänglich sein.
Benutzerdefinierte Domänennamen
Azure Front Door unterstützt benutzerdefinierte Domänennamen und kann TLS-Zertifikate für diese Domänen ausstellen und verwalten. Mithilfe benutzerdefinierter Domänen können Sie sicherstellen, dass Ihre Clients Dateien von einem vertrauenswürdigen und vertrauten Domänennamen erhalten und dass TLS jede Verbindung mit Front Door verschlüsselt. Wenn Front Door Ihre TLS-Zertifikate verwaltet, vermeiden Sie Ausfälle und Sicherheitsprobleme aufgrund ungültiger oder veralteter TLS-Zertifikate.
Azure Storage unterstützt bei Verwendung einer benutzerdefinierten Domäne auch benutzerdefinierte Domänennamen, aber nicht HTTPS. Front Door ist der beste Ansatz, um einen benutzerdefinierten Domänennamen mit einem Speicherkonto zu verwenden.
Bereitstellen dieses Szenarios
Informationen zum Bereitstellen dieses Szenarios mithilfe von Bicep finden Sie unter Bereitstellen von Azure Front Door Premium mit BLOB-Ursprung und privatem Link.
Nächste Schritte
Informationen zum Erstellen eines Front Door-Profils