Nach meiner heutigen Session zum Thema „Azure Migrate“ auf der Experts Live Germany in Erfurt findet ihr meine Slides jetzt wie üblich auf meinem GitHub Repo:
Viel Spaß damit – meldet euch gerne bei Fragen!
Schreibe einen Kommentar...Blog von Haiko Hertes zu allen Themen rund um Microsoft, Cloud und Datacenter
Nach meiner heutigen Session zum Thema „Azure Migrate“ auf der Experts Live Germany in Erfurt findet ihr meine Slides jetzt wie üblich auf meinem GitHub Repo:
Viel Spaß damit – meldet euch gerne bei Fragen!
Schreibe einen Kommentar...Azure Migrate bietet im Alltag viele sehr nützliche Funktionen. Dabei können unter anderem Assessments auf bestehende on-premises Umgebung gefahren werden, um neben einer Kostenindikation auch einen ersten Überblick über die technische Machbarkeit einer Lift-and-Shift-Migration von Servern von on-premises zu erhalten.
Insbesondere für diese Assessments (die dann u.a. auch eine Depency Analysis erlauben) werden Gruppen in Azure Migrate benötigt. Diese kann man im Portal nur sehr rudimentär anlegen. Dabei müssen aus der Liste von erkannten on-opremises Servern die gewünschten Systeme in mehreren Listen-Seiten zu je ca. 10 Systemen, die sich weder sortieren noch (sinnvoll) filtern lässt, ausgewählt und mit Checkboxen zur Gruppe hinzugefügt werden:
Nun gibt es zwar seit Ende 2020 ein PowerShell-Modul für Azure Migrate – dieses kann aber bis heute in keinster Weise mit diesen Gruppen umgehen – weder diese Abfragen, noch anlegen oder verändern.
Aus diesem Grund – und weil es immer öfter nötig ist, aus hunderten oder tausenden erkannten on-prem Systemen nur einen Teil auszuwählen – habe ich ein passendes PowerShell-Skript erstellt, welches eine über Hostnamen gegebene Liste von Servern in eine entweder bereits vorhandene oder im Laufe des Skriptes angelegte Gruppe aufnimmt. Dazu werden verschiedene REST-Calls gegen die REST-API von Azure benutzt, um sowohl mit den Gruppen als auch den erkannten Servern umgehen zu können.
Das Skript ist auf meinem GitHub Repo zu finden:
scripts/GroupAzMigrateServers.ps1 at master · HaikoHertes/scripts (github.com)
Ich werde in den kommenden Tagen voraussichtlich noch ein paar kleine Verbesserungen vornehmen, das Skript ist aber bereits jetzt voll lauffähig.
Schreibe einen Kommentar...Seit einigen Tagen gibt es im Azure Portal einen neuen Dialog für das Löschen von Viruellen Maschinen. Dieser bietet nun endlich die Möglichkeit, beim Löschen der VM auch alle ihre „Anhängsel“ wie Disks, NICs und public IPs mit zu löschen:
Aus meiner Sicht ist das – vor allem für die Nutzer, die sich mit Masse auf das Portal abstützen – eine tolle Sache, um Leichen im System zu vermeiden. Was hier noch fehlt (vor allem für kleine Testumgebungen) wäre das Löschen von Backups, virtuellen Netzen und anderen Resourcen, aber es ist ein Anfang!
Schreibe einen Kommentar...In den letzten beiden Tagen war ich als Speaker auf den sqlDays in Erding. Die Sessions hatten die Titel
„Whats new with Databases on Azure?“ und
„Hochverfügbarkeit für Azure SQL Server VMs“
Die Slides dazu findet ihr jetzt auf meinem GitHub Repo:
slides/sqlDays2021 at master · HaikoHertes/slides (github.com)
Sobald die Aufzeichnungen verfügbar sind, verlinke ich diese dann hier.
Schreibe einen Kommentar...Vor kurzem kam mir in einer frisch aufgebauten Azure Virtual Desktop (AVD) Umgebung ein merkwürdiger Fehler unter. Nach dem Login und der Auswahl der gewünschten App startet der Verbindungsaufbau. Dieser schlägt dann jedoch mit folgender Fehlermeldung fehl:
Wir konnten leider keine Verbindung mit „Outlook“ herstellen.
Mit dem Gateway konnte aufgrund eines Fehlers keine Verbindung hergestellt werden. Sollte das Problem wiederholt auftreten, wenden Sie sich an Ihren Administrator oder an den technischen Support.
Auf englischsprachigen Systemen sieht es dann so aus:
Oops, we couldn’t connect to „Outlook“
We couldn’t connect to the gateway because of an error. If this keeps happening, ask your admin or tech support for help.
Meine Suche im Internet zu möglichen Ursachen brachte leider nichts passendes. Da ich den Grund des Fehlers dann aber kurz darauf selber bemerkt habe, dachte ich, ich dokumentiere das Ganze hier kur, falls noch andere Nutzer in diese „Falle“ tappen:
Die Ursache des Fehlers hat nichts mit Netzwerk oder anderen Verbindungsproblemen zu tun, wie die Meldung zunächst vermuten lässt.
Ich hatte mich schlichtweg am AVD Webclient mit einem User angemeldet, den es in der Windows Server Domäne (ADDS / NTDS) nicht gibt, sondern nur im Azure AD. Die Anmeldung am Host des Hostpools erfolgt aber gegen einen regulären Domänencontroller! Der cloud-only User kann sich noch problemlos am AVD Webclient anmelden, dieser gibt auch keine Warnung o.ä., aus. Nur das Starten der Apps geht dann eben nicht…
Wenn ihr also auch auf diesen Fehler stoßt: Stellt sicher, dass der verwendete Benutzer in der Domäne bekannt und das Passwort dort identisch ist!
1 KommentarVor einiger Zeit (muss mehrere Jahre her sein) habe ich ein paar Azure Automation PowerShell Runbooks auf GitHub und hier veröffentlich, um VMs Zeit- und Tag- gesteuert starten und stoppen zu können und um heruntergefahren, nicht-deallokierte VMs zu deallokieren. Diese basierten auf AzureRM PowerShell Cmdlets / Modulen und einer etwas komplizierten Herangehensweise. Ich habe die Runbooks nun massiv überarbeitet, so dass diese erstens das neuere Az Modul verwenden und auch vom Aufbau her wesentlich einfacher sind. U.a. verwenden die Runbooks jetzt lokale Deutsche Zeit und sind robuster bei der Schreibweise der Tags (Groß-/Kleinschreibung).
Ihr findet diese Runbooks wie immer in meinem GitHub Repo, konkret genau hier:
VMs starten und stoppen:
https://github.com/HaikoHertes/scripts/tree/master/Azure/Automation/Snoozing
VMs deallokieren:
https://github.com/HaikoHertes/scripts/tree/master/Azure/Automation/VmDeallocation
Viel Spaß damit!
Weitere Informationen zu Azure Automation und Runbooks:
Azure Quickstart – Create an Azure Automation account | Microsoft Docs
Create an Azure Automation Run As account | Microsoft Docs
Create a standalone Azure Automation account | Microsoft Docs
Create a PowerShell Workflow runbook in Azure Automation | Microsoft Docs
Die Azure Firewall hat ein für mich zunächst nicht nachvollziehbares, aber dann verständliches, wenn auch nicht erwartetes Verhalten. Allerdings steht es, wenn man dann genau nachliest, auch genau so, wie es passiert in der Doku. Aber nochmal langsam…
Ich habe auf einer Azure Firewall einige DNAT Rules, um auf Jump-Hosts zu kommen, die in unterschiedlichen Netzwerken stehen:
Hier ist also für zwei VMs aus dem freien Internet über die Public IP der Azure Firewall und zwei höhere Ports der Durchgriff auf RDP TCP/3389 konfiguriert.
Zwischen den beiden Netzwerken, in denen sich die VMs befinden, soll der Traffic aber stark reglementiert sein. Daher sind dort nur einige Ports explizit erlaubt, für den Rest sollte die Azure Firewall „per default“ blockieren:
Jedoch ist es dennoch so, dass zwischen den beiden VMs, die ja in getrennten Netzen stehen, weiterhin Kommunikation möglich ist, auch jenseits von ICMP und HTTP(S). Getestet hatte ich es mit RDP – das geht noch, obwohl das nach meiner Meinung nicht so sein sollte.
Und das hatte mich sehr verwundert. Zunächst hatte ich das als Fehlverhalten interpretiert. Ein kurzer Call mit dem Support hat aber geklärt, dass dieses Verhalten so ganz normal ist. Das wiederum war für mich unerwartet.
Die Lösung hier ist, dass eine DNAT Rule eine implizite Network Rule nach sich zieht. Dabei werden allerdings nicht Port und Destination IP sondern Translated Adress und Translated Port für die Destination verwendet. So steht es auch in der Doku:
(Quelle: https://docs.microsoft.com/en-us/azure/firewall/rule-processing)
Es gibt hier also zwei Lösungen, um das Ziel, keine Kommunikation zwischen den Netzen zu haben, zu erreichen:
Weihnachten 2020 ist nun Geschichte und damit endete auch mein Azure Adventskalender in diesem Jahr. Jeden Tag ein neues Video für euch – das hat mir viel Spaß, aber auch einiges an Arbeit bereitet. Daher möchte ich natürlich, dass die Videos auch nach der Weihnachtszeit weiterhin zu eurem Nutzen sind. Und deswegen fasse ich euch hier nochmal alle Videos kurz zusammen:
01. Dezember 2020
Hinter Tür Nummer eins verbarg sich ein Video zu den Diagnostic Settings in Azure. Ihr findet es hier:
https://youtu.be/cAjqU0202X4
02. Dezember 2020
Das zweite Türchen hielt einen Überblick zu den verschiedenen VM-Größen in Azure und eine Erklärung selbiger bereit. Es ist hier zu finden:
https://youtu.be/mTZbOxKrlrM
03. Dezember 2020
Hinter diesem Türchen war ein Video zu den Resource Locks zu finden. Hier geht es zum Video:
https://youtu.be/X0IHwU6EA_E
04. Dezember 2020
Das vierte Türchen verbarg einen Überblick zum Azure Advisor und Erklärungen zu seinen Empfehlungen. Das Video gibt es hier:
https://youtu.be/RmTaXwZfP6o
05. Dezember 2020
Am fünften Tag gab es ein Video zur Datenbank-Migration in Azure. Es ist über diesen Link zu erreichen:
https://youtu.be/c1xfZqY-eyM
06. Dezember 2020
Am Nikolaustag ging es im täglichen Video um die Azure Firewall (verbunden mit VNET-Peering). Das Video findet ihr hier:
https://youtu.be/EsX2B1DZvzA
07. Dezember 2020
Für das siebte Türchen habe ich ein Video zu einem netten Sicherheitsfeature des Security Center bzw. Defender aufgezeichnet – es geht um Just-in Time (JIT) VM Access. Das Video ist über diesen Link zu sehen:
https://youtu.be/k2LUYmMxOx4
08. Dezember 2020
Für diesen Tag gab es ein Video zu den Network Security Groups (NSG) und den Application Secruity Groups (ASG). Ihr findet es hier:
https://youtu.be/FBmInxpkSEM
09. Dezember 2020
Das neunte Türchen hat ein Video zu den verschiedenen Disk-Typen für Azure VMs beschert. Schaut es euch hier an:
https://youtu.be/oANdFp21W9k
10. Dezember 2020
Budgets
https://youtu.be/qoANsC2lhx4
11. Dezember 2020
Resource Graph
https://youtu.be/ApMXdfioDt4
12. Dezember 2020
Azure SQL Serverless
https://youtu.be/l7YNtr8Zr8c
13. Dezember 2020
IaaS Antimalware Extension
https://youtu.be/HP_i0eTSr-0
14. Dezember 2020
Azure Active Directory Conditional Access
https://youtu.be/V1PBESIvjOY
15. Dezember 2020
ARM Template Export
https://youtu.be/fft5e14gZk8
16. Dezember 2020
Burstable VMs (B-Serie)
https://youtu.be/Ow79XJ5UKZQ
17. Dezember 2020
Quotas
https://youtu.be/wUoTbb9q220
18. Dezember 2020
Azure VM Backup
https://youtu.be/oabUJSEyAakhttps://youtu.be/oabUJSEyAak
19. Dezember 2020
Azure Loadbalancer
https://youtu.be/K4p6QzWrevM
20. Dezember 2020
Azure SQL Elastic Pool
https://youtu.be/neS9UzfoZYs
21. Dezember 2020
Update Management für VMs
https://youtu.be/oCHzHir1YDE
22. Dezember 2020
Availability Sets
https://youtu.be/gxVTZHgtQTY
23. Dezember 2020
Availability Zones
https://youtu.be/nQXuU2OCZ8c
24. Dezember 2020
Azure Monitor
https://youtu.be/QJpDo1X6wCs
Die gesamte Playlist findet ihr hier:
Adventskalender 2020 – YouTube
Schreibe einen Kommentar...In einer Woche ist es soweit – mit dem 01.12. beginnt die jährliche Saison der Adventskalender. Ich habe mir für dieses Jahr etwas Besonderes überlegt. ich werde jeden Tag ein virtuelles Türchen auf meinem YouTube-Kanal bereithalten, hinter dem sich dann jeweils ein neues Video verbergen wird! Also seid gespannt, abonniert meinen Kanal und schaut euch die täglichen Videos an.
https://www.youtube.com/c/HaikoHertes
Schreibe einen Kommentar...Microsoft hat mich erneut als „Most Valuable Professional“ (MVP) ausgezeichnet – dieses mal aber für den Bereich Azure. Ich bin stolz und glücklich, weit Teil dieser großartigen Gemeinschaft zu sein!
Schreibe einen Kommentar...