Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Bereitstellung eines virtuellen Computers (VM) in Azure erfordert neben dem virtuellen Computer selbst zusätzliche Komponenten, einschließlich Netzwerk- und Speicherressourcen. In diesem Artikel werden bewährte Methoden zum Ausführen einer sicheren Linux-VM auf Azure gezeigt.
Aufbau
Laden Sie eine Visio-Datei dieser Architektur herunter.
Arbeitsablauf
Ressourcengruppe
Eine ressource-Gruppe ist ein logischer Container, der verwandte Azure Ressourcen enthält. Ressourcen sollten allgemein auf der Grundlage ihrer Lebensdauer sowie auf der Grundlage der Benutzer gruppiert werden, die sie verwalten.
Setzen Sie eng zugeordnete Ressourcen, die denselben Lebenszyklus gemeinsam nutzen, in dieselbe ressourcengruppe ein. Mithilfe von Ressourcengruppen können Sie Ressourcen als Gruppe bereitstellen und überwachen und Abrechnungskosten nach Ressourcengruppe verfolgen. Sie können auch Ressourcen als Gruppe löschen. Dies ist für Testbereitstellungen nützlich. Vergeben Sie aussagekräftige Ressourcennamen, um das Auffinden einer bestimmten Ressource und das Erfassen ihrer Rolle zu vereinfachen. Weitere Informationen finden Sie unter Recommended Naming Conventions for Azure Resources.
Virtueller Computer
Sie können einen virtuellen Computer aus einer Liste veröffentlichter Images oder aus einer benutzerdefinierten verwalteten Image- oder VHD-Datei (Virtual Hard Disk) bereitstellen, die in Azure BLOB-Speicher hochgeladen wurde. Azure unterstützt die Ausführung verschiedener beliebter Linux-Distributionen, darunter Debian, Red Hat Enterprise Linux (RHEL) und Ubuntu. Weitere Informationen finden Sie unter Azure und Linux.
Azure bietet viele verschiedene virtuelle Maschinengrößen. Wenn Sie eine vorhandene Workload auf Azure verschieben, beginnen Sie mit der VM-Größe, die am besten Ihren lokalen Servern entspricht. Messen Sie dann die Leistung Ihrer tatsächlichen Workload in Bezug auf CPU, Arbeitsspeicher und Datenträger-IOPS (E/A-Vorgänge pro Sekunde), und passen Sie die Größe nach Bedarf an.
Wählen Sie im Allgemeinen eine Azure Region aus, die Ihren internen Benutzern oder Kunden am nächsten kommt. Es sind nicht alle VM-Größen in allen Regionen verfügbar. Weitere Informationen finden Sie unter Dienste nach Region. Führen Sie für eine Liste der in einer bestimmten Region verfügbaren VM-Größen den folgenden Befehl aus dem Azure CLI aus:
az vm list-sizes --location <location>
Informationen zum Auswählen eines veröffentlichten VM-Images finden Sie unter Suchen nach Linux-VM-Images.
Datenträger
Für optimale Datenträger-E/A-Leistung empfehlen wir Premium Storage, die Daten auf Festkörperlaufwerken (SSDs) speichert. Die Kosten basieren auf der Kapazität des bereitgestellten Datenträgers. IOPS und Durchsatz (also die Datenübertragungsrate) richten sich ebenfalls nach der Datenträgergröße. Berücksichtigen Sie beim Bereitstellen eines Datenträgers also alle drei Faktoren (Kapazität, IOPS und Durchsatz). Premium-Speicher bietet auch freies Bursting. In Kombination mit einem Verständnis für Workload-Muster liefert er eine effektive SKU-Auswahl- und Kostenoptimierungsstrategie für IaaS-Infrastrukturen. So wird eine hohe Leistung ohne übermäßige Überbereitstellung ermöglicht und die Kosten für ungenutzte Kapazität werden minimiert.
Managed Disks vereinfachen die Datenträgerverwaltung, indem sie den Speicher für Sie verwalten. Verwaltete Festplatten benötigen kein Speicherkonto. Sie geben die Größe und den Typ des Datenträgers an. Dieser wird dann als Ressource mit Hochverfügbarkeit bereitgestellt. Verwaltete Festplatten bieten auch eine Kostenoptimierung, indem sie die gewünschte Leistung bereitstellen, ohne dass eine Überbereitstellung erforderlich ist, indem sie schwankende Arbeitsauslastungsmuster berücksichtigen und die nicht genutzte bereitgestellte Kapazität minimieren.
Standardmäßig ist der Betriebssystemdatenträger ein verwalteter Datenträger, der in Azure Storage gespeichert ist, sodass er auch dann beibehalten wird, wenn der Hostcomputer ausgefallen ist. Alternativ werden ephemere Betriebssystemdatenträger verwendet, um das Betriebssystemimage auf dem lokalen Speicher des VM-Hosts statt des entfernten Azure Storage zu platzieren, wodurch die Leselatenz verringert, das Reimaging beschleunigt und die Kosten für verwaltete Datenträger beseitigt werden. Die Daten auf einem kurzlebigen Betriebssystemdatenträger gehen jedoch bei Stop-Deallocate, Reimage oder Wartungsereignissen verloren, und kurzlebige Betriebssystemdatenträger unterstützen weder Momentaufnahmen noch Azure Backup. Verwenden Sie flüchtige Betriebssystemdatenträger nur, wenn die virtuellen Maschinen vollständig automatisiert erneut bereitgestellt werden können.
Der virtuelle Computer verfügt außerdem über einen temporären Datenträger, der auf einem physischen Laufwerk auf dem Hostcomputer gespeichert ist. Der temporäre Datenträger wird nicht auf Azure Storage beibehalten und kann während Neustarts und anderen VM-Lebenszyklusereignissen gelöscht werden. Verwenden Sie den temporären Datenträger nur für Entwurfsdaten, die keinen Neustart benötigen, z. B. anwendungsspezifische temporäre Dateien oder Austauschspeicher.
Viele Linux-Images konfigurieren standardmäßig keinen Swapspace. Wenn Ihr Workload Swap erfordert, erstellen Sie diesen auf dem temporären Datenträger, indem Sie cloud-init verwenden, anstatt auf dem Betriebssystemdatenträger oder einem anderen Datenträger.
Es wird empfohlen, einen oder mehrere Datenträger für Anwendungsdaten zu erstellen. Datenträger sind permanent verwaltete Datenträger, die von Azure Storage gesichert werden.
Wenn Sie eine virtuelle Festplatte (VHD) erstellen, ist sie nicht formatiert. Melden Sie sich an der VM an, um den Datenträger zu formatieren. In der Linux-Shell werden Datenträger als /dev/sdc, /dev/sddund spätere Buchstaben in der Serie angezeigt. Sie können lsblk ausführen, um die Blockgeräte einschließlich der Datenträger aufzulisten. Um einen Datenträger für Daten zu verwenden, erstellen Sie eine Partition und ein Dateisystem und binden den Datenträger ein. Beispiel:
# Create a partition.
sudo fdisk /dev/sdc # Enter 'n' to partition, 'w' to write the change.
# Create a file system.
sudo mkfs -t ext3 /dev/sdc1
# Mount the drive.
sudo mkdir /data1
sudo mount /dev/sdc1 /data1
Wenn Sie einen Datenträger für Daten hinzufügen, wird dem Datenträger eine logische Einheitennummer (Logical Unit Number, LUN) zugewiesen. Optional können Sie die LUN-ID angeben, z. B. wenn Sie einen Datenträger austauschen und dieselbe LUN-ID beibehalten möchten oder über eine Anwendung verfügen, die nach einer bestimmten LUN-ID sucht. Beachten Sie jedoch, dass die LUN-IDs für jeden Datenträger eindeutig sein muss.
Möglicherweise möchten Sie den E/A-Planer ändern, um die Leistung für SSDs zu optimieren, da die Datenträger für VMs mit Premium-Speicherkonten SSDs sind. Eine übliche Empfehlung ist die Verwendung des NOOP-Schedulers für SSDs. Sie sollten aber ein Tool wie iostat zur Überwachung der E/A-Datenträgerleistung für Ihre Workload einsetzen.
Die VM wird mit einem temporären Datenträger erstellt. Dieser Datenträger wird auf dem Hostcomputer auf einem physischen Laufwerk gespeichert. Es ist not in Azure Storage gespeichert und kann während Neustarts und anderen VM-Lebenszyklusereignissen gelöscht werden. Verwenden Sie diesen Datenträger nur für temporäre Daten, wie Seiten- oder Auslagerungsdateien. Für Linux-VMs ist der temporäre Datenträger /dev/disk/azure/resource-part1 und wird an /mnt/resource oder /mnt bereitgestellt.
Netzwerk
Die Netzwerkkomponenten enthalten die folgenden Ressourcen:
Virtuelles Netzwerk. Jede VM wird in einer virtual network bereitgestellt, die in Subnetze segmentiert wird.
Netzwerkschnittstelle (NIC) Die NIC ermöglicht der VM die Kommunikation mit dem virtual network. Wenn Sie mehrere NICs für Ihren virtuellen Computer benötigen, wird für jede VM-Größe eine maximale Anzahl von NICs definiert.
Öffentliche IP-Adresse: Es ist eine öffentliche IP-Adresse erforderlich, um mit dem virtuellen Computer zu kommunizieren, z. B. über Remote Desktop Protocol (RDP). Die öffentliche IP-Adresse kann dynamisch oder statisch sein. Die Standardeinstellung ist „Dynamisch“.
- Reservieren Sie eine statische IP-Adresse, wenn Sie eine feste IP-Adresse benötigen, die sich nicht ändert — zum Beispiel, wenn Sie einen DNS-'A'-Record erstellen oder die IP-Adresse zu einer sicheren Liste hinzufügen müssen.
- Sie können auch einen vollständig qualifizierten Domänennamen (FQDN) für die IP-Adresse erstellen. Sie können anschließend einen CNAME-Eintrag in DNS registrieren, der auf den FQDN verweist. Weitere Informationen finden Sie unter Einen vollständig qualifizierten Domänennamen im Azure-Portal erstellen.
Netzwerksicherheitsgruppen (NSG) Netzwerksicherheitsgruppen dienen zum Zulassen oder Verweigern von Netzwerkdatenverkehr für virtuelle Computer. NSGs können entweder Subnetzen oder einzelnen VM-Instanzen zugeordnet werden.
- Alle NSGs enthalten eine Reihe von default-Regeln, einschließlich einer Regel, die den gesamten eingehenden Internetdatenverkehr blockiert. Die Standardregeln können nicht gelöscht, aber von anderen Regeln überschrieben werden. Um Internetdatenverkehr zu ermöglichen, erstellen Sie Regeln, die eingehenden Datenverkehr an bestimmten Ports zulassen, z. B. Port 80 für HTTP. Fügen Sie zum Aktivieren von Secure Shell (SSH) eine Netzwerksicherheitsgruppenregel (NSG-Regel) hinzu, die eingehenden Datenverkehr am TCP-Port 22 zulässt.
Azure NAT Gateway.Network Address Translation (NAT)-Gateways erlauben es allen Instanzen in einem privaten Subnetz, ausgehende Verbindungen zum Internet herzustellen, während sie vollständig privat bleiben. Es können nur Pakete über ein NAT-Gateway weitergeleitet werden, die als Antwortpakete an eine ausgehende Verbindung eingehen. Nicht angeforderte eingehende Verbindungen aus dem Internet werden nicht zugelassen.
Azure Bastion.Azure Bastion ist eine vollständig verwaltete Plattform als Dienstlösung, die sicheren Zugriff auf VMs über private IP-Adressen ermöglicht. Bei dieser Konfiguration benötigen VMs keine öffentliche IP-Adresse, die sie für das Internet verfügbar macht, wodurch ihr Sicherheitsstatus verbessert wird. Azure Bastion bietet sichere RDP- oder SSH-Konnektivität mit Ihren VMs direkt über Transport Layer Security (TLS) über verschiedene Methoden, einschließlich des Azure-Portals oder systemeigenen SSH- oder RDP-Clients.
Vorgänge
SSH. Bevor Sie eine Linux-VM erstellen, wird ein 2048-Bit-RSA-Paar aus privatem und öffentlichem Schlüssel generiert. Verwenden Sie die öffentliche Schlüsseldatei bei der Erstellung der VM. Weitere Informationen finden Sie unter How to Use SSH with Linux and Mac on Azure.
Diagnose: Aktivieren Sie die Überwachung und Diagnose, einschließlich grundlegender Gesundheitsmetriken, Infrastrukturprotokolle zur Diagnose sowie der Startdiagnose. Startdiagnosen dienen dazu, einen Fehler beim Startvorgang zu untersuchen, wenn Ihre VM einen nicht startfähigen Zustand hat. Erstellen Sie ein Azure Storage Konto zum Speichern der Protokolle. Ein lokal redundantes Standardspeicherkonto (LRS) reicht für Diagnoseprotokolle aus. Weitere Informationen finden Sie unter Aktivieren von Überwachung und Diagnose.
Verfügbarkeit: Ihre VM kann durch planierte Wartung oder unplanierte Ausfallzeiten betroffen sein. Sie können VM-Neustartprotokolle verwenden, um zu ermitteln, ob ein VM-Neustart durch einen geplanten Wartungsvorgang verursacht wurde. Um die Verfügbarkeit zu verbessern, können Sie mehrere VMs in einer Verfügbarkeitsgruppe oder in mehreren Verfügbarkeitszonen in einer Region bereitstellen. Beide Konfigurationen bieten ein höheres Service-Level-Agreement (SLA).
Backups Verwenden Sie den Dienst Azure Backup, um Ihre virtuellen Computer im georedundanten Speicher zu sichern. Azure Backup bietet anwendungskonsensige Sicherungen. Verwenden Sie für leistungssensitive Workloads oder spezielle Linux-Distributionen, die herkömmliche Sicherungs-Agents nicht unterstützen, die Funktion des agentlosen Multi-Disk-crash-konsistenten Backups, die automatisierten Sicherungsschutz ermöglicht, ohne die Anwendungsleistung zu beeinträchtigen.
Das Anhalten einer virtuellen Maschine Azure unterscheidet zwischen "angehaltenen" und "freigegebenen" Zuständen. Ihnen werden Gebühren berechnet, wenn der VM-Status angehalten ist, aber nicht, wenn die VM deallokiert ist. Im Azure-Portal wird die Schaltfläche Stop verwendet, um die VM freizugeben. Wenn Sie über das Betriebssystem herunterfahren, während Sie angemeldet sind, wird die VM zwar gestoppt, aber nicht freigegeben, sodass weiterhin Kosten anfallen.
Löschen eines virtuellen Computers: Beim Löschen einer VM können Sie die Datenträger wahlweise löschen oder aufbewahren. Dies bedeutet, dass Sie die VM problemlos löschen können, ohne dass Daten verloren gehen. Allerdings werden Ihnen die Datenträger weiter in Rechnung gestellt. Sie können verwaltete Datenträger wie jede andere Azure Ressource löschen. Zur Verhinderung des versehentlichen Löschens verwenden Sie eine Ressourcensperre, um die gesamte Ressourcengruppe oder einzelne Ressourcen, z. B. einen virtuellen Computer, zu sperren.
Überlegungen
Diese Überlegungen implementieren die Säulen des Azure Well-Architected Frameworks, bei dem es sich um eine Reihe von Leitsätzen handelt, die verwendet werden können, um die Qualität einer Arbeitsauslastung zu verbessern. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.
Sicherheit
Sicherheit bietet Schutz vor vorsätzlichen Angriffen und dem Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Entwurfsprüfliste für die Sicherheit.
Verwenden Sie Microsoft Defender for Cloud, um einen zentralen Überblick über den Sicherheitsstatus Ihrer Azure Ressourcen zu erhalten. Mit Defender for Cloud werden potenzielle Sicherheitsprobleme überwacht, und Sie erhalten eine umfassende Darstellung des Sicherheitszustands Ihrer Bereitstellung. Defender für Cloud ist pro Azure Abonnement konfiguriert. Aktivieren Sie die Sicherheitsdatensammlung, wie in Connect your Azure subscriptions beschrieben. Nachdem die Datensammlung aktiviert wurde, durchsucht Defender für Cloud VMs automatisch, die unter diesem Abonnement erstellt werden.
Patchverwaltung: Wenn aktiviert, überprüft Defender for Cloud, ob Sicherheits- und kritische Updates fehlen.
Antischadsoftware: Falls aktiviert, prüft Defender für Cloud, ob Antischadsoftware installiert ist. Sie können Defender für Cloud auch verwenden, um Antischadsoftware aus dem Azure-Portal zu installieren.
Zugriffssteuerung. Verwenden Sie Azure rollenbasierte Zugriffssteuerung (Azure RBAC), um den Zugriff auf Azure Ressourcen zu steuern. mit Azure RBAC können Sie Mitgliedern Ihres DevOps-Teams Autorisierungsrollen zuweisen. Die Rolle "Leser" kann z. B. Azure Ressourcen anzeigen, aber nicht erstellen, verwalten oder löschen. Einige Berechtigungen sind spezifisch für einen Azure Ressourcentyp. Die Rolle "Mitwirkender virtueller Computer" kann z. B. einen virtuellen Computer neu starten oder neu zuweisen, das Administratorkennwort zurücksetzen und einen neuen virtuellen Computer erstellen. Andere integrierte Rollen , die für diese Architektur nützlich sein können, sind DevTest Labs-Benutzer und Netzwerkmitwirkender.
Hinweis
Azure RBAC beschränkt nicht die Aktionen, die ein Benutzer bei einer VM ausführen kann. Diese Berechtigungen werden vom Kontotyp im Gastbetriebssystem bestimmt.
Überwachungsprotokolle: Verwenden Sie Überwachungsprotokolle, um Bereitstellungsaktionen und andere VM-Ereignisse anzuzeigen.
Datenverschlüsselung. Aktivieren Sie encryption auf host, um End-to-End-Verschlüsselung für Ihre VM-Daten zu erreichen, einschließlich temporärer Datenträger und Datenträgercaches. Die Verschlüsselung bei Host verarbeitet die Verschlüsselung in der VM-Hostinfrastruktur und verbraucht keine VM-CPU-Ressourcen, im Gegensatz zur gastbasierten Verschlüsselung. Sie können customer-managed keys mit Azure Key Vault für persistente Betriebssystem- und Datenträger verwenden. Temporäre Datenträger und ephemerale Betriebssystemdatenträger werden mit plattformverwalteten Schlüsseln verschlüsselt. Vergewissern Sie sich, dass die ausgewählte VM-Größe die Verschlüsselung auf host unterstützt, bevor Sie die VM bereitstellen.
Kostenoptimierung
Bei der Kostenoptimierung geht es um Möglichkeiten, unnötige Ausgaben zu reduzieren und die betriebliche Effizienz zu verbessern. Weitere Informationen finden Sie unter Design Review-Checkliste für die Kostenoptimierung.
Je nach Nutzung und Workload gibt es verschiedene Optionen für VM-Größen. Der Bereich umfasst die wirtschaftlichste Option der Bs-Serie bis zu den neuesten GPU-VMs, die für machine learning optimiert sind. Informationen zu den verfügbaren Optionen finden Sie unter Azure Linux VM Pricing.
Verwenden Sie für vorhersehbare Workloads Azure Reservations und Azure Savings Plan für Computeleistung mit einem einjährigen oder dreijährigen Vertrag, und erhalten Sie erhebliche Einsparungen bei den Pay-as-you-go-Preisen. Für Workloads, bei denen der Zeitpunkt des Abschlusses oder der Ressourcenverbrauch nicht vorhersehbar ist, bietet sich die nutzungsbasierte Bezahlung an.
Verwenden Sie Azure Spot-VMs um Arbeitslasten auszuführen, die unterbrochen werden können und nicht innerhalb eines vordefinierten Zeitrahmens oder einer SLA abgeschlossen werden müssen. Azure stellt Spot-VMs bereit, wenn kapazität verfügbar ist und entfernt wird, wenn sie die Kapazität zurück benötigt. Die Kosten im Zusammenhang mit Spot virtual machines sind deutlich niedriger. Spot-VMs bieten sich für die folgenden Workloads an:
- Hochleistungsrechnen, Batch-Verarbeitungsaufträge oder visuelle Rendering-Anwendungen
- Testumgebungen, einschließlich Continuous Integration- und Continuous Delivery-Workloads
- Großflächige zustandslose Anwendungen
Verwenden Sie den Azure Preisrechner, um Kosten zu schätzen.
Weitere Informationen finden Sie im Abschnitt "Kosten" in Microsoft Azure Well-Architected Framework.
Operative Exzellenz
Operational Excellence deckt die Betriebsprozesse ab, mit denen eine Anwendung bereitgestellt und in der Produktion ausgeführt wird. Weitere Informationen finden Sie in der Checkliste zur Designüberprüfung für operationale Exzellenz.
Verwenden Sie eine einzelne Azure Resource Manager vorlage zum Bereitstellen der Azure Ressourcen und deren Abhängigkeiten. Da sich alle Ressourcen in demselben virtual network befinden, sind sie in derselben grundlegenden Arbeitsauslastung isoliert. Dadurch ists es leichter, die spezifischen Ressourcen einer Workload einem DevOps-Team zuzuordnen, damit das Team unabhängig alle Aspekte dieser Ressourcen verwalten kann. Diese Isolation ermöglicht dem DevOps-Team die Durchführung von Continuous Integration- und Continuous Delivery-Vorgängen (CI/CD).
Außerdem können Sie unterschiedliche Azure Resource Manager-Vorlagen verwenden und in Azure DevOps Services integrieren, um verschiedene Umgebungen in Minuten bereitzustellen, z. B. um Die Produktion wie Szenarien oder Lasttestumgebungen nur bei Bedarf zu replizieren und Kosten zu sparen.
Erwägen Sie die Verwendung der Azure Monitor, um die Leistung Ihrer Infrastruktur zu analysieren und zu optimieren, Netzwerkprobleme zu überwachen und zu diagnostizieren, ohne sich bei Ihren virtuellen Computern anzumelden.
Nächste Schritte
- Informationen zum Erstellen einer Linux-VM finden Sie unter Quickstart: Erstellen eines virtuellen Linux-Computers im Azure-Portal
- Informationen zum Installieren eines NVIDIA-Treibers auf einer Linux-VM finden Sie unter Installieren von NVIDIA GPU-Treibern auf VMs der N-Serie unter Linux
- Informationen zum Bereitstellen einer Linux-VM finden Sie unter Create and Manage Linux VMs with the Azure CLI
- Standardmäßiger ausgehender Zugriff in Azure