Server mit Azure Arc-Unterstützung bieten die Möglichkeit, physische Server und virtuelle Computer unter Windows und Linux zu verwalten, die außerhalb von Azure in Ihrem Unternehmensnetzwerk oder bei einem anderen Cloudanbieter gehostet werden. Im Zusammenhang mit Azure Arc werden diese Computer, die außerhalb von Azure gehostet werden, als Hybridcomputer betrachtet. Hybridcomputer in Azure Arc werden auf die gleiche Weise verwaltet wie native virtuelle Azure-Computer: mithilfe von Azure-Standardkonstrukten wie Azure Policy und durch Anwenden von Tags.

Wenn ein Hybridcomputer mit Azure verbunden wird, wird er zu einem verbundenen Computer und in Azure wie eine Ressource behandelt. Jeder verbundene Computer verfügt über eine Ressourcen-ID, mit der der Computer in eine Ressourcengruppe aufgenommen werden kann.

Für die Verbindung von Hybridcomputern mit Azure installieren Sie den Azure Connected Machine-Agent auf jedem Computer. Dieser Agent ersetzt nicht den Azure Azure Monitor-Agent. Der Azure Monitor-Agent für Windows und Linux ist in folgenden Fällen erforderlich:

  • Sie möchten das Betriebssystem und die Workloads, die auf dem Computer ausgeführt werden, proaktiv überwachen
  • Sie möchten es mithilfe von Automation-Runbooks oder Lösungen wie der Updateverwaltung verwalten
  • Sie verwenden andere Azure-Dienste wie Microsoft Defender für Cloud.

Sie können den Connected Machine-Agent manuell oder auf mehreren Computern im großen Stil installieren, indem Sie diese Bereitstellungsmethode verwenden.

Überblick Azure ARC

Azure Arc bieten viele Möglichkeiten und viele Einsatzbereiche, ein paar Informationen haben ich Ihnen hier in Form von Microsoft Links zur Verfügung gestellt.

Einrichtung

In diesem Artikel beschreibe ich, wie Sie in einem Active Directory die Agents per Gruppenrichtlinien verteilen können, so dass Sie nicht jede Maschine von Hand installieren müssen.

Ich nutze für das Verteilung ein PowerShell Skript, welches die Installation und später auch die Konfiguration validiert und ggf. neu einrichtet.

Gruppenrichtlinie

Ich nutze eine Gruppenrichtlinie um die Konfiguration für die Installation des Azure ARC Connected Maschinen Agenten nicht im PowerShell Skript, sondern in der Registry zu speichern. Zusätzlich wird das PowerShell Script aus dem NETLOGON Verzeichnis der Domäne lokal ins Verzeichnis C:\Windows\Temp verteilt und ein Geplanter Task erstellt, der das PowerShell Skript startet.

Sie können also über die Gruppenrichtlinie das Abonnement und die Ressourcengruppe definieren in der die Server entsprechen eingerichtet werden.

Registry Daten

Alle Registry Daten sind Textbasierte Werte die Sie einfach in der GPO aktualisieren/eintragen können. Der Wert für: arcSecret ist jedoch in meinem Skript ein zusätzlich Verschlüsselter base64 Wert.

[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($String))

Hinweis:

Dies hat den Vorteil, dass das Ziel in Azure leicht per GPO eingestellt werden kann ohne das Sie das Skript anpassen müssen.

Service Principal

Der Azure Arc-Dienst im Azure-Portal bietet eine optimierte Möglichkeit zum Erstellen eines Dienstprinzipals, der zum Verbinden Ihrer Hybridcomputer mit Azure verwendet werden kann.

  1. Navigieren Sie im Azure-Portal zu Azure Arc, und wählen Sie dann im linken Menü Dienstprinzipale aus.
  2. Klicken Sie auf Hinzufügen.
  3. Geben Sie einen Namen für Ihren Dienstprinzipal ein.
  4. Wählen Sie aus, ob der Dienstprinzipal Zugriff auf ein gesamtes Abonnement oder nur auf eine bestimmte Ressourcengruppe haben soll.
  5. Wählen Sie das Abonnement (und ggf. die Ressourcengruppe) aus, auf das der Dienstprinzipal Zugriff haben soll.
  6. Wählen Sie im Abschnitt Geheimer Clientschlüssel aus, wie lange Ihr generierter geheimer Clientschlüssel verwendet werden soll. Optional können Sie einen Anzeigenamen Ihrer Wahl im Feld Beschreibung eingeben.
  7. Wählen Sie im Abschnitt Rollenzuweisung die Option Onboarding von Azure Connected Machine aus.
  8. Klicken Sie auf Erstellen.

Anforderungen

Der Standard Installationsprozess benötigt nur die oben definierten Berechtigungen auf das Abonnement oder die Ressourcengruppe. Mein Skript prüft hingegen, ob sich der Computer noch in dem Abonnement und Ressourcengruppe befindet oder ob die Konfiguration für diesen Computer in der GPO geändert wurde. Ist dies der Fall, führt das Skript automatisch ein “disconnect” und “Connect” durch und Verbindet diesen Computer automatisch für die neue Konfiguration.

Dieses Vorhaben erfordert, dass der Service Principal etwas mehr Rechte besitzt. Weisen Sie dem Service Principal auf dem Abonnement oder der Ressourcengruppe die zusätzlichen Rechte zu, damit das Löschen des System in Azure Arc und ein erneutes Verbinden möglich ist.

Wichtig:

Wenn die Konfiguration in der Gruppenrichtlinie geändert wird, zum Beispiel in ein anderes Abonnement oder eine andere Ressourcengruppe, dann wir die Azure Arc Maschine disconnected und wieder connected. Dies hat zu folge, dass die Azure Arc Maschine gelöscht und neu verknüpft wird. Das Löschen einer Azure Arc Maschine führt dazu, dass jegliche Einstellung in Azure Arc verloren geht. Sind für diese Maschine Windows Updates oder andere Konfigurationen vorhanden, gehen diese verloren.

Sorgen Sie dafür, dass wichtige Konfigurationen wie:

  • Windows Updates
  • andere Konfiguurationen

per Azure Policy angewendet werden, damit die Basiskonfigurationen nicht verloren gehen.

Funktionen

Wird das Skript das erste Mal ausgeführt, wird der Azure Connected Maschine Agent installiert und mit den Parametern wie angegeben konfiguriert. Ist die Installation erfolgreich durchgelaufen, wird der Host anschließend im Azure Arc sichtbar und weißt den Status “Connected” auf.

Sollte die Konfiguration von der Zielkonfiguration abweichen, dann wird ein disconnect und erneuter connect ausgeführt.

GitHub

Die benötigten Dateien und die Gruppenrichtlinie finden Sie in meinem Github Projekt. Laden Sie es hier gerne herunter und berichten, falls es Fehler gibt oder Sie Vorschläge für Verbesserungen haben.

Zu Github

Leave a Reply

Your email address will not be published. Required fields are marked *