Freigeben über


Verwenden der Infrastruktur als Code zum Aktualisieren von Azure-Zielzonen

In diesem Artikel werden die Vorteile der Verwendung der Infrastruktur als Code (IaC) zum Aktualisieren von Azure-Landezonen beschrieben. Organisationen müssen ihre Landezonen aktualisieren, während sie arbeiten, um sicherzustellen, dass Konfigurationen korrekt sind und auf die Notwendigkeit von Änderungen reagieren.

IaC kann den gesamten Lebenszyklus verwalten und zeichnet sich für die Verwaltung der von ihr bereitgestellten Ressourcen aus. Organisationen sollten planen, ihre Azure-Landezonen mit IaC bereitzustellen. Es erfordert eine Planung, um die vorhandenen Nicht-IaC-Ressourcen mit den IaC-Ressourcen abzustimmen, die durch eine Zustandsverwaltung unterstützt werden. Sie müssen die vorhandenen Ressourcen dem gewünschten Zustand zuordnen.

Weitere Informationen finden Sie unter Halten Sie Ihre Azure-Zielzone auf dem neuesten Stand.

Funktionsweise der Infrastruktur als Code

IaC bezieht sich auf die Praxis und Tools zum Verwalten des Lebenszyklus von Infrastrukturressourcen mithilfe maschinenlesbarer Definitionsdateien. Die Definition für die Infrastruktur wird geschrieben, versionsiert, über Pipelines bereitgestellt und wird dann Teil der Bereitstellung für Workloads.

IaC-Technologien sind deklarativ, d. h., wenn IaC ausgeführt wird, wird die Konfiguration auf den im Code beschrieben Zustand festgelegt, unabhängig vom aktuellen Zustand. Wenn Sie die Infrastruktur über Skripts wie die Azure CLI oder Azure PowerShell konfigurieren, sind diese imperativ. Imperative Skripts führen eine Reihe von Aktionen aus, und das Ergebnis hängt vom aktuellen Zustand und dem Zustand nach den Aktionen ab.

Wenn Sie also über eine Infrastruktur als Codedefinition für eine Azure-Ressource verfügen, können Sie diese Definition beliebig oft ausführen und nur dann eine Änderung erstellen, wenn:

  • Die Definition ändert sich, um neue Ressourcen hinzuzufügen, zuvor bereitgestellte Ressourcen zu entfernen oder zuvor bereitgestellte Ressourcen zu ändern.
  • Die bereitgestellte Ressource weicht von der Konfiguration ab, um die Konfiguration auf die definierte zurückzusetzen.

Sie können IaC verwenden, um den Zustand wiederherzustellen, indem Sie ressourcen entfernen, die nicht mehr benötigt werden, und den Lebenszyklus von Ressourcen durch viele Änderungen verwalten.

Anmerkung

Die spezifischen Mechanismen zum Entfernen von Ressourcen mit IaC variieren. Beispielsweise erfordert Azure Bicep die Verwendung eines complete-Bereitstellungstyps, um Ressourcen außerhalb des Bereichs zu korrigieren. Dieser Befehl funktioniert nur in bestimmten Bereichen. Für Terraform verfügen Ressourcen über ein lifecycle Metaargument, das Anweisungen für die Behandlung von Ressourcen bietet.

Für Azure-Zielzonen gibt es zwei Hauptoptionen für die Infrastruktur als Code:

Die Vorteile der Aktualisierung von ALZ mit Infrastruktur als Code

Die folgenden Nutzen beschreiben, warum Sie Infrastruktur als Code verwenden sollten, um Ihre Zielzone zu aktualisieren.

Reduzieren des Aufwands

Es erfordert weniger Aufwand, infrastruktur als Code zum Ausführen von Updates im Vergleich zu manuellen Änderungen zu verwenden. Die IaC-Bereitstellung hilft bei der Beantwortung der folgenden Fragen:

  • Wie werden ressourcen heute konfiguriert?
  • Wie wird es durch dieses Update konfiguriert?
  • Welche Änderungen werden vorgenommen, um sie in Einklang mit diesem Update zu bringen?

Wenn ein Infrastruktur als Code-Toolset ausgeführt wird, kann es einen Vergleich oder ein „differenzielles“ Auslesen der Änderungen erzeugen. Überprüfen Sie diese Anzeige, bevor Sie Änderungen an der Umgebung committen.

Das Toolset kann die Informationen für die Änderung anstelle eines Operators oder technikers kompilieren.

Fehler reduzieren

Aufgrund der programmgesteuerten Art der Bereitstellungen reduziert die Infrastruktur als Code den menschlichen Fehler, während änderungen vorgenommen werden. Es ändert nur das, was definiert ist, und es verfügt über Vorschauoptionen, sodass Ausfälle reduziert werden, die durch fehlerhafte oder unvollständige Änderungen verursacht werden. Außerdem wurden die Testoptionen verbessert.

Versionssteuerung und -verlauf

