Verwenden von Infrastrukturautomatisierungstools mit virtuellen Computern in AzureUse infrastructure automation tools with virtual machines in Azure

Für die umfangreiche konsistente Erstellung und Verwaltung virtueller Azure-Computer (Virtual Machines, VMs) empfiehlt sich in der Regel eine Form der Automatisierung.To create and manage Azure virtual machines (VMs) in a consistent manner at scale, some form of automation is typically desired. Es gibt zahlreiche Tools und Lösungen, mit denen Sie die gesamte Azure-Infrastrukturbereitstellung und den gesamten Verwaltungslebenszyklus automatisieren können.There are many tools and solutions that allow you to automate the complete Azure infrastructure deployment and management lifecycle. In diesem Artikel werden einige der Infrastrukturautomatisierungstools vorgestellt, die Sie in Azure verwenden können.This article introduces some of the infrastructure automation tools that you can use in Azure. Diese Tools lassen sich in der Regel einem der folgenden Konzepte zuordnen:These tools commonly fit in to one of the following approaches:

AnsibleAnsible

Ansible ist ein Automatisierungsmodul für die Konfigurationsverwaltung, VM-Erstellung oder Anwendungsbereitstellung.Ansible is an automation engine for configuration management, VM creation, or application deployment. Für die Authentifizierung und Verwaltung der Zielcomputer kommt bei Ansible ein Agent-loses Modell (üblicherweise mit SSH-Schlüsseln) zum Einsatz.Ansible uses an agent-less model, typically with SSH keys, to authenticate and manage target machines. Konfigurationsaufgaben werden in Playbooks definiert. Dabei steht eine Reihe von Ansible-Modulen zur Ausführung bestimmter Aufgaben zur Verfügung.Configuration tasks are defined in playbooks, with a number of Ansible modules available to carry out specific tasks. Weitere Informationen finden Sie unter How Ansible works (Funktionsweise von Ansible).For more information, see How Ansible works.

In diesem Artikel werden folgende Themen erläutert:Learn how to:

ChefChef

Chef ist eine Automatisierungsplattform, mit der Sie die Konfiguration, Bereitstellung und Verwaltung Ihrer Infrastruktur definieren können.Chef is an automation platform that helps define how your infrastructure is configured, deployed, and managed. Zusätzlich verfügbare Komponenten sind Chef Habitat für die Automatisierung des Anwendungslebenszyklus (anstelle der Infrastruktur) und Chef InSpec zur Automatisierung der Einhaltung von Sicherheits- und Richtlinienanforderungen.Additional components included Chef Habitat for application lifecycle automation rather than the infrastructure, and Chef InSpec that helps automate compliance with security and policy requirements. Auf den Zielcomputern werden Chef-Clients installiert, und es ist mindestens ein zentraler Chef-Server zum Speichern und Verwalten der Konfigurationen vorhanden.Chef Clients are installed on target machines, with one or more central Chef Servers that store and manage the configurations. Weitere Informationen finden Sie in der Übersicht über Chef.For more information, see An Overview of Chef.

In diesem Artikel werden folgende Themen erläutert:Learn how to:

PuppetPuppet

Puppet ist eine für Unternehmen geeignete Automatisierungsplattform zur Anwendungsübermittlung und -bereitstellung.Puppet is an enterprise-ready automation platform that handles the application delivery and deployment process. Auf den Zielcomputern werden Agents installiert, um Puppet Master das Ausführen von Manifesten zu ermöglichen, die die gewünschte Konfiguration der Azure-Infrastruktur und der virtuellen Computer definieren.Agents are installed on target machines to allow Puppet Master to run manifests that define the desired configuration of the Azure infrastructure and VMs. Zur Optimierung des DevOps-Workflows kann Puppet mit anderen Lösungen wie Jenkins und GitHub kombiniert werden.Puppet can integrate with other solutions such as Jenkins and GitHub for an improved devops workflow. Weitere Informationen finden Sie unter How Puppet works (Funktionsweise von Puppet).For more information, see How Puppet works.

In diesem Artikel werden folgende Themen erläutert:Learn how to:

cloud-initCloud-init

