Zuverlässigkeit in Virtual Machines

Dieser Artikel enthält spezifische Zuverlässigkeitsempfehlungen für virtuelle Computer (VMs) sowie detaillierte Informationen zur regionalen VM-Resilienz mit Verfügbarkeitszonen sowie zur regionsübergreifenden Notfallwiederherstellung und Geschäftskontinuität.

Eine Übersicht über die Architektur der Zuverlässigkeit in Azure finden Sie unter Zuverlässigkeit in Azure.

Zuverlässigkeitsempfehlungen

Dieser Abschnitt enthält Empfehlungen für das Erreichen von Resilienz und Verfügbarkeit. Jede Empfehlung fällt in eine von zwei Kategorien:

  • Integritätselemente umfassen Bereiche wie Konfigurationselemente und die ordnungsgemäße Funktion der Hauptkomponenten, aus denen Ihr Azure-Workload besteht, wie z. B. Konfigurationseinstellungen der Azure-Ressourcen oder Abhängigkeiten von anderen Diensten.

  • Risikoelemente umfassen Bereiche wie Verfügbarkeits- und Wiederherstellungsanforderungen, Tests, Überwachung, Bereitstellung und andere Elemente, die die Wahrscheinlichkeit von Problemen in der Umgebung erhöhen, wenn sie nicht gelöst werden.

Prioritätsmatrix der Zuverlässigkeitsempfehlungen

Jede Empfehlung wird gemäß der folgenden Prioritätsmatrix gekennzeichnet:

Image Priority BESCHREIBUNG
High Sofortige Korrektur erforderlich.
Mittel Korrektur innerhalb von 3-6 Monaten.
Niedrig Muss überprüft werden.

Zusammenfassung der Zuverlässigkeitsempfehlungen

Category Priority Empfehlung
Hochverfügbarkeit Ausführen von Produktionsworkloads auf mindestens zwei VMs mit Azure Virtual Machine Scale Sets (VMSS) Flex
Bereitstellen von VMs über Verfügbarkeitszonen hinweg oder Verwendung von VMSS Flex mit Zonen
Migrieren von VMs mit Verfügbarkeitsgruppen zu VMSS Flex
Verwenden verwalteter Datenträger für VM-Datenträger
Notfallwiederherstellung Replizieren von VMs mithilfe von Azure Site Recovery
Sichern von Daten auf Ihren VMs mit dem Azure Backup-Dienst
Leistung Hosten von Anwendungs- und Datenbankdaten auf einem Datenträger
Produktions-VMs sollten SSD-Datenträger verwenden
Aktivieren des beschleunigten Netzwerkbetriebs (AccelNet)
Bei aktiviertem AccelNet muss der GuestOS-NIC-Treiber manuell aktualisiert werden
Verwaltung VM-9: Überwachen von VMs im Status „Beendet“
Verwenden von Wartungskonfigurationen für die VM
Security VMs dürfen öffentliche IP-Adressen nicht direkt zugeordnet werden
VNet-Schnittstellen sind einer NSG zugeordnet
IP-Weiterleitung sollte nur für virtuelle Netzwerkgeräte aktiviert werden
Der Netzwerkzugriff auf den VM-Datenträger sollte auf „Öffentlichen Zugriff deaktivieren und privaten Zugriff aktivieren“ festgelegt werden
Standardmäßiges Aktivieren der Datenträgerverschlüsselung und der Verschlüsselung ruhender Daten
Netzwerk DNS-Server des Kunden sollten auf VNet-Ebene konfiguriert werden
Storage Freigegebene Datenträger sollten nur auf gruppierten Servern aktiviert werden
Compliance Stellen Sie sicher, dass Ihre VMs mit Azure Policy-Richtlinien konform sind
Überwachung Aktivieren von VM Insights
Konfigurieren von Diagnoseeinstellungen für alle Azure-Ressourcen

Hochverfügbarkeit

Ausführen von Produktionsworkloads auf mindestens zwei VMs mit Azure Virtual Machine Scale Sets (VMSS) Flex

Um Anwendungsworkloads vor Ausfallzeiten aufgrund einer temporären Nichtverfügbarkeit eines Datenträgers oder einer VM zu schützen, wird empfohlen, Produktionsworkloads auf zwei oder mehr VMs mit VMSS Flex auszuführen.

Zum Ausführen von Produktionsworkloads können Sie Folgendes verwenden:

  • Mit Azure Virtual Machine Scale Sets können Sie eine Gruppe von VMs mit Lastenausgleich erstellen und verwalten. Die Anzahl von VM-Instanzen kann automatisch erhöht oder verringert werden, wenn sich der Bedarf ändert, oder es kann ein Zeitplan festgelegt werden.

  • Verfügbarkeitszonen. Weitere Informationen zu Verfügbarkeitszonen und VMs finden Sie in der Unterstützung von Verfügbarkeitszonen.

// Azure Resource Graph Query
// Find all VMs that are not associated with a VMSS Flex instance
resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| where isnull(properties.virtualMachineScaleSet.id)
| project recommendationId="vm-1", name, id, tags

Bereitstellen von VMs über Verfügbarkeitszonen hinweg oder Verwendung von VMSS Flex mit Zonen*

Verwenden Sie Verfügbarkeitszonen wenn Sie Ihre VMs erstellen, um Ihre Anwendungen und Daten vor einem unwahrscheinlichen Ausfall des Rechenzentrums zu schützen. Weitere Informationen zu Verfügbarkeitszonen für VMs finden Sie in diesem Dokument unter Unterstützung von Verfügbarkeitszonen.

Informationen zum Aktivieren der Unterstützung von Verfügbarkeitszonen bei der Erstellung Ihrer VM finden Sie unter Einrichten der Unterstützung von Verfügbarkeitszonen.

Informationen zum Migrieren Ihrer vorhandenen VMs zur Unterstützung von Verfügbarkeitszonen finden Sie unter Migration zur Unterstützung von Verfügbarkeitszonen.

// Azure Resource Graph Query
// Find all VMs that are not assigned to a Zone
Resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| where isnull(zones)
| project recommendationId="vm-2", name, id, tags, param1="No Zone"

Migrieren von VMs mit Verfügbarkeitsgruppen zu VMSS Flex

Modernisieren Sie Ihre Workloads, indem Sie sie von VMs zu VMSS Flex migrieren.

Mit VMSS Flex können Sie Ihre VMs auf zwei verschiedene Arten bereitstellen:

  • Zonenübergreifend
  • In derselben Zone, aber automatisch über Fehlerdomänen (FDs) und Updatedomänen (UD) hinweg.

In einer n-schichtigen Anwendung wird empfohlen, jede Logikschicht in einer eigenen VMSS Flex-Instanz zu platzieren.

// Azure Resource Graph Query
// Find all VMs using Availability Sets
resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| where isnotnull(properties.availabilitySet)
| project recommendationId = "vm-3", name, id, tags, param1=strcat("availabilitySet: ",properties.availabilitySet.id)

Verwenden verwalteter Datenträger für VM-Datenträger*

Verwenden Sie verwaltete Datenträger, um eine bessere Zuverlässigkeit für VMs in einer Verfügbarkeitsgruppe zu gewährleisten. Verwaltete Datenträger sind ausreichend voneinander isoliert, um Single Points of Failure zu vermeiden. Zudem gelten für verwaltete Datenträger keine IOPS-Grenzwerte von VHDs, die in einem Speicherkonto erstellt wurden.

// Azure Resource Graph Query
// Find all VMs that are not using Managed Disks
Resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| where isnull(properties.storageProfile.osDisk.managedDisk)
| project recommendationId = "vm-5", name, id, tags

Notfallwiederherstellung

Replizieren von VMs mithilfe von Azure Site Recovery

Wenn Sie Azure-VMs mit Site Recovery replizieren, werden alle Datenträger der VMs fortlaufend und asynchron in die Zielregion repliziert. Die Wiederherstellungspunkte werden regelmäßig im Abstand von wenigen Minuten erstellt, wodurch Sie ein Recovery Point Objective (RPO) im Minutenbereich erhalten. Sie können beliebig viele Notfallwiederherstellungsübungen durchführen, ohne die Produktionsanwendung oder die laufende Replikation zu beeinträchtigen.

Informationen zum Ausführen eines Drills zur Notfallwiederherstellung finden Sie unter Ausführen eines Testfailovers.

// Azure Resource Graph Query
// Find all VMs that do NOT have replication with ASR enabled
// Run query to see results.
resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| project name, id, tags
| join kind=leftouter (
    recoveryservicesresources
    | where type =~ 'Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems'
    | where properties.providerSpecificDetails.dataSourceInfo.datasourceType =~ 'AzureVm'
    | project id=properties.providerSpecificDetails.dataSourceInfo.resourceId
    | extend name=strcat_array(array_slice(split(id, '/'), 8, -1), '/')
) on name
| where isnull(id1)
| project-away id1
| project-away name1
| project recommendationId = "vm-4", name, id, tags
| order by id asc

Sichern von Daten auf Ihren VMs mit dem Azure Backup-Dienst

Der Azure Backup-Dienst bietet einfache, sichere und kostengünstige Lösungen, um Ihre Daten zu sichern und aus der Microsoft Azure-Cloud wiederherzustellen. Weitere Informationen finden Sie unter Worum handelt es sich beim Azure Backup-Dienst?.

// Azure Resource Graph Query
// Find all VMs that do NOT have Backup enabled
// Run query to see results.
resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| project name, id, tags
| join kind=leftouter (
    recoveryservicesresources
    | where type =~ 'Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems'
    | where properties.dataSourceInfo.datasourceType =~ 'Microsoft.Compute/virtualMachines'
    | project idBackupEnabled=properties.sourceResourceId
    | extend name=strcat_array(array_slice(split(idBackupEnabled, '/'), 8, -1), '/')
) on name
| where isnull(idBackupEnabled)
| project-away idBackupEnabled
| project-away name1
| project recommendationId = "vm-7", name, id, tags
| order by id asc

Leistung

Hosten von Anwendungs- und Datenbankdaten auf einem Datenträger

Ein Datenträger ist ein verwalteter Datenträger, der an eine VM angefügt ist. Verwenden Sie den Datenträger zum Speichern von Anwendungsdaten oder anderen Daten, die Sie aufbewahren müssen. Datenträger werden als SCSI-Laufwerke registriert und mit einem von Ihnen ausgewählten Buchstaben gekennzeichnet. Das Hosten Ihrer Daten auf einem Datenträger erleichtert das Sichern oder Wiederherstellen Ihrer Daten. Sie können den Datenträger auch migrieren, ohne die gesamte VM und das Betriebssystem verschieben zu müssen. Außerdem können Sie eine andere Datenträger-SKU mit anderem Typ sowie anderer Größe und Leistung auswählen, die Ihren Anforderungen entspricht. Weitere Informationen zu Datenträgern finden Sie unter Datenträger.

// Azure Resource Graph Query
// Find all VMs that only have OS Disk
Resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| where array_length(properties.storageProfile.dataDisks) < 1
| project recommendationId = "vm-6", name, id, tags

Produktions-VMs sollten SSD-Datenträger verwenden

SSD Premium-Datenträger bieten als Hochleistungsdatenträger mit geringer Latenz Unterstützung für E/A-intensive Anwendungen und Produktionsworkloads. SSD Standard-Datenträger stellen eine kosteneffiziente Speichermöglichkeit dar, die für Workloads mit konstanter Leistung bei niedrigen IOPS-Werten optimiert ist.

Folgendes wird empfohlen:

  • Verwenden Sie HDD Standard-Datenträger für Dev/Test-Szenarien sowie weniger kritische Workloads zu geringsten Kosten.
  • Verwenden Sie SSD Premium-Datenträger anstelle von HDD Standard-Datenträgern bei Ihren Premium-fähigen VMs. Azure garantiert für jede Einzelinstanz-VM, bei der Storage Premium für alle Betriebssystem-Datenträger und Datenträger verwendet wird, eine VM-Konnektivität von mindestens 99,9 %.

Wenn Sie ein Upgrade von HDD Standard auf SSD Premium-Datenträger durchführen möchten, beachten Sie Folgendes:

  • Für ein Upgrade ist ein Neustart der VM erforderlich. Dieser Vorgang dauert drei bis fünf Minuten.
  • Wenn es sich bei den VMs um unternehmenskritische VMs für die Produktion handelt, sollten Sie die verbesserte Verfügbarkeit gegen die Kosten für Premium-Datenträger abwägen.

Weitere Informationen zu verwalteten Datenträgern und Datenträgertypen von Azure finden Sie unter Verwaltete Azure-Datenträgertypen.

// Azure Resource Graph Query
// Find all disks with StandardHDD sku attached to VMs
Resources
| where type =~ 'Microsoft.Compute/disks'
| where sku.name == 'Standard_LRS' and sku.tier == 'Standard'
| where managedBy != ""
| project recommendationId = "vm-8", name, id, tags, param1=strcat("managedBy: ", managedBy)

Aktivieren des beschleunigten Netzwerkbetriebs (AccelNet)

AccelNet ermöglicht die E/A-Virtualisierung mit Einzelstamm (Single Root I/O Virtualization, SR-IOV) auf einer VM und somit eine erhebliche Steigerung der Netzwerkleistung. Über diesen Hochleistungspfad wird der Host des Datenpfads umgangen, um Latenzen, Jitter und CPU-Auslastung zu verringern. So können mit unterstützten VM-Typen die anspruchsvollsten Netzwerkworkloads genutzt werden.

Weitere Informationen zum beschleunigten Netzwerkbetrieb finden Sie unter Beschleunigter Netzwerkbetrieb.

// Azure Resource Graph Query
// Find all VM NICs that do not have Accelerated Networking enabled
resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| mv-expand nic = properties.networkProfile.networkInterfaces
| project name, id, tags, lowerCaseNicId = tolower(nic.id), vmSize = tostring(properties.hardwareProfile.vmSize)
| join kind = inner (
    resources
    | where type =~ 'Microsoft.Network/networkInterfaces'
    | where properties.enableAcceleratedNetworking == false
    | project nicName = split(id, "/")[8], lowerCaseNicId = tolower(id)
    )
    on lowerCaseNicId
| summarize nicNames = make_set(nicName) by name, id, tostring(tags), vmSize
| extend param1 = strcat("NicName: ", strcat_array(nicNames, ", ")), param2 = strcat("VMSize: ", vmSize)
| project recommendationId = "vm-10", name, id, tags, param1, param2
| order by id asc

Bei aktiviertem AccelNet muss der GuestOS-NIC-Treiber manuell aktualisiert werden

Wenn AccelNet aktiviert ist, wird die Azure Virtual Network-Standardschnittstelle in GuestOS durch eine Mellanox-Schnittstelle ersetzt. Aus diesem Grund wird der GuestOS-NIC-Treiber von Mellanox, einem Drittanbieter, bereitgestellt. Obwohl die von Microsoft gepflegten Marketplace-Images mit der aktuellen Version der Mellanox-Treiber angeboten werden, müssen Sie nach der Bereitstellung der VM den GuestOS-NIC-Treiber alle sechs Monate manuell aktualisieren.

// cannot-be-validated-with-arg

Verwaltung

Überprüfen von VMs im beendeten Zustand

VM-Instanzen durchlaufen verschiedene Zustände, einschließlich Bereitstellungs- und Betriebszustände. Wenn sich eine VM im Zustand „Beendet“ befindet, ist möglicherweise ein Problem aufgetreten oder sie ist nicht mehr erforderlich und kann entfernt werden, um die Kosten zu senken.

// Azure Resource Graph Query
// Find all VMs that are NOT running
Resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| where properties.extended.instanceView.powerState.displayStatus != 'VM running'
| project recommendationId = "vm-9", name, id, tags

Verwenden von Wartungskonfigurationen für die VM

Um sicherzustellen, dass Updates/Unterbrechungen vom VMs in einem geplanten Zeitrahmen durchgeführt werden, verwenden Sie Wartungskonfigurationseinstellungen, um Updates einzuplanen und zu verwalten. Weitere Informationen zum Verwalten von VM-Updates mit Wartungskonfigurationen finden Sie unter Verwalten von VM-Updates mit Wartungskonfigurationen.

// Azure Resource Graph Query
// Find VMS that do not have maintenance configuration assigned
Resources
| extend resourceId = tolower(id)
| project name, location, type, id, tags, resourceId, properties
| where type =~ 'Microsoft.Compute/virtualMachines'
| join kind=leftouter (
maintenanceresources
| where type =~ "microsoft.maintenance/configurationassignments"
| project planName = name, type, maintenanceProps = properties
| extend resourceId = tostring(maintenanceProps.resourceId)
) on resourceId
| where isnull(maintenanceProps)
| project recommendationId = "vm-22",name, id, tags
| order by id asc

Sicherheit

VMs dürfen öffentliche IP-Adressen nicht direkt zugeordnet werden

Wenn eine VM ausgehende Internetkonnektivität erfordert, empfiehlt es sich, NAT Gateway oder Azure Firewall zu verwenden. NAT Gateway oder Azure Firewall erhöhen die Sicherheit und Ausfallsicherheit des Diensts, da beide Dienste eine höhere Verfügbarkeit bieten und SNAT-Ports (Source Network Address Translation) bereitstellen. Für eingehende Internetkonnektivität wird empfohlen, eine Lösung zum Lastenausgleich wie Azure Load Balancer und Application Gateway zu verwenden.

// Azure Resource Graph Query
// Find all VMs with PublicIPs directly associated with them
Resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| where isnotnull(properties.networkProfile.networkInterfaces)
| mv-expand nic=properties.networkProfile.networkInterfaces
| project name, id, tags, nicId = nic.id
| extend nicId = tostring(nicId)
| join kind=inner (
    Resources
    | where type =~ 'Microsoft.Network/networkInterfaces'
    | where isnotnull(properties.ipConfigurations)
    | mv-expand ipconfig=properties.ipConfigurations
    | extend publicIp = tostring(ipconfig.properties.publicIPAddress.id)
    | where publicIp != ""
    | project name, nicId = tostring(id), publicIp
) on nicId
| project recommendationId = "vm-12", name, id, tags
| order by id asc

VM-Netzwerkschnittstellen sind einer Netzwerksicherheitsgruppe (NSG) zugeordnet*

Es wird empfohlen, eine NSG einem Subnetz oder einer Netzwerkschnittstelle zuzuordnen, aber nicht beidem. Da Regeln in einer NSG, die einem Subnetz zugeordnet ist, zu Konflikten mit Regeln in einer NSG führen können, die einer Netzwerkschnittstelle zugeordnet ist, können unerwartete Kommunikationsprobleme auftreten, die eine Problembehandlung erfordern. Weitere Informationen finden Sie unter Subnetzinterner Datenverkehr.

// Azure Resource Graph Query
// Provides a list of virtual machines and associated NICs that do have an NSG associated to them and also an NSG associated to the subnet.
Resources
| where type =~ 'Microsoft.Network/networkInterfaces'
| where isnotnull(properties.networkSecurityGroup)
| mv-expand ipConfigurations = properties.ipConfigurations, nsg = properties.networkSecurityGroup
| project nicId = tostring(id), subnetId = tostring(ipConfigurations.properties.subnet.id), nsgName=split(nsg.id, '/')[8]
| parse kind=regex subnetId with '/virtualNetworks/' virtualNetwork '/subnets/' subnet
    | join kind=inner (
        Resources
        | where type =~ 'Microsoft.Network/NetworkSecurityGroups' and isnotnull(properties.subnets)
        | project name, resourceGroup, subnet=properties.subnets
        | mv-expand subnet
        | project subnetId=tostring(subnet.id)
    ) on subnetId
    | project nicId
| join kind=leftouter (
    Resources
    | where type =~ 'Microsoft.Compute/virtualMachines'
    | where isnotnull(properties.networkProfile.networkInterfaces)
    | mv-expand nic=properties.networkProfile.networkInterfaces
    | project vmName = name, vmId = id, tags, nicId = nic.id, nicName=split(nic.id, '/')[8]
    | extend nicId = tostring(nicId)
) on nicId
| project recommendationId = "vm-13", name=vmName, id = vmId, tags, param1 = strcat("nic-name=", nicName)

IP-Weiterleitung sollte nur für virtuelle Netzwerkgeräte aktiviert werden

Die IP-Weiterleitung ermöglicht der Netzwerkschnittstelle virtueller Computer Folgendes:

  • Empfangen von Netzwerkdatenverkehr, der nicht für eine der IP-Adressen bestimmt ist, die einer der IP-Konfigurationen für die Netzwerkschnittstelle zugewiesen ist

  • Senden Sie Netzwerkdatenverkehr mit einer IP-Quelladresse, die nicht der Adresse entspricht, die den IP-Konfigurationen einer Netzwerkschnittstelle zugewiesen ist.

Die Einstellung zur IP-Weiterleitung muss für jede an die VM angefügte Netzwerkschnittstelle aktiviert werden, die den weiterzuleitenden Datenverkehr empfängt. Eine VM kann Datenverkehr unabhängig davon weiterleiten, ob er über mehrere Netzwerkschnittstellen verfügt oder nur eine einzelne Netzwerkschnittstelle angefügt ist. Bei der IP-Weiterleitung handelt es sich zwar um eine Azure-Einstellung, auf der VM muss aber auch eine Anwendung ausgeführt werden, die den Datenverkehr weiterleiten kann – beispielsweise eine Firewall, ein WAN-Optimierer oder ein Lastenausgleich.

Informationen zum Aktivieren oder Deaktivieren der IP-Weiterleitung finden Sie unter Aktivieren oder Deaktivieren der IP-Weiterleitung.

// Azure Resource Graph Query
// Find all VM NICs that have IPForwarding enabled. This feature is usually only required for Network Virtual Appliances
Resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| where isnotnull(properties.networkProfile.networkInterfaces)
| mv-expand nic=properties.networkProfile.networkInterfaces
| project name, id, tags, nicId = nic.id
| extend nicId = tostring(nicId)
| join kind=inner (
    Resources
    | where type =~ 'Microsoft.Network/networkInterfaces'
    | where properties.enableIPForwarding == true
    | project nicId = tostring(id)
) on nicId
| project recommendationId = "vm-14", name, id, tags
| order by id asc

Der Netzwerkzugriff auf den VM-Datenträger sollte auf „Öffentlichen Zugriff deaktivieren und privaten Zugriff aktivieren“ festgelegt werden

Es wird empfohlen, den Netzwerkzugriff auf VM-Datenträger auf „Öffentlichen Zugriff deaktivieren und privaten Zugriff aktivieren“ festzulegen und einen privaten Endpunkt zu erstellen. Informationen zum Erstellen eines privaten Endpunkts finden Sie unter Erstellen eines privaten Endpunkts.

// Azure Resource Graph Query
// Find all Disks with "Enable public access from all networks" enabled
resources
| where type =~ 'Microsoft.Compute/disks'
| where properties.publicNetworkAccess == "Enabled"
| project id, name, tags, lowerCaseDiskId = tolower(id)
| join kind = leftouter (
    resources
    | where type =~ 'Microsoft.Compute/virtualMachines'
    | project osDiskVmName = name, lowerCaseOsDiskId = tolower(properties.storageProfile.osDisk.managedDisk.id)
    | join kind = fullouter (
        resources
        | where type =~ 'Microsoft.Compute/virtualMachines'
        | mv-expand dataDisks = properties.storageProfile.dataDisks
        | project dataDiskVmName = name, lowerCaseDataDiskId = tolower(dataDisks.managedDisk.id)
        )
        on $left.lowerCaseOsDiskId == $right.lowerCaseDataDiskId
    | project lowerCaseDiskId = coalesce(lowerCaseOsDiskId, lowerCaseDataDiskId), vmName = coalesce(osDiskVmName, dataDiskVmName)
    )
    on lowerCaseDiskId
| summarize vmNames = make_set(vmName) by name, id, tostring(tags)
| extend param1 = iif(isempty(vmNames[0]), "VMName: n/a", strcat("VMName: ", strcat_array(vmNames, ", ")))
| project recommendationId = "vm-17", name, id, tags, param1
| order by id asc

Standardmäßiges Aktivieren der Datenträgerverschlüsselung und der Verschlüsselung ruhender Daten

Für Ihre verwalteten Datenträger stehen verschiedene Arten von Verschlüsselung zur Verfügung, z. B. Azure Disk Encryption (ADE), serverseitige Verschlüsselung (Server-Side Encryption, SSE) und Verschlüsselung auf dem Host.

  • Azure Disk Encryption unterstützt Sie beim Schutz Ihrer Daten gemäß den Sicherheits- und Complianceanforderungen Ihrer Organisation.
  • Bei der serverseitigen Verschlüsselung von Azure Disk Storage (auch als Verschlüsselung ruhender Daten oder Azure Storage-Verschlüsselung bezeichnet) werden Daten, die auf verwalteten Azure-Datenträgern (Betriebssystemdatenträger und Datenträger mit Daten) gespeichert sind, beim Speichern in Speicherclustern automatisch verschlüsselt.
  • Mit der Verschlüsselung auf dem Host wird sichergestellt, dass die auf dem VM-Host, der Ihre VM hostet, gespeicherten Daten im Ruhezustand verschlüsselt werden und verschlüsselt an die Speichercluster übermittelt werden.
  • TPMDie vertrauliche Festplattenverschlüsselung bindet Festplattenverschlüsselungsschlüssel an das TPM der VM und macht den geschützten Festplatteninhalt nur für die VM zugänglich.

Weitere Informationen zu den Verschlüsselungsoptionen für verwaltete Datenträger finden Sie unter Übersicht über die Verschlüsselungsoptionen für verwaltete Datenträger.

// under-development

Netzwerk

DNS-Server sollten auf VNet-Ebene konfiguriert werden

Konfigurieren Sie den DNS-Server im Virtual Network, um Inkonsistenzen bei der Namensauflösung in der Umgebung zu vermeiden. Weitere Informationen zur Namensauflösung für Ressourcen in Virtual Networks von Azure finden Sie unter Namensauflösung für VMs und Clouddienste.

// Azure Resource Graph Query
// Find all VM NICs that have DNS Server settings configured in any of the NICs
Resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| where isnotnull(properties.networkProfile.networkInterfaces)
| mv-expand nic=properties.networkProfile.networkInterfaces
| project name, id, tags, nicId = nic.id
| extend nicId = tostring(nicId)
| join kind=inner (
    Resources
    | where type =~ 'Microsoft.Network/networkInterfaces'
    | project name, id, dnsServers = properties.dnsSettings.dnsServers
    | extend hasDns = array_length(dnsServers) >= 1
    | where hasDns != 0
    | project name, nicId = tostring(id)
) on nicId
| project recommendationId = "vm-15", name, id, tags
| order by id asc

Storage

Freigegebene Datenträger sollten nur auf gruppierten Servern aktiviert werden

Freigegebene Azure-Datenträger sind ein Feature für verwaltete Azure-Datenträger, mit dem Sie einen verwalteten Datenträger gleichzeitig an mehrere VMs anfügen können. Durch das Anfügen eines verwalteten Datenträgers an mehrere VMs können Sie entweder neue gruppierte Anwendungen in Azure bereitstellen oder bereits vorhandene gruppierte Anwendungen zu Azure migrieren. Freigegebene Datenträger sollten nur in Situationen verwendet werden, in denen der Datenträger mehr als einem VM-Mitglied eines Clusters zugewiesen ist.

Weitere Informationen zum Aktivieren freigegebener Datenträger bei verwalteten Datenträgern finden Sie unter Aktivieren freigegebener Datenträger.

// Azure Resource Graph Query
// Find all Disks configured to be Shared. This is not an indication of an issue, but if a disk with this configuration is assigned to two or more VMs without a proper disk control mechanism (like a WSFC) it can lead to data loss
resources
| where type =~ 'Microsoft.Compute/disks'
| where isnotnull(properties.maxShares)
| project id, name, tags, lowerCaseDiskId = tolower(id), diskState = tostring(properties.diskState)
| join kind = leftouter (
    resources
    | where type =~ 'Microsoft.Compute/virtualMachines'
    | project osDiskVmName = name, lowerCaseOsDiskId = tolower(properties.storageProfile.osDisk.managedDisk.id)
    | join kind = fullouter (
        resources
        | where type =~ 'Microsoft.Compute/virtualMachines'
        | mv-expand dataDisks = properties.storageProfile.dataDisks
        | project dataDiskVmName = name, lowerCaseDataDiskId = tolower(dataDisks.managedDisk.id)
        )
        on $left.lowerCaseOsDiskId == $right.lowerCaseDataDiskId
    | project lowerCaseDiskId = coalesce(lowerCaseOsDiskId, lowerCaseDataDiskId), vmName = coalesce(osDiskVmName, dataDiskVmName)
    )
    on lowerCaseDiskId
| summarize vmNames = make_set(vmName) by name, id, tostring(tags), diskState
| extend param1 = strcat("DiskState: ", diskState), param2 = iif(isempty(vmNames[0]), "VMName: n/a", strcat("VMName: ", strcat_array(vmNames, ", ")))
| project recommendationId = "vm-16", name, id, tags, param1, param2
| order by id asc

Kompatibilität

Stellen Sie sicher, dass Ihre VMs mit Azure Policy-Richtlinien konform sind

Es ist wichtig, dass Sie in Bezug auf die ausgeführten Anwendungen auf den Schutz Ihres virtuellen Computers (VM) achten. Das Schützen Ihrer VMs kann einen oder mehrere Azure-Dienste und -Features enthalten, die für den sicheren Zugriff auf Ihre VMs und die sichere Speicherung Ihrer Daten sorgen. Weitere Informationen zum Schützen Ihrer VM und Anwendungen finden Sie unter Kontrollen zur Einhaltung gesetzlicher Bestimmungen in Azure Policy für Azure Virtual Machines.

// Azure Resource Graph Query
// Find all VMs in "NonCompliant" state with Azure Policies
PolicyResources
| where type =~ "Microsoft.PolicyInsights/policyStates" and properties.resourceType =~ "Microsoft.Compute/virtualMachines" and properties.complianceState =~ "NonCompliant"
| project
    policyAssignmentName = properties.policyAssignmentName,
    policyDefinitionName = properties.policyDefinitionName,
    lowerCasePolicyDefinitionIdOfPolicyState = tolower(properties.policyDefinitionId),
    lowerCaseVmIdOfPolicyState = tolower(properties.resourceId)
| join kind = leftouter (
    PolicyResources
    | where type =~ "Microsoft.Authorization/policyDefinitions"
    | project lowerCasePolicyDefinitionId = tolower(id), policyDefinitionDisplayName = properties.displayName
    )
    on $left.lowerCasePolicyDefinitionIdOfPolicyState == $right.lowerCasePolicyDefinitionId
| project policyAssignmentName, policyDefinitionName, policyDefinitionDisplayName, lowerCaseVmIdOfPolicyState
| join kind = leftouter (
    Resources
    | where type =~ "Microsoft.Compute/virtualMachines"
    | project vmName = name, vmId = id, vmTags = tags, lowerCaseVmId = tolower(id)
    )
    on $left.lowerCaseVmIdOfPolicyState == $right.lowerCaseVmId
| extend
    param1 = strcat("AssignmentName: ", policyAssignmentName),
    param2 = strcat("DefinitionName: ", policyDefinitionDisplayName),  // Align to Azure portal's term.
    param3 = strcat("DefinitionID: ", policyDefinitionName)            // Align to Azure portal's term.
| project recommendationId = "vm-18", name = vmName, id = vmId, tags = vmTags, param1, param2, param3

Überwachung

Aktivieren von VM Insights

Aktivieren Sie VM Insights, um weitere Einblicke in die Integrität und Leistung Ihrer VM zu erhalten. VM Insights bietet Ihnen Informationen zur Leistung und Integrität Ihrer VMs und VM-Skalierungsgruppen, indem es deren ausgeführten Prozesse und Abhängigkeiten von anderen Ressourcen überwacht. VM Insights kann ihnen helfen, die vorhersehbare Leistung und hohe Verfügbarkeit wichtiger Anwendungen zu gewährleisten, indem Leistungsengpässe und Netzwerkprobleme identifiziert werden. Insights hilft Ihnen auch zu verstehen, ob ein Problem mit anderen Abhängigkeiten zusammenhängt.

// Azure Resource Graph Query
// Check for VMs without Azure Monitoring Agent extension installed, missing Data Collection Rule or Data Collection Rule without performance enabled.
Resources
| where type == 'microsoft.compute/virtualmachines'
| project idVm = tolower(id), name, tags
| join kind=leftouter (
    InsightsResources
    | where type =~ "Microsoft.Insights/dataCollectionRuleAssociations" and id has "Microsoft.Compute/virtualMachines"
    | project idDcr = tolower(properties.dataCollectionRuleId), idVmDcr = tolower(substring(id, 0, indexof(id, "/providers/Microsoft.Insights/dataCollectionRuleAssociations/"))))
on $left.idVm == $right.idVmDcr
| join kind=leftouter (
    Resources
    | where type =~ "Microsoft.Insights/dataCollectionRules"
    | extend
        isPerformanceEnabled = iif(properties.dataSources.performanceCounters contains "Microsoft-InsightsMetrics" and properties.dataFlows contains "Microsoft-InsightsMetrics", true, false),
        isMapEnabled = iif(properties.dataSources.extensions contains "Microsoft-ServiceMap" and properties.dataSources.extensions contains "DependencyAgent" and properties.dataFlows contains "Microsoft-ServiceMap", true, false)//,
    | where isPerformanceEnabled or isMapEnabled
    | project dcrName = name, isPerformanceEnabled, isMapEnabled, idDcr = tolower(id))
on $left.idDcr == $right.idDcr
| join kind=leftouter (
    Resources
        | where type == 'microsoft.compute/virtualmachines/extensions' and (name contains 'AzureMonitorWindowsAgent' or name contains 'AzureMonitorLinuxAgent')
        | extend idVmExtension = tolower(substring(id, 0, indexof(id, '/extensions'))), extensionName = name)
on $left.idVm == $right.idVmExtension
| where isPerformanceEnabled != 1 or (extensionName != 'AzureMonitorWindowsAgent' and extensionName != 'AzureMonitorLinuxAgent')
| project recommendationId = "vm-20", name, id = idVm, tags, param1 = strcat('MonitoringExtension:', extensionName), param2 = strcat('DataCollectionRuleId:', idDcr), param3 = strcat('isPerformanceEnabled:', isPerformanceEnabled)

Konfigurieren von Diagnoseeinstellungen für alle Azure-Ressourcen

Plattformmetriken werden automatisch und ohne Konfiguration standardmäßig an Azure Monitor Metrics gesendet Plattformprotokolle liefern detaillierte Diagnose- und Überwachungsinformationen für Azure-Ressourcen und die Azure-Plattform, von der sie abhängen. Folgende Typen werden unterschieden:

  • Ressourcenprotokolle, die erst gesammelt werden, wenn sie an ein Ziel weitergeleitet werden.
  • Aktivitätsprotokolle, die für sich allein existieren, aber an andere Stellen weitergeleitet werden können.

Jede Azure-Ressource erfordert eine eigene Diagnoseeinstellung, die folgende Kriterien definiert:

  • Quellen: Der Typ der Metrik- und Protokolldaten, die an die in der Einstellung definierten Ziele gesendet werden sollen. Die verfügbaren Typen variieren je nach Ressourcentyp.
  • Ziele: Ein oder mehrere Ziele, an die gesendet werden soll.

Mit einer einzelnen Diagnoseeinstellung kann maximal eines der Ziele definiert werden. Wenn Sie Daten an mehrere Ziele eines bestimmten Typs senden möchten (z. B. zwei verschiedene Log Analytics-Arbeitsbereiche), erstellen Sie mehrere Einstellungen. Jede Ressource kann bis zu fünf Diagnoseeinstellungen haben.

Weitere Informationen dazu finden Sie unter Diagnoseeinstellungen in Azure Monitor.

// Azure Resource Graph Query
// Find all Virtual Machines without diagnostic settings enabled/with diagnostic settings enabled but not configured both performance counters and event logs/syslogs.
resources
| where type =~ "microsoft.compute/virtualmachines"
| project name, id, tags, lowerCaseVmId = tolower(id)
| join kind = leftouter (
    resources
    | where type =~ "Microsoft.Compute/virtualMachines/extensions" and properties.publisher =~ "Microsoft.Azure.Diagnostics"
    | project
        lowerCaseVmIdOfExtension = tolower(substring(id, 0, indexof(id, "/extensions/"))),
        extensionType = properties.type,
        provisioningState = properties.provisioningState,
        storageAccount = properties.settings.StorageAccount,
        // Windows
        wadPerfCounters = properties.settings.WadCfg.DiagnosticMonitorConfiguration.PerformanceCounters.PerformanceCounterConfiguration,
        wadEventLogs = properties.settings.WadCfg.DiagnosticMonitorConfiguration.WindowsEventLog,
        // Linux
        ladPerfCounters = properties.settings.ladCfg.diagnosticMonitorConfiguration.performanceCounters.performanceCounterConfiguration,
        ladSyslog = properties.settings.ladCfg.diagnosticMonitorConfiguration.syslogEvents
    | extend
        // Windows
        isWadPerfCountersConfigured = iif(array_length(wadPerfCounters) > 0, true, false),
        isWadEventLogsConfigured = iif(isnotnull(wadEventLogs) and array_length(wadEventLogs.DataSource) > 0, true, false),
        // Linux
        isLadPerfCountersConfigured = iif(array_length(ladPerfCounters) > 0, true, false),
        isLadSyslogConfigured = isnotnull(ladSyslog)
    | project
        lowerCaseVmIdOfExtension,
        extensionType,
        provisioningState,
        storageAccount,
        isPerfCountersConfigured = case(extensionType =~ "IaaSDiagnostics", isWadPerfCountersConfigured, extensionType =~ "LinuxDiagnostic", isLadPerfCountersConfigured, false),
        isEventLogsConfigured = case(extensionType =~ "IaaSDiagnostics", isWadEventLogsConfigured, extensionType =~ "LinuxDiagnostic", isLadSyslogConfigured, false)
    )
    on $left.lowerCaseVmId == $right.lowerCaseVmIdOfExtension
| where isempty(lowerCaseVmIdOfExtension) or provisioningState !~ "Succeeded" or not(isPerfCountersConfigured and isEventLogsConfigured)
| extend
    param1 = strcat("DiagnosticSetting: ", iif(isnotnull(extensionType), strcat("Enabled, partially configured (", extensionType, ")"), "Not enabled")),
    param2 = strcat("ProvisioningState: ", iif(isnotnull(provisioningState), provisioningState, "n/a")),
    param3 = strcat("storageAccount: ", iif(isnotnull(storageAccount), storageAccount, "n/a")),
    param4 = strcat("PerformanceCounters: ", case(isnull(isPerfCountersConfigured), "n/a", isPerfCountersConfigured, "Configured", "Not configured")),
    param5 = strcat("EventLogs/Syslogs: ", case(isnull(isEventLogsConfigured), "n/a", isEventLogsConfigured, "Configured", "Not configured"))
| project recommendationId = "vm-21", name, id, tags, param1, param2, param3, param4, param5

Unterstützung für Verfügbarkeitszonen

Azure-Verfügbarkeitszonen sind mindestens drei physisch getrennte Gruppen von Rechenzentren innerhalb jeder Azure-Region. Die Rechenzentren innerhalb jeder Zone sind mit unabhängiger Stromversorgung, Kühlung und Netzwerkinfrastruktur ausgestattet. Bei einem Fehler in der lokalen Zone sind Verfügbarkeitszonen so konzipiert, dass regionale Dienste, Kapazität und Hochverfügbarkeit von den verbleibenden beiden Zonen unterstützt werden, wenn eine Zone betroffen ist.

Ausfälle können von Software- und Hardwareausfällen bis hin zu Ereignissen wie Erdbeben, Überflutungen und Bränden reichen. Fehlertoleranz wird durch Redundanz und logische Isolierung von Azure-Diensten erreicht. Ausführlichere Informationen zu Verfügbarkeitszonen in Azure finden Sie unter Regionen und Verfügbarkeitszonen.

Azure-Dienste mit Unterstützung von Verfügbarkeitszonen bieten das richtige Maß an Zuverlässigkeit und Flexibilität. Für die Konfiguration gibt es zwei Möglichkeiten. Sie können entweder zonenredundant mit automatischer zonenübergreifender Replikation oder zonenbasiert mit Instanzen sein, die an eine bestimmte Zone angeheftet werden. Sie können diese Ansätze auch kombinieren. Weitere Informationen zur zonalen im Vergleich zur zonenredundanten Architektur finden Sie unter Empfehlungen für die Verwendung von Verfügbarkeitszonen und Regionen.

VMs unterstützen Verfügbarkeitszonen mit drei Verfügbarkeitszonen pro unterstützter Azure-Region und sind außerdem zonenredundant und zonal. Weitere Informationen finden Sie unter Unterstützung für Verfügbarkeitszonen. Die Kund*innen sind für die Konfiguration und Migration ihrer VMs zur Gewährleistung der Verfügbarkeit verantwortlich.

Weitere Informationen zu den Optionen für Verfügbarkeitszonen finden Sie hier:

Voraussetzungen

SLA-Verbesserungen

Da Verfügbarkeitszonen physisch getrennt sind und unterschiedliche Stromquellen, Netzwerke und Kühlung bieten, erhöhen sich SLAs (Service-Level Agreements, Vereinbarungen zum Servicelevel). Weitere Informationen finden Sie unter SLA für Virtual Machines.

Erstellen einer Ressource mit aktivierten Verfügbarkeitszonen

Beginnen Sie mit dem Erstellen eines virtuellen Computers (VM) mit aktivierter Verfügbarkeitszone aus den folgenden Bereitstellungsoptionen:

Unterstützung für zonales Failover

Sie können VMs für ein Failover in eine andere Zone mithilfe des Site Recovery-Diensts einrichten. Weitere Informationen finden Sie unter Site Recovery.

Fehlertoleranz

Für VMs kann ein Failover auf einen anderen Server in einem Cluster ausgeführt werden, wobei das Betriebssystem der VM auf dem neuen Server neu gestartet wird. Sie sollten den Failoverprozess für die Notfallwiederherstellung heranziehen, VMs in der Wiederherstellungsplanung einbeziehen und Notfallwiederherstellungsübungen durchführen, um sicherzustellen, dass ihre Fehlertoleranzlösung erfolgreich ist.

Weitere Informationen finden Sie unter Prozesse für die Sitewiederherstellung.

Zonenausfall

Während eines zonenweiten Ausfalls sollten Sie mit einer kurzen Leistungsverschlechterung rechnen, bis der Dienst zur Selbstreparatur der VM die zugrunde liegende Kapazität wieder ausgleicht, um sich an fehlerfreie Zonen anzupassen. Die Selbstreparatur ist nicht von der Zonenwiederherstellung abhängig. Es wird erwartet, dass der Selbstreparaturstatus des von Microsoft verwalteten Diensts eine ausgefallene Zone mittels Kapazitäten aus anderen Zonen kompensiert.

Sie sollten sich auch darauf vorbereiten, dass es zu einem Ausfall einer ganzen Region kommen kann. Falls es zu einer Dienstunterbrechung einer gesamten Region kommt, wären die lokal redundanten Kopien Ihrer Daten vorübergehend nicht verfügbar. Wenn die Georeplikation aktiviert ist, sind drei weitere Kopien Ihrer Azure Storage-Blobs und -Tabellen in einer anderen Region gespeichert. Sollte eine gesamte Region ausfallen oder die primäre Region aufgrund einer Katastrophe nicht wiederherstellbar sein, ordnet Azure alle DNS-Einträge der georeplizierten Region neu zu.

Vorbereitung auf einen und Wiederherstellung nach einem Zonenausfall

Die folgenden Hinweise gelten für Azure-VMs im Fall einer Dienstunterbrechung in der gesamten Region, in der Ihre Azure-VM-Anwendung bereitgestellt ist:

Latenzarmer Entwurf

Regionsübergreifend (sekundäre Region), Abonnementübergreifend (Vorschau) und Zonenübergreifend (Vorschau) sind verfügbare Optionen, die beim Entwerfen einer latenzarmen VM-Lösung berücksichtigt werden sollten. Weitere Informationen zu diesen Optionen finden Sie unter den unterstützten Wiederherstellungsmethoden.

Wichtig

Wenn Sie sich gegen eine zonenspezifische Bereitstellung entscheiden, verzichten Sie auf den Schutz vor der Isolierung der zugrunde liegenden Fehler. Die Verwendung von SKUs, die keine Verfügbarkeitszonen unterstützen, oder der Verzicht auf die Konfiguration von Verfügbarkeitszonen, erzwingt die Abhängigkeit von Ressourcen, die nicht der Zonenplatzierung und Zonentrennung folgen (einschließlich der zugrunde liegenden Abhängigkeiten dieser Ressourcen). Von diesen Ressourcen sollte nicht erwartet werden, dass sie Zonenausfallszenarien überstehen. Lösungen, die solche Ressourcen nutzen, sollten eine Notfallwiederherstellungsstrategie definieren und eine Wiederherstellung der Lösung in einer anderen Region konfigurieren.

Sichere Bereitstellungsverfahren

Wenn Sie sich für eine Isolation mit Verfügbarkeitszonen entscheiden, sollten Sie sichere Bereitstellungstechniken für Anwendungscode und Anwendungsupgrades nutzen. Implementieren Sie zusätzlich zum Konfigurieren von Azure Site Recovery eine der folgenden sicheren Bereitstellungstechniken für VMs:

Da Microsoft in regelmäßigen Abständen geplante Wartungsupdates durchführt, kann es in seltenen Fällen vorkommen, dass diese Updates einen Neustart Ihrer VM erfordern, um die erforderlichen Updates auf die zugrunde liegende Infrastruktur anzuwenden. Weitere Informationen finden Sie unter Überlegungen zur Verfügbarkeit während einer geplanten Wartung.

Bevor Sie die nächste Gruppe von Knoten in einer anderen Zone aktualisieren, sollten Sie die folgenden Aufgaben ausführen:

Unterstützung für das Migrieren zu Verfügbarkeitszonen

Informationen zum Migrieren einer VM zur Unterstützung von Verfügbarkeitszonen finden Sie unter Migrieren von VMs und VMSS zur Unterstützung von Verfügbarkeitszonen.

Regionsübergreifende Notfallwiederherstellung und Geschäftskontinuität

Bei der Notfallwiederherstellung (DR) geht es um die Wiederherstellung nach Ereignissen mit schwerwiegenden Auswirkungen, z. B. Naturkatastrophen oder fehlerhaften Bereitstellungen, die zu Downtime und Datenverlust führen. Unabhängig von der Ursache ist das beste Mittel gegen einen Notfall ein gut definierter und getesteter Notfallplan und ein Anwendungsdesign, die Notfallwiederherstellung aktiv unterstützt. Bevor Sie mit der Erstellung Ihres Notfallwiederherstellungsplans beginnen, lesen Sie die Empfehlungen zum Entwerfen einer Notfallwiederherstellungsstrategie.

Bei DR verwendet Microsoft das Modell der gemeinsamen Verantwortung. In einem Modell der gemeinsamen Verantwortung stellt Microsoft sicher, dass die grundlegenden Infrastruktur- und Plattformdienste verfügbar sind. Gleichzeitig replizieren viele Azure-Dienste nicht automatisch Daten oder greifen automatisch auf eine ausgefallene Region zurück, um eine regionsübergreifende Replikation in eine andere aktivierte Region durchzuführen. Für diese Dienste sind Sie dafür verantwortlich, einen Notfallwiederherstellungsplan zu erstellen, der für Ihre Workload geeignet ist. Die meisten Dienste, die auf Azure Platform as a Service (PaaS)-Angeboten laufen, bieten Funktionen und Anleitungen zur Unterstützung von Notfallwiederherstellung und Sie können dienstspezifische Funktionen zur Unterstützung einer schnellen Wiederherstellung nutzen, um Ihren Notfallwiederherstellungsplan zu entwickeln.

Sie können die regionsübergreifende Wiederherstellung verwenden, um Azure-VMs über gekoppelte Regionen wiederherzustellen. Wenn die Sicherung in der sekundären Region durchgeführt wird, können Sie mit der regionsübergreifenden Wiederherstellung alle Azure-VMs für den ausgewählten Wiederherstellungspunkt wiederherstellen. Weitere Informationen zur regionsübergreifenden Wiederherstellung finden Sie im Tabellenzeileneintrag „Regionsübergreifend“ in unseren Wiederherstellungsoptionen.

Notfallwiederherstellung für mehrere Regionen

Im Falle einer regionsweiten Dienstunterbrechung arbeitet Microsoft mit Hochdruck an der Wiederherstellung des VM-Diensts. Sie müssen dennoch auf andere anwendungsspezifische Sicherungsstrategien zurückgreifen, um eine möglichst hohe Verfügbarkeit zu erreichen. Weitere Informationen finden Sie im Abschnitt zu Datenstrategien für die Notfallwiederherstellung.

Erkennung, Benachrichtigung und Verwaltung von Ausfällen

Hardware oder physische Infrastruktur für die virtuelle Maschine schlägt möglicherweise unerwartet fehl. Ausfälle des lokalen Netzwerks oder des Datenträgers oder andere Fehler auf Rackebene können zu unerwarteten Ausfällen führen. Bei Erkennung solcher Probleme migriert die Azure-Plattform die VM automatisch zu einem fehlerfreien physischen Computer im selben Rechenzentrum. Dieser Vorgang ist mit einer gewissen Ausfallzeit (Neustart) und in manchen Fällen mit dem Verlust des temporären Laufwerks verbunden. Die angefügten (Betriebssystem-)Datenträger bleiben in jedem Fall erhalten.

Ausführlichere Informationen zu VM-Dienstunterbrechungen finden Sie unter Leitfaden zur Notfallwiederherstellung.

Einrichten der Notfallwiederherstellung und Ausfallerkennung

Wenn Sie die Notfallwiederherstellung für VMs einrichten, sollten Sie wissen, was Azure Site Recovery bietet. Aktivieren Sie die Notfallwiederherstellung für VMs mit den folgenden Methoden:

Notfallwiederherstellung für eine Region

Bei eingerichteter Notfallwiederherstellung werden Azure-VMs fortlaufend in eine andere Zielregion repliziert. Bei einem Ausfall können Sie für die VMs ein Failover zur sekundären Region ausführen und dort darauf zugreifen.

Wenn Sie virtuelle Azure-Computer mit Site Recovery replizieren, werden kontinuierlich alle VM-Datenträger asynchron in der Zielregion repliziert. Die Wiederherstellungspunkte werden regelmäßig im Abstand von wenigen Minuten erstellt, wodurch Sie ein Recovery Point Objective (RPO) im Minutenbereich erhalten. Sie können beliebig viele Notfallwiederherstellungsübungen durchführen, ohne die Produktionsanwendung oder die laufende Replikation zu beeinträchtigen. Weitere Informationen finden Sie unter Durchführen eines Notfallwiederherstellungsverfahrens in Azure.

Weitere Informationen finden Sie unter Architekturkomponenten für Azure VMs und Regionskopplung.

Kapazität und proaktive Resilienz der Notfallwiederherstellung

Microsoft und seine Kunden arbeiten im Rahmen des Modells der gemeinsamen Verantwortung. Das bedeutet, dass bei der kundenseitig aktivierten Notfallwiederherstellung (Dienste im Verantwortungsbereich des Kunden) der Kunde für die Notfallwiederherstellung aller Dienste verantwortlich ist, die kundenseitig bereitgestellt und gesteuert werden. Zur Sicherstellung einer proaktiven Wiederherstellung sollten Kunden Sekundärsysteme immer vorab bereitstellen, da es keine Kapazitätsgarantie zum Zeitpunkt der Beeinträchtigung gibt, wenn keine Vorabzuweisung durchgeführt wurde.

Für die VM-Bereitstellung können Sie den Modus flexible Orchestrierung für VMSS verwenden. Alle VM-Größen können mit dem Modus der flexiblen Orchestrierung verwendet werden. Der Modus „Flexible Orchestrierung“ bietet auch Garantien für Hochverfügbarkeit (für bis zu 1.000 VMs), indem VMs auf Fehlerdomänen in einer Region oder innerhalb einer Verfügbarkeitszone verteilt werden.

Nächste Schritte