Daniel's Tech Blog

Cloud Computing, Cloud Native & Kubernetes

Microsoft Azure IaaS – PowerShell Static IP Configuration Scripts

In letzter Zeit habe ich mich intensiver mit den IaaS Möglichkeiten von Microsoft Azure beschäftigt. Jeder der schon mit dem Azure Virtual Network gearbeitet hat, weiß das man sein eigenes Subnet mit dem entsprechenden IP-Adressbereich und DNS Server konfigurieren kann. Dabei werden dann den Azure VMs in diesem Virtual Network / Subnet per DHCP die IP-Adressen im definierten Bereich ab IP x.x.x.4 automatisch zugewiesen. Das eigentliche Problem an dieser Stelle ist, dass man gewissen VMs fix eine IP-Adresse zuweisen möchte zum Beispiel einem DC. Dies ist mittlerweile über die PowerShell möglich und das führt mich zum nächsten Punkt. Ich habe insgesamt drei PowerShell Scripte für den Umgang von statischen IP-Adressen und Subnets in einem Azure Virtual Network geschrieben, die ich euch nun vorstellen möchte.

Get-AzureVMStaticIPOverview.ps1

Das Script Get-AzureVMStaticIPOverview gibt einen Überblick über die per DHCP (DynamicIPAddress) und die fix zugewiesenen IP-Adressen (StaticIPAddress) aus. Damit hat man den Überblick bei welchen Azure VMs sich die IP-Adresse durch Maintenance oder Deallocated Massnahmen ändern kann und welche ihre IP-Adresse trotz dieser Massnahmen behalten. Im Endeffekt ist nämlich das oben angesprochene fixe Zuweisen von IP-Adressen nichts weiter als eine DHCP Reservation.

AzureStaticIPOverview

Set-AzureVMSubnet.ps1

Manchmal kann es vorkommen, dass man eine Azure VM in ein anderes Subnet schieben möchte. Anstatt die Azure VM zu löschen und wieder bereitzustellen, kann man dies auch über die PowerShell erledigen. Zum Abschluss wird dann die Azure VM neu gestartet, so dass sie sich im neuen Subnet befindet.

Beim Aufruf des Scripts wählt man zuerst den Cloud Service aus unter dem sich die Azure VM befindet. Danach die Azure VM selber.

AzureStaticIPSubnet01AzureStaticIPSubnet02

Im nächsten Schritt erfolgt die Auswahl von Virtual Network und Subnet.

AzureStaticIPSubnet03AzureStaticIPSubnet04

Wenn die Änderung erfolgreich durchgeführt wurde, sollte die folgende Meldung in der PowerShell erscheinen.

AzureStaticIPSubnet05

Set-AzureVMStaticIP.ps1

Nun aber zu dem Script von dem ich schon am Anfang dieses Beitrags sprach mit dem man einer Azure VM eine IP-Adresse fix zuweist.

Beim Aufruf des Scripts wählt man zuerst den Cloud Service aus unter dem sich die Azure VM befindet. Danach die Azure VM selber.

StaticIP01StaticIP02

Im nächsten Schritt erfolgt die Auswahl von Virtual Network und Subnet.

StaticIP03StaticIP04

Danach wird per Out-Gridview eine IP Übersicht ausgegeben. Gleichzeitig kann man die fixe IP-Adresse für die Azure VM definieren.

StaticIP05

Nun wird mittels dem PowerShell Cmdlet Test-AzureStaticVNetIP überprüft, ob die IP-Adresse zur Verfügung steht oder diese bereits belegt ist. Ist die IP-Adresse nicht vergeben, so wird diese direkt der Azure VM als fixe IP zugewiesen. Sollte die IP-Adresse bereits belegt sein wird überprüft, ob es die dynamische IP-Adresse der ausgewählten Azure VM ist. Je nach Ergebnis wird die IP-Adresse dann zugewiesen oder die Meldung ausgegeben, dass die IP-Adresse sich bereits in Benutzung befindet.

IP Address in use!

Eine andere Situation, die ebenfalls abgedeckt ist, ist die Situation, wenn die Azure VM bereits eine fixe IP-Adresse besitzt und dieselbe IP-Adresse nochmals der Azure VM zugewiesen werden soll.

Static IP Address is already assigned to Azure VM!

Wenn die Änderung erfolgreich durchgeführt wurde, sollte die folgende Meldung in der PowerShell erscheinen.

StaticIP06

-> http://gallery.technet.microsoft.com/Azure-IaaS-Virtual-Network-f5f41d63

WordPress Cookie Notice by Real Cookie Banner