Infrastruktur als Code-Bereitstellungen werden durch eine Definitionsdatei unterstützt, sodass Sie die Quellcodeverwaltung verwenden können, um die Versionen Ihrer Definitionen zu verwalten. Je nach der verwendeten Methode von IaC können Sie auf die Bereitstellungen in Azure für Bicep oder Ihre Statusdatei für Terraform verweisen, um den Verlauf früherer Bereitstellungen zu überprüfen.

Wenn Sie Quellcodeverwaltungsmethoden verwenden, wird ein neuer Branch Ihrer IaC erstellt, um Änderungen und Überarbeitungen hinzuzufügen. Der Verlauf der Branch in Ihrem Quellcodeverwaltungssystem erfasst die Iterationen und Änderungen. Sie können sie verwenden, um Änderungen in einer Testumgebung bereitzustellen, bis Sie bereit sind, die Änderungen in der Produktion zusammenzuführen und bereitzustellen. Weitere Informationen finden Sie unter Testansatz für Azure-Zielzonen. Während dieses Zyklus erfassen die Bereitstellungsdatensätze die verwendete Version und die bereitgestellten Ressourcen, die einen sehr sichtbaren Verlauf bieten.

Verwenden Sie diese Testmethoden mit Bicep für allgemeine Testzwecke. Mit diesen Methoden können Sie Tests durchführen, bevor Sie den Code bereitstellen, und Sie können in Nicht-Produktionsumgebungen von Ihrem Branch aus testen.

Testumgebungen

IaC-Bereitstellungen sind wiederholbar, sodass Sie dieselbe Definition verwenden können, um eine zweite (oder mehr) Umgebung basierend auf der Bereitstellung bereitzustellen. Diese Methode ist für das Testen von Änderungen nützlich.

Wenn Sie ihre Azure Firewall beispielsweise mithilfe der Premium-SKU ersetzen möchten, können Sie eine Testumgebung bereitstellen und die Änderungen überprüfen, ohne die Produktion zu ändern.

Abfangen von Konfigurationsabweichungen

IaC bietet eine einzigartige Möglichkeit, Konfigurationsabweichungen während Updates abzufangen. Die Bereitstellung erfasst Änderungen an der Definitionsdatei und stellt Instanzen dar, in denen sich die Ressourcenkonfiguration von der Definition unterscheidet.

Aktualisierungen der Landing-Zone mit IaC können Ihnen helfen, diese Konfigurationsabweichungen zu erkennen und den Code entsprechend zu aktualisieren, diese Fehlkonfigurationen über das Update zu beheben oder sie auf andere Weise anzugehen.

Wenn Sie eine Änderung an Ressourcen über das Portal, die CLI oder eine Nicht-IaC-Methode vornehmen, wird die Änderung implementiert. Wenn Sie das nächste Mal eine Bereitstellung über IaC ausführen, wird der Vergleich zwischen dem im Code definierten Zustand und dem aktuellen Zustand im Portal mithilfe von Was-wäre-wenn- oder Planungsfunktionen gekennzeichnet. Verwenden Sie diese Methode, um zu ermitteln, ob eine Umgebung außerhalb der Codedatei geändert wird.

Nachdem die Fehlausrichtung identifiziert wurde, können Sie IaC ausführen, um zu versuchen, die Bereitstellung mit der Definition auszurichten. Verwenden Sie diese Methode, um Probleme zu identifizieren und Szenarien zu beheben, abhängig von der Art der Probleme, der Art der Ausführung und der Art der Änderungen. Beispielsweise versucht Terraform, den Basisplan für die bereitgestellten Ressourcen wiederherzustellen, und eine bereitstellung im Complete Modus in Bicep entfernt Ressourcen in einer Ressourcengruppe, die nicht Teil der Definition sind. Diese Tools erkennen und reparieren konfigurationsabweichungen, behandeln aber möglicherweise nicht alle Probleme.

Weitere Informationen finden Sie unter Out-of-Band-Änderungen und Erkennen und Verwalten von Abweichungen mit Terraform.

Änderungen, die im Portal definiert sind, sind umständlich, wieder in IaC zu implementieren. Sie müssen den Code so aktualisieren, dass er dem aktuellen Zustand entspricht. Dies umfasst häufig die Überprüfung der einzelnen Ressourcenänderungen und das Aktualisieren der Parameter, damit sie der "as is"-Konfiguration entsprechen.

Wenn Sie IaC verwenden, um Ihre Zielzone oder andere Ressourcen zu verwalten, sollten Sie nur Änderungen außerhalb von IaC als Teil eines Notfalls vornehmen. Treffen Sie Vorsichtsmaßnahmen mit Konten, die Zugriff haben, um Änderungen direkt vorzunehmen, z. B. Privileged Identity Management.

Lesen Sie allgemeine Automatisierungs- und Sicherheitspraktiken in den folgenden Artikeln:

Nächste Schritte

Sehen Sie sich eine Einführung in die IaC-Tools in den folgenden Artikeln an: