Drücke "Enter", um den Text zu überspringen.

Haikos Blog Posts

Wetterbericht aus der blauen Wolke 07/2024

Auf Grund von Krankheit gab es letzte Woche leider kein Update und diese Woche bin ich auch etwas später dran. Sorry dafür…

Hier die aktuellsten Updates der letzten 14 Tage:

Neue GA Features

Azure Backup

Azure Monitor

Azure App Service

Azure Container Apps

Azure Database for PostgreSQL

Azure Kubernetes Service (AKS)

Azure Virtual Machines

Azure Virtual Network Manager

Neue Previews

Azure Functions

Azure Kubernetes Service (AKS)

Azure Site Recovery

Business Continuity Center

ExpressRoute

Schreibe einen Kommentar...

Mitglieder einer Azure Application Security Group auslesen

Immer wieder begegnet mir von Kunden die Frage, ob und wie man die Server, die Mitglieder einer Azure Application Security Group sind, auslesen kann. Im Portal selber müsste man dazu nämlich alles VMs einzelne abklappern.

Und das geht natürlich auch einfacher per PowerShell:

Get-AzNetworkInterface | Select-Object -Property Name, IpConfigurations | Select -Property Name,@{label="ASG";expression={$_.ipConfigurations.ApplicationSecurityGroupsText}} | Where ASG -ne "[]" | fl *

Das könnte man jetzt noch schöner machen – ist aber ohnehin keine wirklich gute Lösung, weil man hierzu alle Subscriptions „abklappern“ müsste. Besser ist hier dann der Resource Graph geeignet:

Die Query fragt alle NICs (und damit auch alle Private Endpoints, die ja auch eine ASG haben könnten) ab und bereitet die Daten dann noch etwas schöner auf. Das Ganze liefert in weniger als einer Sekunde die Informationen über alle Subscriptions!

Die dafür von mir geschriebene Query lautet:

resources
| where type =~ "microsoft.network/networkinterfaces"
| mv-expand properties.ipConfigurations
| mv-expand applicationSecurityGroupId=properties_ipConfigurations.properties.applicationSecurityGroups
| parse applicationSecurityGroupId with * "/applicationSecurityGroups/" applicationSecurityGroup '"' *
| extend vmId = properties.virtualMachine.id
| parse vmId with * "/virtualMachines/" vmName
| extend peId = properties.privateEndpoint.id
| parse peId with * "/privateEndpoints/" peName
| where isnotnull(applicationSecurityGroupId)
| extend endpointName = iff(isnotnull(vmId),vmName, peName)
| extend endpointId = iff(isnotnull(vmId),vmId, peId)
| extend endpointType = iff(isnotnull(vmId),"Virtual Machine","Private Endpoint")
| project applicationSecurityGroup,applicationSecurityGroupId=applicationSecurityGroupId.id,endpointName,endpointId,endpointType
| order by applicationSecurityGroup

Optional kann man noch ein

| summarize make_list(endpointName) by tostring(applicationSecurityGroupId),applicationSecurityGroup

anhängen, wenn man nicht mehr jede VM einzeln sehen will…

Die Query findet ihr auch auf meinem GitHub Repository:

scripts/Azure/ResourceGraph/ApplicationSecurityGroupQuery.kql at master · HaikoHertes/scripts (github.com)

Viel Spaß damit!

Schreibe einen Kommentar...

Wetterbericht aus der blauen Wolke 05/2024

Wie üblich folgt hier nun also der „Wetterbericht“ für die vergangenen 7 Tage…

Neue GA Features

Azure Monitor

Azure VM Image Builder

Neue Previews

Azure Automation

Retirements & Abkündigungen

  • KEINE NEUEN
Schreibe einen Kommentar...

Wetterbericht aus der blauen Wolke 04/2024

Wie angekündigt folgt hier nun also der „Wetterbericht“ für die vergangenen 7 Tage. Bedingt durch den Jahreswechsel ist hier jedoch nach wie vor wenig geschehen…

Neue GA Features

Azure Databases

Azure Monitor

Azure Networking

Neue Previews

Azure Virtual Machine

Azure Site Recovery

Retirements & Abkündigungen

  • KEINE NEUEN
Schreibe einen Kommentar...

Wetterbericht aus der blauen Wolke 03/2024

Wie angekündigt folgt hier nun also der „Wetterbericht“ für die vergangenen 7 Tage. Bedingt durch den Jahreswechsel ist hier jedoch nach wie vor wenig geschehen…

Neue GA Features

Azure Virtual Machine

Azure NetApp Files

Customer-managed keys (CMK) für Azure NetApp Files Volumes – Verschlüsselung mit selbst-verwalteten Keys (General Availability: Customer-managed keys for Azure NetApp Files volume encryption)

Azure Load Testing

Tests mit HTTP-Requests fpr Azure Load Testing (Create tests by adding HTTP requests in Azure Load Testing)

Neue Previews

Retirements & Abkündigungen

  • KEINE NEUEN

Schreibe einen Kommentar...

Wetterbericht aus der blauen Wolke 02/2024

Wie angekündigt folgt hier nun also der „Wetterbericht“ für die vergangenen 7 Tage. Bedingt durch den Jahreswechsel ist hier jedoch kaum etwas geschehen…

Neue GA Features

Azure Savings Plan for Compute

Neue Previews

  • KEINE NEUEN

Retirements & Abkündigungen

  • KEINE NEUEN

Schreibe einen Kommentar...

Wetterbericht aus der blauen Wolke 01/2024

Da ist es nun also, das neue Jahr 2024. Ich wünsche allen Lesern viel Glück, Freude und Erfolg für dieses Jahr!

Wie angekündigt folgt hier nun also der erste „Wetterbericht“ für die vergangenen 14 Tage. So meine Zeit und andere Faktoren es erlauben, soll dies nun also wöchentlich geschehen….

Neue GA Features

Azure Virtual Machine

Azure Migrate

Azure Monitor

Azure Site Recovery

Neue Previews

Retirements & Abkündigungen

  • Azure Automation Update Management wird abgeschaltet; Wechsel zu Azure Update Manager nötig (31. August 2024)
  • Change tracking and inventory mit dem Log Analytics Agent in Azure Automation wird abgeschaltet; Wechsel zu Azure Monitoring Agent nötig (31. August 2024)

Schreibe einen Kommentar...

Wöchentlicher Wetterbericht aus der blauen Wolke

Um meinen Blog hier künftig wieder etwas mehr zu nutzen, habe ich mir folgendes überlegt:

Ab dem 01.01.2024 werde ich hier wöchentlich, immer montags, eine Zusammenfassung der für meinen Teil der Arbeit mit Azure relevanten Änderungen, News und Abkündigungen für euch bereitstellen. Dabei wird es primär um die Bereiche Compute, Storage und Network gehen, aber auch Themen aus dem Umfeld von Azure Monitor, Azure Migrate, Datenbanken und mehr werdet ihr dann hier finden. Schaut also gerne jede Woche rein – und lasst mich gerne wissen, was ihr über dieses Vorhaben denkt. Danke!

Und jetzt wünsche ich euch erstmal ein paar schöne Tage im „alten Jahr“ – bis zum ersten Januar!

Schreibe einen Kommentar...

CPU-Kompatibilität in Hyper-V-Cluster mittels PowerShell steuern

Zu einem bestehenden 2-Knoten S2D-Hyper-V-Failover-Cluster aus 2 exakt gleichen Hosts hatte ich vor kurzem einen dritten Knoten hinzugefügt. Es handelte sich hierbei um das selbe HP-Server-Modell. Bei den ersten Live-Migrationen traten jedoch Fehler auf und eine Analyse brachte zu Tage, dass die CPUs am dritten Knoten geringfügig andere sind.

Für dieses Problem gibt es im Allgemeinen das Feature „Processor compatibility“ in Hyper-V (Im Deutschen als „Prozessorkompatibilitätsmodus“ bezeichnet, in der GUI heisst es dann „Zu einem physischen Computer mit einer anderen Prozessorversion migrieren“ bzw. „Migrate to physical computer with a different processor version“). Dieses Feature kann man natürlich problemlos über die GUI ein- und ausschalten:

Allerdings ergeben sich hier schnell 2 Herausforderungen:

  • Das Feature lässt sich nur ändern, während die VM ausgeschaltet ist
  • In einem Cluster laufen schnell mal eine 2-stellige Anzahl VMs

Das kann man natürlich wie so vieles sehr elegant per PowerShell lösen, also habe ich dafür ein passendes Skript geschrieben. Dieses kann entweder zum ein- oder ausschalten des Features benutzt werden und iteriert dabei über einen Cluster und behandelt dabei dann alle VMs im Cluster, bei denen das Feature noch nicht korrekt eingestellt ist, in dem die VMs bei Bedarf zuerst gestoppt, das Feature gesetzt und dann falls vorher laufend die VM wieder startet. Am Ende wird dann noch der Gesamtzustand ausgegeben.

Das Skript findet ihr auf meinem GitHub Repo, siehe hier:

scripts/HyperV/EnableOrDisableCPUCompatibilityOnHyperVCluster.ps1 at master · HaikoHertes/scripts (github.com)

Damit kann man nun also entweder bei unterschiedlicher Hardware die CPU-Kompatibilität für alle VMs erhöhen oder, nachdem man z.B. die CPUs überall auf den selben Stand gebracht hat, das Feature wieder deaktivieren.

Schreibe einen Kommentar...