Weil es die Tage bei einem meiner Kunden wieder mal ein Thema war, möchte ich es hier nun mal im Detail beleuchten. Und zwar geht es um die Anforderung, Virtuelle Maschinen in Azure starten und stoppen zu können, ohne beispielsweise die VM löschen zu können oder ihre SKU zu verändern. Natürlich gibt es den „Virtual Machine Contributor“ als built-in Role, aber diese darf eben deutlich zu viel.
Wie geht man nun an das Thema heran? Zunächst muss man zwei Dinge in Erfahrung bringen:
Den Namen des Resource-Providers um den es geht
Die Operationen auf diesem Provider, die man erlauben oder verbieten möchte
Wie Microsoft in seinem Blog-Artikel angekündigt hat, ist das „Account Failover“ Feature für den Storage Account nun in der Public Preview. Aber worum handelt es sich hier überhaupt?
Schon seit Längerem bieten Storage Accounts die Möglichkeit, die Daten georedundant vorzuhalten. Dabei werden in den Optionen ZRS, GRS und RA-GRS (und neuerdings auch GZRS) die Daten (die am primären Speicherort schon 3-fach vorgehalten werden) in ein anderes Azure Rechenzentrum in der selben Region (ZRS) oder in einer anderen Region gespiegelt. Dies geschieht allerdings asynchron, d.h., bei einem Ausfall in der Ursprungsregion kann es sein, dass nicht alle Daten vollständig gespiegelt worden, somit kann es zu Datenverlust kommen.
In den letzten Tagen habe ich auf dem Microsoft-Event „Azure Day“ sowohl in der Westschweiz als auch Zürich über Azure App Service, Web Apps und Container gesprochen.
Die Cloud-Einführung richtig planen: Mit dem Azure Governance Workshop entsteht anhand Ihrer Anforderungen ein fundiertes Cloud-Konzept. Zur Prüfung der Wirtschaftlichkeit und der Einhaltung von Compliance-Regeln analysieren dabei Experten Ihre Anforderungen. Erfahren Sie im Detail, wie wir dabei vorgehen und Ihnen mit der Modernisierung Ihrer IT-Infrastruktur helfen können. Kostenlos zum Webinar anmelden:
Ein regelmäßiges Problem im Azure-Alltag ist das Aufräumen nicht mehr benötigter Azure-Ressourcen. Diese kosten in der Regel unnötig Geld und stellen zum Teil auch ein (Sicherheits-)Risiko dar (wenn zum Beispiel eine nicht mehr verwendete VM aus dem Fokus gerät und über Jahre nicht gepatcht wird).
Um dieser Herausforderung zu begegnen gilt es zunächst, die Ressourcen, die „weg“ können, zu identifizieren. Dazu habe ich eine erste Version eines PowerShell Skriptes erstellt, welches:
Nicht verwendete Public IPs
Nicht verwendete NICs
Nicht verwendete NSGs
Nicht verwendete Managed Disks
findet und aufführt.
Über die Zeit möchte ich das Skript weiter ausbauen.
Microsoft hat heute (still und heimlich und ohne großes Event) die neuen Deutschen Rechenzentren für Azure freigeschalten. Man kann sie auch im Portal schon sehen/auswählen:
Allerdings ist diese Region bisher nur für ausgewählte Kunden nutzbar. Beim Versuch, eine Ressource dorthin bereit zu stellen, kommt derzeit noch ein Fehler:
Einem Beitrag von Microsoft selbst sind auch weitere Details zu entnehmen, auch, wann und wie es weitergeht:
In meinen Workshops und anderen Kundenterminen kommt immer wieder die Frage, wie man Virtuelle Maschinen in Azure nach Zeit gesteuert hoch- und wieder runterfahren kann. Das ist eigentlich ganz einfach – man benötigt dazu nur folgendes:
Einen Azure Automation Account
Ein PowerShell Runbook mit entsprechendem Skript
VMs mit den entsprechenden Tags
Ich habe mich dazu zu folgenden Tags entschieden:
AutoShutdown – Entscheidet, ob die VM automatisch heruntergefahren werden soll; kennt die Werte “Yes” and “No”
AutoShutdownTime – enthält die entsprechende Zeit für den Shutdown im Format HH:mm:ss nach UTC
AutoStartup – Entscheidet, ob die VM automatisch gestartet werden soll; kennt die Werte “Yes” and “No”
AutoStartupTime – enthält die entsprechende Zeit für den Start im Format HH:mm:ss nach UTC
Das PowerShell-Skript findet ihr in meinem GitHub Repo:
Das Skript ist etwas komplexer als die beiden anderen im Repo, berücksichtigt dabei aber auch, dass eine VM ggf. morgens heruntergefahren und abends gestartet werden soll.
Auf Youtube habe ich ein Video veröffentlicht, dass das Vorgehen mit anderen Skripten zeigt:
Seit ein paar Stunden ist sie nun endlich verfügbar – die erste Preview-Version von PowerShell 7, genannt „PowerShell 7 Preview.1“. Sie kann wie üblich auf verschiedensten Wegen bezogen werden. Einer davon ist der direkte Download aus GitHub:
Also, dann viel Spaß beim Ausprobieren der neuen Version! Und denkt daran – Preview heisst, es gibt keinen Support und die Version sollte nicht produktiv eingesetzt werden!
Für alle Interessierten gibt es hier die Slides und das Recording meiner gestrigen Session zu „DevOps mit OpenSource Tools“ auf dem Global Azure Bootcamp 2019: