Zuverlässigkeit in Azure Automation

Azure Automation ist ein Dienst, der Verwaltungsaufgaben in Ihrem Auftrag ausführt. Sie definieren Skripts, die als Runbooks bezeichnet werden, die Sie ausführen möchten, und Azure Automation stellt die Infrastruktur zum Ausführen dieser Skripts bereit. Dieser Artikel konzentriert sich auf die Prozessautomatisierung, die die Kernfunktion des Diensts ist. Hybrid-Runbook-Worker, die auf einer vom Kunden verwalteten Infrastruktur ausgeführt werden, werden in diesem Artikel nicht behandelt.

Wenn Sie Azure verwenden, ist Zuverlässigkeit eine gemeinsame Verantwortung. Microsoft bietet eine Reihe von Funktionen zur Unterstützung von Resilienz und Wiederherstellung. Sie sind dafür verantwortlich, zu verstehen, wie diese Funktionen in allen von Ihnen verwendeten Diensten funktionieren, und die Funktionen auswählen, die Sie benötigen, um Ihre Geschäftsziele und Uptime-Ziele zu erfüllen.

In diesem Artikel wird beschrieben, wie Sie Azure Automation widerstandsfähig für verschiedene potenzielle Ausfälle und Probleme machen, einschließlich vorübergehender Fehler, Verfügbarkeitszonenausfälle, Regionsausfälle und Servicewartung. Außerdem werden Sicherungs- und Wiederherstellungsoptionen sowie wichtige Informationen zum Azure Automation ServiceLevel Agreement (SLA) beschrieben.

Empfehlungen für die Produktionsimplementierung für Zuverlässigkeit

Befolgen Sie die folgenden Empfehlungen für Produktionsworkloads, die die Prozessautomatisierung verwenden:

  • Behandeln Sie vorübergehende Fehler, die auftreten, wenn Ihre Runbooks mit Azure Diensten und APIs interagieren, indem Sie Ihren Skripts entsprechende Wiederholungslogik hinzufügen.

  • Gestalten Sie Ihre Runbooks so, dass sie gegenüber Unterbrechungen robust sind. Verwenden Sie Prüfpunkte, um den Fortschritt über Auftragsneustarts hinweg aufrechtzuerhalten, und wenn Sie den Zustand speichern müssen, verwenden Sie externen Speicher.

Übersicht über die Zuverlässigkeitsarchitektur

In diesem Abschnitt werden einige der wichtigen Aspekte der Funktionsweise des Diensts beschrieben, die aus Zuverlässigkeitsperspektive am relevantesten sind. Im Abschnitt wird die logische Architektur vorgestellt, die einige der Ressourcen und Features enthält, die Sie bereitstellen und verwenden. Außerdem wird die physische Architektur erläutert, die Details zur Funktionsweise des Diensts unter den Deckeln bereitstellt.

Logische Architektur

Wenn Sie Azure Automation bereitstellen, erstellen Sie ein Automatisierungskonto, bei dem es sich um einen logischen Container für Ressourcen handelt, die Ihre Automatisierung ausführen.

  • Runbooks, die die auszuführenden Aufgaben beschreiben. Textrunbooks sind Skripts, die in PowerShell oder Python geschrieben wurden. Grafische Runbooks werden mit einem grafischen Editor erstellt.
  • Ressourcen, die Runbooks freigeben, einschließlich Module, Verbindungen, Anmeldeinformationen, Zertifikate und Variablen.
  • Ressourcen, die die Ausführung des Runbook initiieren, einschließlich Zeitpläne und Überwachungen.

Weitere Informationen zu diesen Ressourcen finden Sie unter Runbook-Ausführung in Azure Automation.

In diesem Artikel werden die Zuverlässigkeit und Resilienz dieser Funktionen behandelt, die Teil der Prozessautomatisierung in Azure Automation sind.

Physische Architektur

Runbooks werden in der Computeinfrastruktur ausgeführt. Für die Prozessautomatisierung gibt es zwei Bereitstellungsmodelle:

  • Cloudaufträge (Microsoft verwaltet): Standardmäßig werden Runbooks auf Microsoft bereitgestellten Cloudinfrastruktur ausgeführt. Microsoft ist für die hohe Verfügbarkeit und Verwaltung dieser Infrastruktur verantwortlich. Wenn Sie einen Runbookauftrag übermitteln, weist Azure Automation einen Cloudauftrag aus seinem Pool verfügbarer Computeressourcen zu, führt das Runbook aus und gibt die Ressource dann an den Pool zurück.

    Cloudaufträge können manchmal unterbrochen werden, während sie ausgeführt werden. Entwerfen Sie Ihre Runbooks unter der Annahme, dass ein Auftrag möglicherweise in einer anderen Infrastruktur neu gestartet wird und dass alle Daten, die in temporären Speicher in der vorherigen Instanz geschrieben wurden, nicht mehr zugänglich sind.

  • Hybrid-Runbook-Worker: Sie können optional Ihre eigene Computeinfrastruktur (virtuelle Computer in Azure, anderen Clouds oder lokal) konfigurieren, um Runbooks auszuführen. Wenn Sie Hybrid-Runbook-Mitarbeiter verwenden, sind Sie dafür verantwortlich, sie so zu konfigurieren, dass sie Ihren Zuverlässigkeitsanforderungen entsprechen. Hybrid Runbook Worker werden in diesem Artikel nicht behandelt.

Resilienz für vorübergehende Fehler

Vorübergehende Fehler sind kurze, zeitweilige Fehler in Komponenten. Sie treten häufig in einer verteilten Umgebung wie der Cloud auf und sind ein normaler Bestandteil von Vorgängen. Vorübergehende Fehler korrigieren sich nach kurzer Zeit. Es ist wichtig, dass Ihre Anwendungen vorübergehende Fehler behandeln können, in der Regel durch Wiederholen betroffener Anforderungen.

Alle in der Cloud gehosteten Anwendungen sollten die Anleitung zur vorübergehenden Fehlerbehandlung von Azure befolgen, wenn sie mit cloudgehosteten APIs, Datenbanken und anderen Komponenten kommunizieren. Weitere Informationen finden Sie unter Empfehlungen zur Behandlung vorübergehender Fehler.

Sie sind für das Schreiben von Runbooks verantwortlich, die vorübergehende Fehler in den Diensten und APIs behandeln, mit denen sie interagieren. Implementieren Sie für textbasierte Runbooks die Wiederholungslogik mithilfe von Schleifen und Fehlerbehandlung. Anleitungen und Beispiele finden Sie unter Behandeln vorübergehender Fehler in einem zeitabhängigen Skript. Konfigurieren Sie für grafische Runbooks das Wiederholungsverhalten für Aktivitäten in Ihrem Workflow. Konfigurationsdetails finden Sie unter "Wiederholungsaktivität" in grafischen Runbooks.

Wartungsarbeiten an der Infrastruktur oder andere Plattformereignisse können Runbook-Jobs unterbrechen. Gestalten Sie Ihre Runbooks so, dass sie diese Unterbrechungen bewältigen:

  • Implementieren Sie Prüfpunkte. Verwenden Sie für PowerShell-Workflow-Runbooks Prüfpunkte, um den Fortschritt an wichtigen Punkten in Ihrem Workflow zu speichern. Wenn ein Auftrag unterbrochen und neu gestartet wird, kann er vom letzten Prüfpunkt fortgesetzt werden, anstatt von vorne zu beginnen. Weitere Informationen finden Sie unter Verwenden von Prüfpunkten in einem Workflow.

  • Auftragsbeschränkungen verstehen. Cloud-Jobs haben Fair-Share-Grenzen für die Laufzeit. Details zu Grenzwerten für die Auftragsausführung und wie diese durchgesetzt werden finden Sie unter Runbook-Ausführung.

  • Beständigen Zustand extern speichern. Aufträge behalten nicht den Zustand zwischen ausgeführten Vorgängen bei. Wenn ein Job unterbrochen wird und auf einer anderen Instanz neu startet, gehen möglicherweise alle Daten verloren, die beim ersten Lauf in den temporären Speicher geschrieben wurden. Wenn Sie Daten zwischen auftragsausführungen beibehalten müssen, speichern Sie sie im externen Speicher, z. B. Azure Blob Storage oder einer Datenbank.

Ausfallsicherheit bei Ausfällen von Verfügbarkeitszonen

Verfügbarkeitszonen sind physisch getrennte Gruppen von Rechenzentren innerhalb einer Azure-Region. Wenn eine Zone ausfällt, erfolgt ein Failover der Dienste zu einer der verbleibenden Zonen.

In unterstützten Regionen sind Automatisierungskonten und Cloudaufträge zonenredundant, was bedeutet, dass der Dienst Ihre Ressourcen über mehrere Verfügbarkeitszonen verteilt. Microsoft aktiviert automatisch Zonenredundanz und erfordert keine Konfiguration.

Diagramm, das ein Automatisierungskonto zeigt, das automatisch zonensicher ist, einschließlich zonenfester Runbooks und anderer Ressourcen.

Anforderungen

Regionsunterstützung: Wenn Sie ein Automatisierungskonto in einem der folgenden Regionen bereitstellen, ist es automatisch zonenredundant:

Amerika Europe Naher Osten Africa Asien-Pazifik
Brazil South France Central Israel Central Südafrika Nord Australia East
Canada Central Deutschland West Central Qatar Central Central India
Central US Italien, Norden China, Norden 3
East US North Europe East Asia
Ost-USA 2 Norway East Japan East
Süd-Mittel-USA Polen Zentral Korea Central
US Government, Virginia Sweden Central Southeast Asia
Westliches USA 2 UK South
Westliches USA 3 West Europe

Die aktuelle Liste der unterstützten Regionen finden Sie unter Verfügbarkeitszonenunterstützung für Azure Automation.

Cost

Es gibt keine zusätzliche Gebühr für Zonenredundanz. Bei der Prozessautomatisierung basiert die Abrechnung auf der Laufzeit Ihrer Aufträge und Überwachungsprozesse. Weitere Informationen finden Sie unter Azure Automation Preise.

Konfigurieren der Unterstützung von Verfügbarkeitszonen

Wenn Sie ein Automatisierungskonto in einer unterstützten Region erstellen, ist es automatisch zonenredundant. Zonenredundanz kann nicht deaktiviert werden. Weitere Informationen finden Sie unter Verfügbarkeitszonenunterstützung für Azure Automation.

Verhalten, wenn alle Zonen fehlerfrei sind

In diesem Abschnitt wird beschrieben, was Sie erwarten müssen, wenn Ihr Automatisierungskonto zonenredundant ist und alle Verfügbarkeitszonen in der Region betriebsbereit sind.

  • Zonenübergreifender Vorgang: Automatisierungskontoverwaltungsvorgänge und Cloudaufträge verteilen sich automatisch über Verfügbarkeitszonen in der Region. Eine Anforderung oder ein Auftrag kann von jeder Instanz in einer beliebigen Verfügbarkeitszone behandelt werden.

  • Zonenübergreifende Datenreplikation: Automatisierungskontokonfiguration, Runbookskripts und andere Ressourcen, die Sie für Ihr Automatisierungskonto bereitstellen, werden synchron in mehreren Verfügbarkeitszonen repliziert.

Verhalten bei einem Zoneausfall

In diesem Abschnitt wird beschrieben, was Sie erwarten müssen, wenn Ihr Automatisierungskonto zonenredundant ist und ein Ausfall in einer der Verfügbarkeitszonen in der Region vorhanden ist.

  • Erkennung und Reaktion: Die Azure Automation-Plattform ist für die Erkennung eines Fehlers in einer Verfügbarkeitszone verantwortlich. Sie müssen keine Maßnahmen ergreifen, um ein Zonenfailover zu initiieren.
  • Notification: Microsoft benachrichtigt Sie nicht automatisch, wenn eine Zone abfällt. Sie können jedoch Azure Service Health verwenden, um den Gesamtstatus des Diensts zu verstehen, einschließlich aller Zonenfehler, und Sie können Service Health Alerts einrichten, um Sie über Probleme zu informieren.
  • Aktive Anfragen: Alle derzeit in der fehlerhaften Zone ausgeführten Aufträge könnten unterbrochen werden. Azure Automation startet automatisch einen neuen Auftrag, der mithilfe der Infrastruktur in fehlerfreien Zonen ausgeführt wird. Entwerfen Sie Ihre Runbooks so, dass sie robust gegenüber vorübergehenden Fehlern und Unterbrechungen sind, damit sie sicher neu gestartet werden können.

  • Erwarteter Datenverlust: Auftragsausführungen persistieren keinen Status, daher ist nicht zu erwarten, dass der Ausfall einer Zone bei laufenden Aufträgen zu Datenverlust führt. Wenn ein Auftrag Daten speichern muss, die er zum Wiederherstellen von Unterbrechungen verwenden kann, z. B. Prüfpunkte, speichern Sie diese Informationen in einem beständigen Cloudspeicherdienst wie Azure Storage oder einer Datenbank.

    Automatisierungskontokonfiguration und Runbookdaten werden über Zonen hinweg repliziert und bleiben auch dann zugänglich, wenn eine Zone nicht verfügbar ist.

  • Erwartete Ausfallzeiten: Während eines Zonenausfalls kann ihr Automatisierungskonto eine kurze Unterbrechung feststellen, während der Dienst den Ausfall erkennt und die Arbeitsauslastung an fehlerfreie Zonen weiterverteilt.

  • Umverteilung: Der Dienst ordnet die Kapazität automatisch in den verbleibenden fehlerfreien Zonen neu an. Neue Auftragsausführungen, Überwachungen und Zeitpläne werden weiterhin in fehlerfreien Zonen auf der Infrastruktur ausgeführt. Die Wiederherstellung hängt nicht davon ab, dass die ausgefallene Zone wieder in Betrieb geht.

Zonenwiederherstellung

Wenn eine ausgefallene Zone wieder verfügbar ist, integriert Azure Automation sie automatisch wieder in die Zonenrotation. Es ist keine Aktion Ihrerseits erforderlich. Der Dienst überwacht den Zustand der Zone und verteilt die Arbeitsauslastung wieder auf alle Zonen, während normale Vorgänge fortgesetzt werden.

Test auf Zonenfehler

Azure Automation verwaltet Datenverkehrsrouting, Failover und Zonenwiederherstellung für zonenredundante Ressourcen. Sie müssen nichts initiieren, und Sie müssen keine Fehlerprozesse der Verfügbarkeitszone überprüfen. Testen Sie Ihre Runbooks, um sicherzustellen, dass sie gegenüber Unterbrechungen robust sind.

Widerstandsfähigkeit bei regionalen Ausfällen

Azure Automation ist ein Einzelregionendienst. Wenn die Region nicht verfügbar ist, ist Ihr Automatisierungskonto ebenfalls nicht verfügbar.

Benutzerdefinierte Lösungen mit mehreren Regionen für Resilienz

Sie können separate Automatisierungskonten in mehreren Regionen bereitstellen und bei Bedarf zwischen ihnen wechseln. Sie sind dafür verantwortlich, die Konten für jede Region bereitzustellen, sie entsprechend zu konfigurieren, Anforderungen zwischen den Konten zu verteilen und Failover zu behandeln, wenn eine Region nicht verfügbar ist. Ausführliche Informationen zu Ansätzen, die Sie berücksichtigen können, finden Sie unter Notfallwiederherstellung für Azure Automation.

Sichern und Wiederherstellen

Für die meisten Lösungen sollten Sie sich nicht ausschließlich auf Sicherungen verlassen. Verwenden Sie stattdessen die in diesem Handbuch beschriebenen anderen Funktionen, um Ihre Resilienzanforderungen zu unterstützen. Sicherungen schützen jedoch vor einigen Risiken, die andere Ansätze nicht vermeiden. Weitere Informationen finden Sie unter Was sind Redundanz, Replikation und Sicherung?.

Azure Automation bietet keine integrierte Sicherung für die Konfiguration Ihres Automatisierungskontos oder den Inhalt von Runbooks. Bewahren Sie Ihre eigenen Kopien außerhalb des Diensts auf, damit Sie sie bei Bedarf erneut bereitstellen können.

  • Verwenden Sie die Infrastruktur als Code (IaC) für die Automatisierungskontokonfiguration. Definieren Sie Automatisierungskonten und zugehörige Ressourcen in Bicep Dateien, ARM-Vorlagen oder Terraform. Speichern Sie die Vorlagen in der Quellcodeverwaltung, und verwenden Sie Die Bereitstellungspipeline, um die Umgebung in derselben oder einer anderen Region neu zu erstellen. Schließen Sie Zertifikate, Variablen, Zeitpläne und Anmeldeinformationen in Ihre Artefakte und Bereitstellungsprozesse ein. Speichern Sie geheime Schlüssel in Diensten wie z. B. Azure Key Vault, anstatt Werte direkt in Runbook-Code einzubetten.

  • Speichern Sie Runbook-Skripte in der Quellcodeverwaltung. Behalten Sie die Quelle für PowerShell und Python Runbooks in einem Quellcodeverwaltungssystem wie Git bei. Verwenden Sie Versionsverwaltung, Verzweigung und die Überprüfung von Pull Requests, um die Qualität von Skripten sicherzustellen und ein Rollback auf bekanntermaßen funktionierende Versionen zu ermöglichen.

  • Sichern Sie den Zustand aus dem entsprechenden Datenspeicher. Jobs speichern keinen Status. Wenn Sie detaillierte Auftragsprotokolle oder andere Daten beibehalten müssen, die Von Ihren Runbooks generiert werden, speichern Sie sie in einem anderen Azure Speicher oder Datenbankdienst, und sichern Sie sie von dort aus.

Widerstandsfähigkeit bei versehentlichem Löschen

Wenn Sie versehentlich ein Automatisierungskonto löschen, können Sie es möglicherweise innerhalb eines begrenzten Zeitfensters wiederherstellen. Weitere Informationen finden Sie unter Wiederherstellen eines gelöschten Automatisierungskontos.

Resilienz gegenüber Wartungsarbeiten an Diensten

Microsoft wendet regelmäßig Dienstupdates an und führt andere Wartungen durch. Die Azure Plattform übernimmt diese Aktivitäten automatisch, um sicherzustellen, dass die Wartung nahtlos und transparent für Sie ist. Bei Wartungsereignissen wird keine Ausfallzeit erwartet, es sei denn, Sie wurden über die geplante Wartung in Azure Service Health informiert.

Service-Level-Vereinbarung

Der Service level agreement (SLA) für Azure-Dienste beschreibt die erwartete Verfügbarkeit jedes Diensts und die Bedingungen, die Ihre Lösung erfüllen muss, um diese Verfügbarkeitserwartungen zu erreichen. Weitere Informationen finden Sie unter Dienstleistungsvereinbarungen für Onlinedienste.