Azure File Storage

1. Juni 2016

Azure File Storage stellt ein Samba-Netzwerklaufwerk mit REST API zur Verfügung. Primär ist es dazu gedacht, verschiedenen Azure-Virtual-Machines (VMs) oder Azure-Services ein gemeinsames Dateiverzeichnis zur Verfügung zu stellen.

Zur Erinnerung: Wird in Azure eine neue VM-Instanz instanziiert (z. B. für ein OS-Update oder bei Skalierungsbedarf), so hat sie per Default nur lokalen Speicher. Dateien, die ich nur lokal schreibe, sind durch andere Instanzen nicht lesbar. Die Instanzen müssen somit miteinander kommunizieren (z. B. per Queue, File-Storage, Table-Storage, Datenbank, Services), um einen gemeinsamen Zustand zu repräsentieren.

Nutzung als Netzlaufwerk

Mit einem “net use” bzw. “Netzlaufwerk verbinden” kann ich aus beliebigen File-Storage Instanzen ein Laufwerk mounten. Das geht netterweise auch von zu Hause aus. Wer also ein paar GB/TB (wahlweise geo-) redundanten Speicherplatz braucht oder bequem auf die Daten der Azure-Instanzen zugreifen möchte, kann hier gerne für kleines Geld zugreifen. Innerhalb der Azure-Welt wird Samba 2 und Samba 3 unterstützt. Von zu Hause aus (d. h. über das Internet) wird nur Samba 3 angeboten – das ist dann End-To-End verschlüsselt.

Am Rande: Fritz!Box-Nutzer sollten wissen, dass das Filtern von Netbios ausgeschaltet sein sollte (hat mich 2h gekostet). In den USA scheint das Protokoll durch den ein oder anderen Provider gesperrt zu sein. Prinzipiell wird nur TCP-Port 445 Outgoing benötigt.

Nutzung als REST-API

Alle Filezugriffe können auch per REST API durchgeführt werden (à la Azure-Blob-Storage).

Die Schnittstelle ist für höherwertige Services gedacht, die keinen direkten Zugriff auf die VM bieten. Mit Azure-Web-Apps erwirbt man beispielsweise nur das Recht, eine Anwendung in einem Shared-IIS zu hosten, aber nicht die Möglichkeit, die darunterliegende VM zu administrieren. Daten, die die Web-Anwendung dauerhaft in das Filesystem schreibt, müssen somit in den zentralen Speicher geschrieben werden.

Kurzum: Wenn die Web-App, anstelle von Filezugriffen, die REST API aufruft, werden die Daten ins zentrale File-Share geschrieben. Für administrative Zwecke kann man das Laufwerk dann wieder schnell in den eigenen Rechner mounten. Nett.

Limitierungen

Azure File Storage kennt keine Rechte – der Zugriff ist immer Vollzugriff. Die Authentifizierung erfolgt mit dem Namen der Instanz und einem – von zwei – Access-Keys, der bei der Erstellung des File Storage erzeugt wird bzw. auf Knopfdruck geändert werden kann. Weitere Einschränkungen listet Microsoft unter Features Not Supported By the Azure File Service auf.

Nutzung im Unternehmen

Neben den Diensten bietet sich der Azure-File-Storage durchaus für geschlossene Benutzergruppen an, die Daten austauschen wollen. Als Sicherheitsmechanismus gibt es nur die Möglichkeit, von Zeit zu Zeit den Key auszutauschen.

Fazit

 Für eine Azure-Migration einer Webanwendung ist der Azure-File-Storage ein sehr brauchbarer Service, den ich schon erfolgreich einsetzen konnte. Microsoft bietet ähnliche Dienste wie Azure Blobs und Azure Data Disks an, deren Einsatz von dem jeweiligen Anwendungsszenario abhängen. Nicht nur mir persönlich fehlt das “echte” Rechtemanagement sehr… ich denke mal, das wird schon noch.