Cloud-init ist ein weit verbreiteter Ansatz zum Anpassen einer Linux-VM beim ersten Start.Cloud-init is a widely used approach to customize a Linux VM as it boots for the first time. Sie können mit cloud-init Pakete installieren und Dateien schreiben oder Benutzer und Sicherheit konfigurieren.You can use cloud-init to install packages and write files, or to configure users and security. Da cloud-init während des ersten Startvorgangs aufgerufen wird, müssen Sie keine zusätzlichen Schritte oder Agents auf Ihre Konfiguration anwenden.Because cloud-init is called during the initial boot process, there are no additional steps or required agents to apply your configuration. Weitere Informationen zum ordnungsgemäßen Formatieren Ihrer #cloud-config-Dateien finden Sie auf der cloud-init-Dokumentationswebsite.For more information on how to properly format your #cloud-config files, see the cloud-init documentation site. #cloud-config-Dateien sind Base64-codierte Textdateien.#cloud-config files are text files encoded in base64.

Cloud-init funktioniert auch Distributionen übergreifend.Cloud-init also works across distributions. Verwenden Sie z.B. nicht apt-get install oder yum install, um ein Paket zu installieren.For example, you don't use apt-get install or yum install to install a package. Stattdessen können Sie eine Liste mit zu installierenden Paketen definieren.Instead you can define a list of packages to install. „cloud-init“ verwendet automatisch das native Paketverwaltungstool für die ausgewählte Distribution.Cloud-init automatically uses the native package management tool for the distro you select.

Wir arbeiten aktiv mit unseren Linux-Distributionspartnern zusammen, um cloud-init-fähige Images im Azure Marketplace zur Verfügung zu stellen.We are actively working with our endorsed Linux distro partners in order to have cloud-init enabled images available in the Azure Marketplace. Mit diesen Images funktionieren Ihre cloud-init-Bereitstellungen und -Konfigurationen nahtlos bei VMs und Skalierungsgruppen von virtuellen Computern (VMSS).These images make your cloud-init deployments and configurations work seamlessly with VMs and virtual machine scale sets. Erfahren Sie mehr über cloud-init in Azure:Learn more details about cloud-init on Azure:

PowerShell DSCPowerShell DSC

PowerShell DSC (Desired State Configuration) ist eine Verwaltungsplattform zum Definieren der Konfiguration von Zielcomputern.PowerShell Desired State Configuration (DSC) is a management platform to define the configuration of target machines. DSC kann über den OMI-Server (Open Management Infrastructure) auch unter Linux verwendet werden.DSC can also be used on Linux through the Open Management Infrastructure (OMI) server.

DSC-Konfigurationen definieren, was auf einem Computer installiert und wie der Host konfiguriert werden soll.DSC configurations define what to install on a machine and how to configure the host. Eine LCM-Engine (Local Configuration Manager) wird auf jedem Zielknoten ausgeführt, der angeforderte Aktionen auf der Grundlage gepushter Konfigurationen verarbeitet.A Local Configuration Manager (LCM) engine runs on each target node that processes requested actions based on pushed configurations. Ein Pull-Server ist ein Webdienst, der auf einem zentralen Host ausgeführt wird, um die DSC-Konfigurationen und die dazugehörigen Ressourcen zu speichern.A pull server is a web service that runs on a central host to store the DSC configurations and associated resources. Der Pull-Server kommuniziert mit der LCM-Engine auf den einzelnen Zielhosts, um die erforderlichen Konfigurationen bereitzustellen und Complianceberichte zu erstellen.The pull server communicates with the LCM engine on each target host to provide the required configurations and report on compliance.

In diesem Artikel werden folgende Themen erläutert:Learn how to:

Benutzerdefinierte Skripterweiterung von AzureAzure Custom Script Extension

Die benutzerdefinierte Skripterweiterung von Azure (verfügbar für Linux und Windows) lädt Skripts auf virtuelle Azure-Computer herunter und führt sie dort aus.The Azure Custom Script Extension for Linux or Windows downloads and executes scripts on Azure VMs. Die Erweiterung kann beim Erstellen eines virtuellen Computers oder zu einem beliebigen Zeitpunkt für einen verwendeten virtuellen Computer verwendet werden.You can use the extension when you create a VM, or any time after the VM is in use.

