Windows Azure und Powershell–How to
Hallo @all,
[Update: you need this article in English? Try Bing Translate]
nachdem ich die letzten Wochen mit Windows Azure gearbeitet habe, kommen hier einige nützliche Tips & Tricks:
Grundvoraussetzung:
- Windows Azure Cmdlets installieren
- einen Windows Azure Account erstellen (90 Tage Trial Accout ist auch möglich)
- (Für den folgenden Artikel habe ich 3 VMs erstellen, einen DC, einen SharePoint und einen SQL Server)
Hat man die Windows Azure Powershell Console installiert, starten wir die Azure Powershell Console über das Startmenü:
Danach ist die Powershell-Console mit der Subscription (also dem Azure Account) zu verbinden. Dies macht man mit dem cmdlet: Get-AzurePublishSettingsFile
Danach öffnet sich ein Browser Fenster zu Windows Azure. Man meldet sich mit der Live-ID an bekommt automatisch eine Datei zum Download angeboten, mit der Endung Azdem*.PubishingSettings. Diese Datei auf der Platte speichern.
In der PublishingSetting-Datei ist ein Zertificate enthalten das man importiert mit dem cmdlet: Import-AzurePublishSettings
Danach kann man das Subscritpion Certificate mit Get-AzureSubscription ansehen:
Tip: mittels certmgr.msc kann man sehen was unter der Haube passiert Path: “Personal"/Certificates”
Man hat ein Zertifikate erstellt mit dem Namen “Windows Azure Tools” und in den My Personal Zertifikatsspeicher abgelegt.
Wichtig: wenn man das Zertifikate “Windows Azure Tools” löscht, dann muss man erneut das Publishing-SettingsFile herunterladen und es erneut importieren. *das hat mich 5 min Troubleshooting gekostet, als ich letztens mein Zertifikatspeicher aufgeräumt hatte , also ich hatte wohl etwas zuviel aufgeräumt
Nun kann man mit Azure-cmdlets die Subscription verwalten. Welche CMDLETS gibt es? get-command –Module Azure
Es gibt mit dem Spring Release (Juni2012) schon 98 cmdlets…
Mit Get-AzureVM hole ich mir alle VMs aus der Subscription:
Möchte ich Kosten sparen kann ich die Compute-Zeit einer VM auf 0 heruntersetzen indem man die Maschine nicht nur einfach herunterfährt, sondern auch die VM-Instance entfernt. Die VHD bleibt erhalten, doch ist es wichtig alle Konfigurationen von der VM-Config mit zu sichern. Dafür verwendet man Export-AzureVM
Die VMInstanzen laufen in einem Azure-Service den man bestimmt mit get-AzureService.
Jetzt kann man mit Export-AzureVM –ServiceName <ServiceName> –Name <VM Name> –Path <…> alle VM-Configs sichern.
In der Konfiguration ist bspw. enthalten:
- IP Adresse, Subnet
- LoadBalancer Konfig
- Welche Disks sind zur VM attached
- Welche Ports sind als EndPoint freigeschalten
Jetzt kann man getrost die VMs über die Azure Management UI löschen oder mit PowerShell cmdlet Remove-AzureVM
Und siehe da die Maschine ist weg
Nicht jedoch die .VHD der Maschine:
Um die Maschine wieder zu starten/aufzubauen verwendet man import-AzureVM –Path <…> in Verbindung mit New-AzureVM. Der komplette Befehl sieht dann so aus:
Import-AzureVM -path C:\Temp\AzureVM_Config\PHSP01.config | New-AzureVM -ServiceName PHDC01
und siehe da, die VM ist wieder da
Zu Schluss noch ein Zusatz warum man über dieses Szenario nachdenken kann. Eine SharePoint Farm hat in der Regel mehr als einen WebFrontent (WFE) Server. Wenn es Zeiten gibt sogenannte “Non-Business-Hours” in denen man einige WFEs nicht braucht, so kann man diese mit den oben genannten Schritten abschalten. D.h. vielleicht bleibt ein WFE die ganze Zeit über an, und die restlichen WFE’s in der Farm werden onDemand hochgefahren über einen automatisierten Prozess und SharePoint läuft und läuft on demand.
Liebe Grüße
Patrick
Comments
- Anonymous
August 19, 2015
Hallo @all, wenn man in Azure viel automatisiert, dann wird man früher und später eine Aufgabe lösen