In diesem Artikel erfahren Sie, wie Sie die Konformität virtueller Computer verwalten, ohne DevOps-Methoden zu beeinträchtigen. Verwenden Sie Azure VM Image Builder und Azure Compute Gallery, um das Risiko durch System-Images zu minimieren.
Architektur
Die Lösung besteht aus zwei Prozessen:
- Der Golden Image-Veröffentlichungsprozess
- Nachverfolgung der Konformität virtueller Computer (virtual machines, VMs)
Laden Sie eine Visio-Datei dieser Architektur herunter.
Datenfluss
Der Golden Image-Veröffentlichungsprozess wird monatlich ausgeführt und enthält die folgenden Schritte:
- Der Prozess erfasst ein Basis-Image aus Azure Marketplace.
- Azure VM Image Builder passt das Image an.
- Der Prozess der Image-Bearbeitung verfolgt Informationen zur Image-Version nach, z. B. das Quell- und Veröffentlichungsdatum.
- Automatisierte Tests validieren das Image.
- Wenn der Test des Image fehlschlägt, wird es zum Anpassungsschritt für Reparaturen zurückgeleitet.
- Der Prozess veröffentlicht das fertige Image.
- Compute Gallery stellt das Image den DevOps-Teams zur Verfügung.
Laden Sie eine Visio-Datei dieser Architektur herunter.
Der Prozess der Nachverfolgung der VM-Konformität umfasst die folgenden Schritte:
- Azure Policy weist VMs Richtliniendefinitionen zu und wertet die VMs auf Konformität aus.
- Azure Policy veröffentlicht Konformitätsdaten für die VMs und andere Azure-Ressourcen auf dem Azure Policy-Dashboard.
Komponenten
VM Image Builder ist ein verwalteter Dienst zum Anpassen von System-Images. Dieser Dienst erstellt und verteilt die Images, die DevOps-Teams verwenden.
Compute Gallery unterstützt Sie beim Strukturieren und Organisieren von benutzerdefinierten Images. Durch das Speichern von Images in Repositorys bietet dieser Dienst kontrollierten Zugriff auf die Images. Benutzer können innerhalb und außerhalb Ihrer Organisation sein.
Azure Policy ermöglicht die Definition von Richtlinien. Sie können diese Definitionen verwenden, um die Normen Ihrer Organisation durchzusetzen und die Konformität im großen Stil zu bewerten. Das Azure Policy-Dashboard zeigt Ergebnisse aus Azure Policy-Auswertungen an. Diese Daten halten Sie über den Konformitätsstatus Ihrer Ressourcen auf dem Laufenden.
Die Azure Automanage-Computerkonfiguration von Azure Policy bietet die eine Möglichkeit zur dynamischen Überwachung und Zuweisung von Konfigurationen zu Computern mittels Code. Die Konfigurationen umfassen im Allgemeinen Umgebungs- oder Betriebssystemeinstellungen.
Alternativen
Sie können ein Drittanbietertool verwenden, um die Konformität zu verwalten. Bei dieser Art von Tool müssen Sie jedoch in der Regel einen Agent auf der Ziel-VM installieren. Möglicherweise müssen Sie auch eine Lizenzierungsgebühr bezahlen.
Sie können benutzerdefinierte Skripterweiterungen verwenden, um Software auf VMs zu installieren oder VMs nach der Bereitstellung zu konfigurieren. Virtuelle Computer bzw. VM-Skalierungsgruppen können jedoch jeweils nur über eine einzelne benutzerdefinierte Skripterweiterung verfügen. Wenn Sie benutzerdefinierte Skripterweiterungen verwenden, verhindern Sie, dass DevOps-Teams ihre Anwendungen anpassen können.
Szenariodetails
Jedes Unternehmen verfügt über eigene Compliancebestimmungen und -normen. In Bezug auf die Sicherheit hat jedes Unternehmen seine eigene Risikobereitschaft. Sicherheitsstandards können sich von Organisation zu Organisation und von Region zu Region unterscheiden.
Das Befolgen unterschiedlicher Standards kann bei der dynamischen Skalierung von Cloudumgebungen eine größere Herausforderung darstellen als bei lokalen Systemen. Wenn Teams DevOps-Verfahren verwenden, gibt es in der Regel weniger Einschränkungen hinsichtlich der Erstellung von Azure-Ressourcen wie virtuellen Computern. Diese Tatsache erschwert die Einhaltung von Vorschriften.
Mit Azure Policy und rollenbasierten Zugriffssteuerungszuweisungen können Unternehmen Standards für Azure-Ressourcen erzwingen. Bei VMs wirken sich diese Mechanismen jedoch nur auf die Steuerungsebene oder die Route zum VM aus. Die System-Images, die auf einem VM ausgeführt werden, stellen weiterhin eine Sicherheitsbedrohung dar. Einige Unternehmen verhindern, dass Entwickler auf VMs zugreifen. Dieser Ansatz beeinträchtigt die Agilität, sodass es schwierig ist, DevOps-Methoden zu befolgen.
In diesem Artikel wird eine Lösung zum Verwalten der Konformität von VMs vorgestellt, die in Azure ausgeführt werden. Neben der Nachverfolgung der Konformität minimiert die Lösung auch das Risiko durch System-Images, die auf VMs ausgeführt werden. Gleichzeitig ist die Lösung mit DevOps-Methoden kompatibel. Zu den wichtigsten Komponenten gehören Azure VM Image Builder, Azure Compute Gallery und Azure Policy.
Mögliche Anwendungsfälle
Diese Lösung gilt für Organisationen mit Azure-Zielzonen, die diese Aufgaben ausführen:
- Bereitstellen von Golden Images für DevOps-Teams. Ein Golden Image ist die veröffentlichte Version eines Marketplace-Images.
- Testen und Überprüfen von Images, bevor sie DevOps-Teams zur Verfügung gestellt werden.
- Nachverfolgen, welches Image jedes DevOps-Team verwendet.
- Erzwingen von Unternehmensstandards, ohne die Produktivität zu beeinträchtigen.
- Sicherstellen, dass DevOps-Teams die neuesten Image-Versionen verwenden.
- Verwalten der Konformität von Pet-Servern, die wartungsintensiv sind, und Cattle-Servern, die leicht ersetzt werden können.
Vorgehensweise
Die folgenden Abschnitte enthalten eine ausführliche Beschreibung des Lösungsansatzes.
Identifizieren von Pet- und Cattle-Servern
DevOps Teams verwenden eine Analogie namens „Pets“ und „Cattle“, um Dienstmodelle zu definieren. Um die Konformität eines VM nachzuverfolgen, bestimmen Sie zunächst, ob es sich um einen Pet- oder einen Cattle-Server handelt:
Pet-Server erfordern erhebliche Aufmerksamkeit. Sie lassen sich nicht leicht aufgeben. Die Wiederherstellung eines Pet-Servers erfordert viel Zeit und finanzielle Ressourcen. Beispielsweise kann ein Server, auf dem SAP ausgeführt wird, ein Pet-Server sein. Neben der Software, die auf dem Server ausgeführt wird, können auch andere Überlegungen das Dienstmodell bestimmen. Wenn Sie eine niedrige Fehlertoleranz haben, können Produktionsserver in Echtzeit- und quasi-Echtzeitsystemen ebenfalls Pet-Server sein.
Cattle-Server sind Teil einer identischen Gruppe. Sie lassen sich einfach ersetzen. Beispielsweise sind virtuelle Computer, die in einer VM-Skalierungsrichtlinie ausgeführt werden, Cattle-Server. Wenn genügend VMs in der Gruppe vorhanden sind, wird Ihr System weiterhin ausgeführt, und Sie müssen nicht den Namen der einzelnen VMs kennen. Testumgebungsserver, die die folgenden Bedingungen erfüllen, stellen ein weiteres Beispiel für Cattle-Server dar:
- Sie verwenden ein automatisiertes Verfahren, um die Server von Grund auf neu zu erstellen.
- Nach Abschluss der Tests nehmen Sie die Server außer Betrieb.
Eine Umgebung kann nur Pet-Server oder nur Cattle-Server aufweisen. Im Gegensatz dazu kann es sich bei einer Gruppe von VMs in einer Umgebung um Pet-Server handeln. Andere VMs in derselben Umgebung könnten Cattle-Server sein.
So verwalten Sie die Konformität:
- Die Konformität von Pet-Servern kann schwieriger nachzuverfolgen sein als dies bei Cattle-Servern der Fall ist. In der Regel können nur DevOps-Teams die Konformität von Pet-Serverumgebungen und -servern nachverfolgen und aufrechterhalten. Die in diesem Artikel vorgestellte Lösung erhöht jedoch die Sichtbarkeit des Status jedes einzelnen Pet-Servers, so dass es für jeden im Unternehmen einfacher ist, die Konformität nachzuverfolgen.
- Bei Cattle-Serverumgebungen sollten Sie die VMs regelmäßig aktualisieren und von Grund auf neu erstellen. Diese Schritte sollten für die Konformität geeignet sein. Sie können diesen Aktualisierungszyklus mit dem regelmäßigen Release-Rhythmus Ihres DevOps-Teams abstimmen.
Einschränken von Images
Erlauben Sie DevOps-Teams nicht, Azure Marketplace VM-Images zu verwenden. Erlauben Sie nur VM-Images zu, die von Compute Gallery veröffentlicht werden. Diese Einschränkung ist für die Sicherstellung der VM-Konformität von entscheidender Bedeutung. Sie können eine benutzerdefinierte Richtlinie in Azure Policy verwenden, um diese Einschränkung zu erzwingen. Ein Beispiel finden Sie unter Image-Herausgeben erlauben.
Im Rahmen dieser Lösung sollten VM-Image Builder ein Microsoft Azure Marketplace-Image verwenden. Es ist wichtig, das neueste Image zu verwenden, das in Microsoft Azure Marketplace verfügbar ist. Wenden Sie alle Anpassungen auf dieses Image an. Microsoft Azure Marketplace-Images werden häufig aktualisiert, und jedes Image verfügt über bestimmte voreingestellte Konfigurationen, um sicherzustellen, dass Ihre Images standardmäßig sicher sind.
Anpassen von Images
Ein Golden Image ist die Version eines Marketplace-Images, das in Compute Gallery veröffentlicht wird. Golden Images stehen für die DevOps-Teams zur Verfügung. Bevor das Image veröffentlicht wird, erfolgt die Anpassung. Anpassungsaktivitäten sind für jedes Unternehmen eindeutig. Zu den üblichen Aktivitäten gehören:
- Betriebssystemabsicherung.
- Bereitstellen benutzerdefinierter Agents für Drittanbietersoftware.
- Installieren von Stammzertifikaten von Unternehmenszertifizierungsstellen.
Sie können VM Image Builder verwenden, um Images anzupassen, indem Sie die Betriebssystemeinstellungen anpassen und benutzerdefinierte Skripts und Befehle ausführen. VM Image Builder unterstützt Windows- und Linux-Images. Weitere Informationen zum Anpassen von Images finden Sie unter Azure Policy-Kontrollen zur Einhaltung gesetzlicher Bestimmungen für Azure Virtual Machines.
Image-Image-Nachverfolgung
Bei der Image-Image-Nachverfolgung werden alle Informationen zur Image-Versionierung nachverfolgt, die von einer VM verwendet werden. Diese Informationen sind während der Problembehandlung von unschätzbarem Wert und können Folgendes umfassen:
- Die ursprüngliche Quelle des Images, z. B. der Name und die Version des Herausgebers.
- Die Versionszeichenfolge des Betriebssystems, die Sie benötigen, wenn ein Upgrade vorhanden ist.
- Die Version Ihres benutzerdefinierten Images.
- Ihr Veröffentlichungsdatum.
Die Menge und Art der Informationen, die Sie nachverfolgen, hängt von der Konformitätsebene Ihrer Organisation ab.
Für Image-Image-Nachverfolgungen auf Windows-VMs richten Sie eine benutzerdefinierte Registrierung ein. Fügen Sie diesem Registrierungspfad alle erforderlichen Informationen als Schlüssel-Wert-Paare hinzu. Geben Sie auf virtuellen Linux-Computer Image-Daten in Umgebungsvariablen oder eine Datei ein. Speichern Sie die Datei in dem Ordner /etc/
, in dem sie nicht mit Entwicklerarbeit oder -anwendungen in Konflikt stehen kann. Wenn Sie die Daten mithilfe Azure Policy nachverfolgen oder darauf berichtigen möchten, speichern Sie alle Daten als eindeutiges Schlüssel-Wert-Paar. Informationen zum Bestimmen der Version eines Marketplace-Images finden Sie unter Ermitteln einer Marketplace-Image-Version.
Überprüfen von Golden Images mit automatisierten Tests
Im Allgemeinen sollten Sie Golden Images monatlich aktualisieren, um mit den neuesten Updates und Änderungen in Azure Marketplace auf dem Laufenden zu bleiben. Verwenden Sie zu diesem Zweck ein wiederkehrendes Testverfahren. Verwenden Sie im Rahmen der Image-Erstellung eine Azure-Pipeline oder einen anderen automatisierten Workflow zum Testen. Richten Sie die Pipeline ein, um einen neuen VM für die Ausführung von Tests vor Beginn jedes Monats bereitzustellen. Die Tests sollten die verknüpften Bilder bestätigen, bevor sie zum Verzehr veröffentlicht werden. Automatisieren Sie Tests mithilfe einer Testautomatisierungslösung oder durch Ausführen von Befehlen oder Batches auf dem VM.
Zu den gängigen Testszenarien gehören:
- Überprüfen der Startzeit des VMs.
- Bestätigen sie alle Anpassungen des Images, z. B. Betriebssystem-Konfigurationseinstellungen oder Agent-Bereitstellungen.
Ein fehlgeschlagener Test sollte den Prozess unterbrechen. Wiederholen Sie den Test, nachdem Sie die Grundursache des Problems behoben haben. Wenn die Tests problemlos ablaufen, reduziert die Automatisierung des Testprozesses den Aufwand für die Aufrechterhaltung eines Evergreen-Status.
Veröffentlichen von Golden Images
Veröffentlichen Sie endgültige Images in Compute Gallery als verwaltetes Image oder als virtuelle Festplatte (VHD), die von DevOps-Teams verwendet werden können. Markieren Sie alle früheren Bilder als „veraltet“. Wenn Sie kein Ablaufdatum für eine Imageversion in Compute Gallery festgelegt haben, ziehen Sie es möglicherweise vor, das älteste Image einzustellen. Diese Entscheidung hängt von den Richtlinien Ihres Unternehmens ab.
Informationen zu Grenzwerten, die bei Verwendung von Compute Gallery gelten, finden Sie unter Store und Freigeben von Images in einer Azure Compute Gallery.
Eine weitere bewährte Methode besteht in der Veröffentlichung der neuesten Images in verschiedenen Regionen. Mit Compute Gallery können Sie den Lebenszyklus und die Replikation Ihrer Images in verschiedenen Azure-Regionen verwalten.
Weitere Informationen zu Compute Gallery finden Sie unter Speichern und Freigeben von Bildern in einer Azure Compute Gallery.
Aktualisieren von Golden Images
Wenn ein Image für eine Anwendung verwendet wird, kann es schwierig sein, das zugrunde liegende Betriebssystem-Image mit aktuellen Konformitätsänderungen zu aktualisieren. Strenge Geschäftsanforderungen können das Aktualisieren des zugrunde liegenden VMs erschweren. Die Aktualisierung ist auch komplex, wenn der VM für das Unternehmen von entscheidender Bedeutung ist.
Da Cattle-Server verzichtbar sind, können Sie sich mit DevOps-Teams abstimmen, um diese Server in einem geplanten Wartungsfenster im Rahmen des normalen Geschäftsbetriebs zu aktualisieren.
Die Aktualisierung von Pet-Servern ist eine größere Herausforderung. Durch das Absetzen eines Images können Anwendungen gefährdet werden. In Szenarien mit horizontaler Skalierung kann Azure die entsprechenden Images nicht finden, was zu Fehlern führt.
Beachten Sie beim Aktualisieren von Pet-Servern die folgenden Richtlinien:
Bewährte Methoden finden Sie unter Überblick über die Säule „Zuverlässigkeit“ im Azure Well-Architected Framework.
Um den Prozess zu straffen, beachten Sie die in diesen Dokumenten erörterten Grundsätze:
Markieren Sie jeden Pet-Server als „Pet“. Konfigurieren Sie eine Richtlinie in Azure Policy, um dieses Tag bei Aktualisierungen zu berücksichtigen.
Verbessern der Sichtbarkeit
Im Allgemeinen sollten Sie Azure Policy verwenden, um alle Kompatibilitätsaktivitäten auf Steuerungsebene zu verwalten. Sie können Azure Policy auch für Folgendes verwenden:
- Nachverfolgen der VM-Konformität.
- Installieren von Azure-Agents.
- Überwachen von Diagnoseprotokollen.
- Verbessern der Sichtbarkeit der VM-Konformität.
Verwenden Sie die Azure Automanage-Computerkonfiguration von Azure Policy, um die Konfigurationsänderungen zu überwachen, die Sie während der Image-Anpassung vornehmen. Wenn eine Abweichung auftritt, listet das Azure Policy-Dashboard den betroffenen VM als nicht konform auf. Azure Policy können Bildbearbeitungsinformationen verwenden, um nachverfolgen zu können, wenn Sie veraltete Images oder Betriebssysteme verwenden.
Überprüfen Sie die Pet-Server für jede Anwendung. Durch die Verwendung von Azure Policies mit dem Effekt der Überprüfung können Sie die Sichtbarkeit dieser Server verbessern. Passen Sie den Überwachungsprozess an die Risikobereitschaft Ihres Unternehmens und die internen Risikomanagementprozesse an.
Jedes DevOps-Team kann die Konformitätsebenen seiner Anwendungen im Azure Policy-Dashboard nachverfolgen und entsprechende Korrekturmaßnahmen ergreifen. Wenn Sie diese Richtlinien einer Verwaltungsgruppe oder einem Abonnement zuweisen, weisen Sie der Zuweisungsbeschreibung eine URL zu, die zu einem unternehmensweiten Wiki führt. Sie können auch eine kurze URL wie aka.ms/policy-21
verwenden. Listen Sie im Wiki die Schritte auf, die DevOps-Teams ausführen sollten, um die Kompatibilität ihrer VMs zu gewährleisten.
IT-Risikomanager und Sicherheitsverantwortliche können auch das Azure Policy-Dashboard verwenden, um Unternehmensrisiken entsprechend der Risikobereitschaft ihres Unternehmens zu verwalten.
Mithilfe der Azure Automanage-Computerkonfiguration von Azure Policy mit Korrekturoptionen können Sie Korrekturmaßnahmen automatisch anwenden. Aber die häufige Abfrage eines VM oder die Durchführung von Änderungen an einem VM, das Sie für eine geschäftskritische Anwendung verwenden, kann die Leistungsfähigkeit beeinträchtigen. Planen Sie Korrekturmaßnahmen für Produktions-Workloads stets sorgfältig. Übertragen Sie einem DevOps-Team die Verantwortung für die Anwendungs-Compliance in allen Umgebungen. Dieser Ansatz ist wichtig für Pet-Server und -umgebungen, bei denen es sich in der Regel um langfristige Azure-Komponenten handelt.
Überlegungen
Diese Überlegungen beruhen auf den Säulen des Azure Well-Architected Frameworks, d. h. einer Reihe von Grundsätzen, mit denen die Qualität von Workloads verbessert werden kann. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.
Skalierbarkeit
Sie können die Anzahl der Replikate konfigurieren, die Compute Gallery für jedes Image speichert. Eine höhere Anzahl von Replikaten minimiert das Risiko einer Drosselung, wenn Sie mehrere VMs gleichzeitig bereitstellen. Allgemeine Anleitungen zum Skalieren und Konfigurieren einer geeigneten Anzahl von Replikaten finden Sie unter Skalierung für Azure Compute Gallery.
Resilienz
Diese Lösung verwendet verwaltete Komponenten, die auf regionaler Ebene automatisch resilient sind. Allgemeine Informationen zur Entwicklung robuster Lösungen finden Sie unter Entwerfen robuster Anwendungen für Azure.
Kostenoptimierung
Bei der Kostenoptimierung geht es um die Suche nach Möglichkeiten, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Weitere Informationen finden Sie unter Übersicht über die Säule „Kostenoptimierung“.
Sofern Sie keinen Drittanbieterdienst wie Ansible oder Terraform verwenden, ist dieser Ansatz nahezu kostenlos. Speicherungs- und Ausgangskosten können anfallen. Andere mögliche Gebühren umfassen die folgenden Komponenten:
Azure Policy und Azure Automanage-Computerkonfiguration sind für Azure-Ressourcen kostenlos. Wenn Ihr Unternehmen einen hybriden Ansatz verwendet, fallen zusätzliche Gebühren für Azure Arc-Ressourcen an.
Während des Öffentlichen Vorschauzeitraums verwendet VM Image Builder einen einzelnen Computeinstanztyp mit 1 vCPU und 3,5 GB RAM. Für die Datenspeicherung und -übertragung können Gebühren anfallen.
Für Compute Gallery fallen keine Gebühren an, außer:
- Die Kosten für die Speicherung von Replikaten.
- Gebühren für ausgehenden Netzwerkdatenverkehrs für das Replizieren von Images.
Beitragende
Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:
Hauptautor:
- Yunus Emre Alpozen | Program Architect
Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.
Nächste Schritte
- Azure-Zielzone
- Steuern und Überwachen von Ressourcen mit Azure Policy
- Azure VM Image Builder
- Azure Compute Gallery
- Azure Policy und das Policy-Dashboard
- Azure Automanage-Computerkonfiguration