Skripts können aus Azure-Speicher oder von einem anderen öffentlichen Speicherort (etwa einem GitHub-Repository) heruntergeladen werden.Scripts can be downloaded from Azure storage or any public location such as a GitHub repository. Mit der benutzerdefinierten Skripterweiterung können Sie Skripts in einer beliebigen Sprache schreiben, die auf dem virtuellen Quellcomputer ausgeführt werden kann.With the Custom Script Extension, you can write scripts in any language that runs on the source VM. Mit diesen Skripts können Sie Anwendungen installieren oder den virtuellen Computer nach Ihren Vorstellungen konfigurieren.These scripts can be used to install applications or configure the VM as desired. Zum Schutz von Anmeldeinformationen können vertrauliche Informationen wie etwa Kennwörter in einer geschützten Konfiguration gespeichert werden.To secure credentials, sensitive information such as passwords can be stored in a protected configuration. Diese Anmeldeinformationen werden erst auf dem virtuellen Computer entschlüsselt.These credentials are only decrypted inside the VM.

In diesem Artikel werden folgende Themen erläutert:Learn how to:

PackerPacker

Packer automatisiert den Buildprozess beim Erstellen eines benutzerdefinierten VM-Images in Azure.Packer automates the build process when you create a custom VM image in Azure. Mit Packer können Sie das Betriebssystem definieren und Skripts nach der Konfiguration ausführen, um den virtuellen Computer für Ihre speziellen Anforderungen anzupassen.You use Packer to define the OS and run post-configuration scripts that customize the VM for your specific needs. Der konfigurierte virtuelle Computer wird dann als verwaltetes Datenträgerimage erfasst.Once configured, the VM is then captured as a Managed Disk image. Packer automatisiert das Erstellen des virtuellen Quellcomputers sowie der Netzwerk- und Speicherressourcen, das Ausführen der Konfigurationsskripts und das anschließende Erstellen des VM-Images.Packer automates the process to create the source VM, network and storage resources, run configuration scripts, and then create the VM image.

In diesem Artikel werden folgende Themen erläutert:Learn how to:

TerraformTerraform

Terraform ist ein Automatisierungstool, mit dem Sie eine gesamte Azure-Infrastruktur mit einer einzelnen Vorlagenformatsprache – der HashiCorp Configuration Language (HCL) – definieren und erstellen können.Terraform is an automation tool that allows you to define and create an entire Azure infrastructure with a single template format language - the HashiCorp Configuration Language (HCL). Mit Terraform definieren Sie Vorlagen, die die Erstellung von Netzwerk-, Speicher- und VM-Ressourcen für eine bestimmte Anwendungslösung automatisieren.With Terraform, you define templates that automate the process to create network, storage, and VM resources for a given application solution. Ihre vorhandenen Terraform-Vorlagen können Sie für andere Plattformen mit Azure verwenden, um die Konsistenz zu gewährleisten und die Infrastrukturbereitstellung ohne Umwandlung in eine Azure Resource Manager-Vorlage zu vereinfachen.You can use your existing Terraform templates for other platforms with Azure to ensure consistency and simplify the infrastructure deployment without needing to convert to an Azure Resource Manager template.

In diesem Artikel werden folgende Themen erläutert:Learn how to:

Azure-AutomatisierungAzure Automation

Azure Automation verwendet Runbooks, um eine Reihe von Aufgaben auf Ihren virtuellen Zielcomputern zu verarbeiten.Azure Automation uses runbooks to process a set of tasks on the VMs you target. Azure Automation dient zur Verwaltung vorhandener virtueller Computer und nicht zur Erstellung einer Infrastruktur.Azure Automation is used to manage existing VMs rather than to create an infrastructure. Azure Automation kann für virtuelle Linux- und Windows-Computer sowie für lokale virtuelle oder physische Computer mit einem Hybrid Runbook Worker ausgeführt werden.Azure Automation can run across both Linux and Windows VMs, as well as on-premises virtual or physical machines with a hybrid runbook worker. Runbooks können in einem Quellcodeverwaltungs-Repository (beispielsweise GitHub) gespeichert werden.Runbooks can be stored in a source control repository, such as GitHub. Diese Runbooks können dann manuell oder nach einem definierten Zeitplan ausgeführt werden.These runbooks can then run manually or on a defined schedule.

