SFTP-Unterstützung in Azure Blob Storage im Vergleich zu einem selbstgehosteten SFTP-Server

Die Unterstützung des SSH File Transfer Protocol (SFTP) für Azure Blob Storage ermöglicht es einem Speicherkonto, direkt auf Port 22 zu antworten, sodass Sie dasselbe Protokoll erhalten, mit dem Ihre Nutzer bereits verbunden sind, ohne dass ein Server dahinter läuft. Wenn Sie heute einen SFTP-Server auf einer virtuellen Maschine (VM) hosten, entfällt das Patchen des Betriebssystems, Sie müssen keine Kapazitäten dimensionieren, und es ist kein Kopierauftrag erforderlich, um Dateien von einem Stagingdatenträger zu verschieben, da die hochgeladenen Daten automatisch als Blob gespeichert werden.

Dieser Artikel vergleicht einen selbstgehosteten SFTP-Server mit Azure Blob Storage SFTP hinsichtlich Kosten, Leistung, Betrieb und Sicherheit. Es behandelt auch, wie man die Kompatibilität vor der Migration überprüft und wie man die Änderung mit einem einzigen Workload validiert.

Wie Dateien zum Speicherkonto gelangen

Bei einem selbstgehosteten Server läuft die Übertragung über mehrere Komponenten, die Sie besitzen und verwalten. Das folgende Bild zeigt das Muster eines typischen Transfers.

Diagramm, das eine SFTP-Übertragung von einem verbindenden Benutzer über Port 22 und den SSH-Daemon auf einer virtuellen Maschine zeigt, dann durch eine Landungsdiskette und einen Kopierauftrag zu Blob Storage.

Die Datei landet auf einer Festplatte, und ein von dir erstellter Prozess verschiebt sie dorthin, wo sie gebraucht wird. Du verantwortest jeden einzelnen Schritt: die VM, das Betriebssystem, den SSH-Daemon, die Festplatte und deren Aufbewahrung, den Kopierjob und das gesamte Monitoring darum herum. Bis der Kopiervorgang abgeschlossen ist, liegen die Daten an zwei Orten vor, und keiner davon ist das maßgebliche System (System of Record).

Mit Azure Blob Storage SFTP beendet das Speicherkonto das Protokoll selbst. Das folgende Bild zeigt dieses Übertragungsmuster.

Diagramm, das zeigt, wie ein Benutzer eine Datei per SFTP auf Port 22 eines Azure-Speicherkontos überträgt, wobei die hochgeladene Datei direkt zu einem Blob wird.

Der Upload ist der Blob. Es gibt keine Landungsdiskette und keinen Kopierauftrag, weil es nichts zu kopieren gibt. Sobald die Übertragung abgeschlossen ist, ist die Datei für die Blob REST API, Azure Data Lake Storage, Network File System (NFS) 3.0, Azure Event Grid und alle bereits auf dieses Konto verweisenden Verarbeitungen verfügbar.

Nur der Hostname ändert sich. Für Nutzer, die sich verbinden und Daten übertragen, bleibt alles andere gleich. Sie verwenden dasselbe Protokoll, dieselben Client-Tools und dasselbe Zugangsmodell, falls du es möchtest.

Wenn Ihr Ziel darin besteht, die Dateiübertragung in die Cloud zu verlagern und dabei Kosten und Sicherheit zu berücksichtigen, ist dieser Ansatz ein praktischer Ausgangspunkt. Du übernimmst kein neues Übertragungsmuster; du entfernst die Infrastruktur unter der, die du bereits betreibst.

Cost

Das Aktivieren von SFTP fügt eine Stundengebühr hinzu, die jedes Mal anfällt, wenn SFTP aktiviert ist, unabhängig davon, ob jemand verbunden ist oder nicht. Alles andere wird zu den standardmäßigen Kontotarifen berechnet, einschließlich ruhender Kapazität, Transaktionen und ausgehendem Datenverkehr. Alle SFTP-Befehle werden auf dem Konto in Lesen, Schreiben oder Andere Transaktionen umgewandelt. Für Daten, die über SFTP übertragen werden, gibt es keine separate Gebühr pro Gigabyte.

Wenn deine Überweisungen in einem definierten Zeitfenster ablaufen, kannst du SFTP nur aktivieren, wenn du es brauchst, und die Belastung dazwischen vermeiden.

Note

Um den aktuellen Stundensatz zu finden, siehe die Seite Azure Blob Storage Prices. Die Ladung ist auf dieser Seite nur sichtbar, wenn Sie in der Dateistruktur-Dropdown-ListeHierarchical Namespace (NFS v3.0, SFTP Protocol) auswählen.

Die folgende Tabelle beschreibt das Ergebnis, das Sie erwarten können, je nachdem, was Sie heute ausführen:

Was Sie heute ausführen Blob Storage SFTP wird wahrscheinlich Warum?
Eine einzelne VM mit ein oder zwei vCPUs Teurer Die stündliche Endpunktgebühr übersteigt die Rechenkosten einer kleinen VM. Wenn das dein gesamtes Grundstück ist, sind die Kosten nicht der Grund für den Umzug. Allerdings könnte operative Effizienz ein Grund für einen Wechsel sein. Mehr über diese Effizienzen erfahren Sie im Abschnitt Operationen dieses Artikels.
Eine VM, die für anhaltenden Durchsatz ausgelegt ist, mit einer verwalteten Festplatte und einem Backup Ungefähr gleich Die Endpunktgebühr kompensiert Rechenleistungen, Festplatten und Backup.
Mehr als eine Instanz für die Verfügbarkeit oder eine zweite Region für die Katastrophenwiederherstellung Deutlich weniger Du hörst auf, für redundante Rechenleistungen und die zweite Region zu zahlen.
Jede der vorangegangenen Zeilen, sobald die Ingenieurzeit einbezogen ist Weniger Patching, Schlüsselrotation und Bereitschaftszeit erscheinen auf keinem der beiden Rechnungen.

Um jede Option fair zu vergleichen, beziehen Sie die Kosten für Rechenleistung, Betriebssystem und Landungsdisks sowie Backup in Ihre Kostenvoranschläge ein. Fügen Sie einen Load Balancer, öffentliche IP-Adressen oder eine zweite Region nur dann ein, wenn Sie diese bereitgestellt haben, denn viele SFTP-Server laufen als eine einzige VM ohne eines davon.

Zwei Kosten sind leicht zu übersehen. Erstens liegen die Daten normalerweise auf der Lande-Disk und an ihrem Zielort während des gesamten Speicherzeitraums, sodass du für beide bezahlst. Zweitens erscheint die Entwicklungszeit für Patching, Schlüsselrotation und Wartung des Kopierjobs überhaupt nicht auf einer Rechnung.

Verwenden Sie eine Kostenanalyse für die bestehende Ressourcengruppe statt eines Preisrechners, damit Sie von dem ausgehen, was tatsächlich abgerechnet wird. Für aktuelle Tarife siehe Azure Blob Storage Preisgestaltung und Plan und Verwaltung der Kosten für Azure Blob Storage.

Performance

Die Obergrenze einer VM wird durch ihre eigene SKU festgelegt: die Netzwerkbandbreite, die Festplattendurchsatz und die für SSH-Verschlüsselung übrig gebliebene CPU. Die Obergrenze eines Speicherkontos sind die Eintritts- und Anforderungsraten des Kontos, die deutlich höher sind und keinerlei Arbeit erfordern, um sie zu erreichen.

Der Durchsatz skaliert mit der Anzahl gleichzeitiger Verbindungen, und ein Premium-Block-Blob-Konto erreicht etwa das 2,3-fache der Bandbreite eines Standard-Universal-V2-Kontos mit einem einzelnen Client. Hinweise zur Optimierung finden Sie unter SFTP-Leistungsaspekte.

Operationen

Azure Blob Storage SFTP bietet eine höhere operative Effizienz.

Da das Speicherkonto SFTP beendet, verschwinden die VM, die Landungsdiskette und der Kopierauftrag alle, ebenso wie die Arbeit, sie am Laufen zu halten. Du musst kein Betriebssystem mehr mit Patches versehen, keinen SSH-Daemon mehr härten, keine Kapazitäten mehr planen, keine eigene Hochverfügbarkeits- und Disaster-Recovery-Lösung mehr aufbauen und testen und auch nicht mehr die Pipeline unterstützen, die Dateien in den Speicher überträgt.

Das Management von Host-Schlüsseln ist ein Beispiel dafür. Der Neubau einer VM ändert ihren SSH-Hostschlüssel, es sei denn, man bewahrt ihn absichtlich, und Client-Tools behandeln eine unerwartete Änderung des Hostschlüssels als möglichen Machine-in-the-Middle-Angriff. Routine-Wartung wird daher zu einer Koordinationsübung mit allen, die sich verbinden. Im Gegensatz dazu veröffentlicht Azure seine SFTP-Hostschlüssel, sodass Client-Tools sie mit einer dokumentierten Quelle verifizieren können. Siehe Host-Schlüssel für SFTP.

Security

Ein selbstgehosteter OpenSSH-Server unterstützt sowohl Passwort- als auch Public-Key-Authentifizierung. Du besitzt die Konten, die sshd Konfiguration sowie die Schlüsselverteilung und -rotation.

Azure Blob Storage SFTP unterstützt beide Methoden und fügt Microsoft Entra ID hinzu. Sie können für jeden Nutzer die passende Methode wählen:

Methode So funktioniert es Am besten geeignet für:
Password Azure erzeugt das Passwort und zeigt es einmal an. Du kannst keine benutzerdefinierten Passwörter festlegen, daher sind schwache oder wiederverwendete Passwörter nicht möglich. Schnelles Starten
SSH-Schlüsselpaar Sie liefern oder generieren einen öffentlichen Schlüssel, bis zu 10 pro lokaler Nutzer. Automatisierte, unbeaufsichtigte Übertragungen
Microsoft Entra ID Benutzer authentifizieren sich mit der Entra ID und erhalten ein Zertifikat, das 65 Minuten gültig ist und durch Azure rollenbasierte Zugriffskontrolle (RBAC), Azure-attributbasierte Zugriffskontrolle (ABAC) und POSIX Zugriffskontrolllisten (ACLs) autorisiert ist. Empfohlen überall dort, wo Identitätsgovernance von Bedeutung ist

Microsoft Entra ID ist der bedeutendste Unterschied zwischen den beiden Ansätzen. Bei jeder lokalen Zugangsinformation, egal ob auf einer VM oder in einem Speicherkonto, ist das Geheimnis langlebig und liegt außerhalb der Identitätskontrollen, die Sie auf den Rest Ihres Nachlasses anwenden.

Ein Entra ID-Zertifikat läuft nach 65 Minuten ab, sodass eine unsachgemäß gehandhabte Anmeldeinformation von selbst ungültig wird. Multifaktor-Authentifizierung und Conditional Access gelten für Dateiübertragungen genauso wie für alles andere. Wenn ein Konto deaktiviert wird, endet der SFTP-Zugriff im selben Moment. Durch die Nutzung externer Identitäten können Organisationen, mit denen Sie Dateien austauschen, sich von ihrem eigenen Tenant aus authentifizieren, sodass Sie keine Zugangsdaten mehr für sie ausgeben oder speichern.

Lokale Nutzer werden weiterhin vollständig unterstützt, sodass Sie Entra ID in jedem Tempo übernehmen können, das Ihnen passt.

Über die Identität hinaus bietet ein Speicherkonto Kontrollen, die Sie sonst selbst aufbauen und pflegen würden:

  • Nur Algorithmen, die im Rahmen des Microsoft Security Development Lifecycle zugelassen sind, werden akzeptiert, sodass schwache Optionen wie ssh-dss SHA-1-basierte Schlüsselaustausche nicht verfügbar sind.

  • Private Endpunkte halten den Datenverkehr in Ihrem virtuellen Netzwerk.

  • Microsoft Defender for Storage scannt Uploads auf Malware, ohne einen Scanner zu installieren oder zu warten.

  • Die Verschlüsselung ruhender Daten, kundenseitig verwaltete Schlüssel, Unveränderlichkeitsrichtlinien und die Diagnoseprotokollierung gelten für über SFTP hochgeladene Dateien in gleicher Weise wie für jedes andere Blob.

Weitere Informationen finden Sie unter SFTP-Berechtigungsmodell und Autorisieren des Zugriffs auf Blob Storage über SFTP mithilfe von Microsoft Entra ID.

Überprüfe die Kompatibilität, bevor du migrst

Die meisten Workloads migrieren ohne Änderungen, und Azure Blob Storage unterstützt eine breite Palette von SFTP-Client-Tools. Um Ihr spezifisches Szenario zu überprüfen, siehe bekannte unterstützte Clients und Einschränkungen und bekannte Probleme bei SFTP.

Überprüfen Sie diese Punkte frühzeitig, da dies die häufigsten Gründe sind, warum ein Workload nicht unverändert verschoben werden kann:

  • Eine bestehende ACL-Konfiguration im Zugriffspfad.

  • Eine statische ausgehende IP-Adresse, die von einer anderen Organisation auf eine Allowlist gesetzt wird.

  • Eine Anforderung für einen verwalteten Dateiübertragungs-Workflow oder für AS2.

Probier es mit einer Arbeitslast aus

Aktivieren Sie SFTP auf einem Nicht-Produktionsspeicherkonto und führen Sie zwei Wochen lang einen risikoarmen Feed neben Ihrem bestehenden Server aus. Sie erhalten Durchsatz-, Kompatibilitäts- und Kostenzahlen aus Ihrer eigenen Arbeitsbelastung, die nützlicher sind als eine Schätzung.