Gorodenkoff - stock.adobe.com

Mit Azure Cloud Shell das Ressourcen-Management optimieren

Microsoft bietet für Azure die Azure Cloud Shell und eine Beta-Version der PowerShell-Konsole an. Sie erleichtern die Arbeit der Administratoren.

Die Management-Tools von Azure wie das Modul PowerShell oder die Azure Command-Line können Administratoren bei der Kontrolle ihrer Ressourcen unterstützen. Doch diese lokal installierten Systeme haben auch ihre Nachteile, wie zum Beispiel Softwareabhängigkeiten, eventuelle Konfigurationsprobleme oder Netzwerk-Latenzen, wenn man sich mit einem Azure-Rechenzentrum tausende von Kilometern entfernt verbinden muss.

Die Azure Cloud Shell – eine browserbasierte Kommandozeile – reduziert solche Probleme. Sie kann jedoch auch zu einer Reihe besonderer Probleme führen, wenn die Administratoren nicht sorgfältig mit ihr umgehen.

Der Browser-Zugang der Azure Cloud Shell stellt den Administratoren entweder eine Beta-Version der PowerShell-Konsole oder eine Bash-Konsole zur Verfügung. Die PowerShell-Konsole hat das gleiche Look and Feel wie eine klassische Kommandozeile und unterstützt verschiedene Libraries und Tools sowie Node.js und Linux Shell Interpreters.

Bei der ersten Verbindung (siehe Abbildung 1) zeigt die Azure Cloud Shell im Hintergrund einen Linux-Container und öffnet entweder eine Bash- oder eine PowerShell-Core-Konsole. Für erstmalige User wird außerdem ein eigener Azure-Storage-Account erzeugt. Anschließend wird mit Azure Files ein Laufwerk geschaffen, das dem User Storage für Profile, Scripts oder andere Dateien zur Verfügung stellt.

Verbindung zu Azure Cloud aufbauen
Abbildung 1: Verbindung zu Azure Cloud aufbauen

Drei nützliche Features der Azure Cloud Shell

Zusätzlich zu den bereits erwähnten Vorteilen bietet Cloud Shell eine Reihe von eigenen Features an, die hilfreich für Administratoren sind.

PowerShell Drive

Für jene Anwender, die die PowerShell-Konsole benutzen, wird das Azure PowerShell-Laufwerk standardmäßig erzeugt. Damit kann man mit den Azure-Ressourcen in einer hierarchischen Form umgehen, genauso wie man es bei einem typischen Dateisystem gewohnt ist.

Wenn einen die Azure Cloud Shell direkt zu der Eingabe „Azure:“ wie in Abb. 2 bringt, befindet man sich in dem Laufwerk der Azure PowerShell. Hier kann man gewöhnliche  PowerShell-Kommandos wie zum Beispiel „Get-ChildItem“ eingeben, um alle seine Einstellungen oder „subscriptions“ zu finden. Man kann, falls gewünscht, zu jeder Einstellung weitergehen. Das gilt auch für die Aktivierung jeder weiteren Azure-Ressource, ohne dass man das Laufwerk Azure PowerShell verlassen muss.

Azure Power Shell Drive/
Abbildung 2: Azure Power Shell Drive

Monaco Editor

Ein weiteres hilfreiches Feature ist Monaco Editor (siehe Abbildung 3), mit dem man Texte verfassen und in Azure speichern kann.

Monaco Editor.
Abbildung 3: Monaco Editor

Während es möglich ist, Code direkt in die Azure Cloud Shell zu kopieren, muss man eventuell einige Scripts, die in Azure Storage gespeichert werden, vor dem Hochladen etwas bearbeiten. Eine Alternative könnte es in diesen Fällen sein, sie direkt und leichter mit dem Monaco Editor zu verändern.

Direkter Zugang zu VMs

Ein weiterer Vorteil der Azure Cloud Shell besteht in seiner eingebauten Funktion, sich leicht mit Azure VMs zu verbinden. In der PowerShell kann man die Befehle Invoke-AzureRmVmCommand und Enter-AzureRmVM eingeben, um sich direkt mit einer VM zu verbinden. Diese Methode verringert das Risiko, sich während des VM-Managements mit verschiedenen Authentifizierungsregeln beschäftigen zu müssen.

Wenn man zum Beispiel von einem On-Premises-Gerät aus ein Kommando in einer Azure VM startet, muss man eine Firewall-Regel und das Kommando PowerShell Remoting eingeben. Aber mit der Cloud Shell kann man einfach eines der Kommandos Invoke-AzureRmVmCommand oder Enter-AzureRmVM eingeben und eine Session in der Azure VM starten.

Nachteile

Trotz der Vorteile der Azure Cloud Shell gibt es auch ein paar Nachteile, wobei sich die meisten von ihnen der simplen Tatsache verdanken, dass sie die Arbeit mit einer Konsole in einem Browser emuliert.

Wenn man zum Beispiel während der Arbeit mit der Cloud Shell eine andere Taste berührt, wird man eventuell seltsame Formatierungsänderungen sehen – zum Beispiel Buchstaben an der falschen Stelle und so weiter (siehe Abbildung 4).

Ein Beispiel für Fehler beim Formatieren in Azure Shell
Abbildung 4: Ein Beispiel für Fehler beim Formatieren in Azure Shell

Es kann auch dazu kommen, dass die Cursor-Position nicht an der richtigen Stelle auftaucht (siehe Abbildung 5).

Cursor-Position in Azure Cloud Shell
Abbildung 5: Cursor-Position in Azure Cloud Shell.

Man muss auch zur Kenntnis nehmen, dass die Azure Cloud Shell von der einer typischen PowerShell-Konsole abweichen kann, wenn man mehrere Zeilen verschiebt (siehe auch Abbildung 6).

Unterschiede beim Kopieren und Einfügen
Abbildung 6: Unterschiede beim Kopieren und Einfügen

Einer der vielleicht frustrierendsten Nachteile der Azure Cloud Shell besteht in dem 20-minütigen Timeout-Feature. Wenn Administratoren einen neuen Browser öffnen und länger als 20 Minuten an etwas anderem arbeiten, müssen sie sich wieder mit dem Cloud Shell Browser verbinden. Wenn man in dem zuletzt geöffneten Fenster einen Editor offen hat, kann man auf diese Weise die erledigte Arbeit verlieren.

Da sich aber die PowerShell-Konsole für die Cloud Shell noch im Preview-Modus befindet, sollte man sich nicht über einige Bugs und Seltsamkeiten wundern – Microsoft wird mit der Zeit sicher alle Fehlerquellen beseitigen. Im Moment müssen die Anwender noch etwas Vorsicht walten lassen.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

Azure über die Shell im Browser managen

PowerShell-Skripte für Einsteiger

Mehr Sicherheit durch PowerShell-Logging

Erfahren Sie mehr über Cloud Computing