Azure Automation bietet auch einen DSC-Dienst (Desired State Configuration), mit dem Sie Definitionen für die Konfiguration einer bestimmten Gruppe von virtuellen Computern erstellen können.Azure Automation also provides a Desired State Configuration (DSC) service that allows you to create definitions for how a given set of VMs should be configured. DSC stellt dann sicher, dass die erforderliche Konfiguration angewendet wird und der virtuelle Computer konsistent bleibt.DSC then ensures that the required configuration is applied and the VM stays consistent. Azure Automation DSC kann auf Computern unter Windows und Linux ausgeführt werden.Azure Automation DSC runs on both Windows and Linux machines.

In diesem Artikel werden folgende Themen erläutert:Learn how to:

Azure DevOps ServicesAzure DevOps Services

Azure DevOps Services ist eine Suite von Tools, mit denen Sie Code freigeben und nachverfolgen, automatisierte Builds verwenden und eine vollständige CI/CD-Pipeline (Continuous Integration/Continuous Development) erstellen können.Azure DevOps Services is a suite of tools that help you share and track code, use automated builds, and create a complete continuous integration and development (CI/CD) pipeline. Azure DevOps Services lässt sich zur Vereinfachung in Visual Studio und andere Editoren integrieren.Azure DevOps Services integrates with Visual Studio and other editors to simplify usage. Mit Azure DevOps Services können Sie auch virtuelle Azure-Computer erstellen und konfigurieren und anschließend Code für sie bereitstellen.Azure DevOps Services can also create and configure Azure VMs and then deploy code to them.

Weitere Informationen:Learn more about:

JenkinsJenkins

Jenkins ist ein Continuous Integration-Server zum Bereitstellen und Testen von Anwendungen sowie zum Erstellen automatisierter Pipelines für die Codeübermittlung.Jenkins is a continuous integration server that helps deploy and test applications, and create automated pipelines for code delivery. Die Kernplattform von Jenkins lässt sich mit hunderten von Plug-Ins erweitern und über Webhooks auch in zahlreiche andere Produkte und Lösungen integrieren.There are hundreds of plugins to extend the core Jenkins platform, and you can also integrate with many other products and solutions through webhooks. Sie können Jenkins manuell auf einem virtuellen Azure-Computer installieren oder innerhalb eines Docker-Containers ausführen oder ein vorgefertigtes Azure Marketplace-Image verwenden.You can manually install Jenkins on an Azure VM, run Jenkins from within a Docker container, or use a pre-built Azure Marketplace image.

In diesem Artikel werden folgende Themen erläutert:Learn how to:

Azure Resource Manager-VorlageAzure Resource Manager template

Azure Resource Manager ist der Bereitstellungs- und Verwaltungsdienst für Azure.Azure Resource Manager is the deployment and management service for Azure. Er bietet eine Verwaltungsebene, die das Erstellen, Aktualisieren und Löschen von Ressourcen in Ihrem Azure-Abonnement ermöglicht.It provides a management layer that enables you to create, update, and delete resources in your Azure subscription. Mithilfe von Verwaltungsfeatures wie Zugriffssteuerung, Sperren und Tags können Sie Ihre Ressourcen nach der Bereitstellung schützen und organisieren.You use management features, like access control, locks, and tags, to secure and organize your resources after deployment.

In diesem Artikel werden folgende Themen erläutert:Learn how to:

Nächste SchritteNext steps

Infrastrukturautomatisierungstools können in Azure auf unterschiedlichste Weise verwendet werden.There are many different options to use infrastructure automation tools in Azure. Sie können sich flexibel für die Lösung entscheiden, die am besten zu Ihren Anforderungen und zu Ihrer Umgebung passt.You have the freedom to use the solution that best fits your needs and environment. Falls Sie noch keine Erfahrung haben und einige der in Azure integrierten Tools ausprobieren möchten, informieren Sie sich über die Automatisierung der Anpassung eines virtuellen Computers unter Linux oder Windows.To get started and try some of the tools built-in to Azure, see how to automate the customization of a Linux or Windows VM.