Aktivieren der Updateverwaltung mithilfe einer Azure Resource Manager-Vorlage
Wichtig
Die Updateverwaltung für Automation wurde am 31. August 2024 eingestellt, und es wird empfohlen, Azure Update Manager zu verwenden. Befolgen Sie die Leitfäden für die Migration von der Automation-Updateverwaltung zu Azure Update Manager.
Sie können eine Azure Resource Manager-Vorlage verwenden, um das Azure Automation-Feature Updateverwaltung in Ihrer Ressourcengruppe zu aktivieren. Dieser Artikel enthält eine Beispielvorlage, die Folgendes automatisiert:
- Automatisieren der Erstellung eines Azure Monitor Log Analytics-Arbeitsbereichs
- Automatisieren der Erstellung eines Azure Automation-Kontos
- Verknüpfen des Automation-Kontos mit dem Log Analytics-Arbeitsbereich
- Hinzufügen von Automation-Beispielrunbooks zum Konto.
- Aktiviert das Feature „Updateverwaltung“.
Wenn Sie in Ihrem Abonnement bereits einen Log Analytics-Arbeitsbereich und ein Automation-Konto in einer unterstützten Region bereitgestellt haben, sind diese nicht verknüpft. Bei Verwendung dieser Vorlage werden der Link erstellt und die Updateverwaltung bereitgestellt.
Hinweis
Die Erstellung des ausführenden Automation-Kontos wird bei Verwendung einer ARM-Vorlage nicht unterstützt. Informationen zum Erstellen eines ausführenden Kontos über das Portal oder mit PowerShell finden Sie unter Erstellen eines ausführenden Kontos.
Nachdem Sie diese Schritte ausgeführt haben, müssen Sie Diagnoseeinstellungen konfigurieren, damit Ihr Automation-Konto Auftragsstatus und Auftragsdatenströme von Runbooks an den verknüpften Log Analytics Arbeitsbereich sendet.
API-Versionen
Die folgende Tabelle enthält die API-Versionen für die Ressourcen, die in diesem Beispiel verwendet werden.
Ressource | Ressourcentyp | API-Version |
---|---|---|
Arbeitsbereich | workspaces | 2020-03-01-preview |
Automation-Konto | automation | 2020-01-13-preview |
Mit dem Arbeitsbereich verknüpfte Dienste | workspaces | 2020-03-01-preview |
Lösungen | lösungen | 2015-11-01-preview |
Vor dem Verwenden der Vorlage
Die JSON-Vorlage ist so konfiguriert, dass Sie Folgendes von Ihnen anfordert:
- Den Namen des Arbeitsbereichs
- Die Region, in der der Arbeitsbereich erstellt werden soll
- Der Namen des Automation-Kontos.
- Die Region, in der das Automation-Konto erstellt werden soll
Die folgenden Parameter in der Vorlage werden mit einem Standardwert für den Log Analytics-Arbeitsbereich festgelegt:
- sku: Als Standardwert wird der neue, im Preismodell von April 2018 veröffentlichte Tarif pro GB verwendet.
- dataRetention ist standardmäßig auf 30 Tage festgelegt.
Warnung
Wenn Sie einen Log Analytics-Arbeitsbereich in einem Abonnement mit dem Preismodell von April 2018 erstellen oder konfigurieren möchten, ist PerGB2018 als einziger gültiger Log Analytics-Tarif verfügbar.
Die JSON-Vorlage gibt einen Standardwerte für die anderen Parameter an, die wahrscheinlich als Standardkonfiguration in Ihrer Umgebung verwendet werden. Für den gemeinsamen Zugriff in Ihrer Organisation können Sie die Vorlage in einem Azure Storage-Konto speichern. Weitere Informationen zum Arbeiten mit Vorlagen finden Sie unter Bereitstellen von Ressourcen mit ARM-Vorlagen und der Azure-Befehlszeilenschnittstelle.
Wenn Sie mit Azure Automation und Azure Monitor noch nicht vertraut sind, sollten Sie unbedingt die folgenden Konfigurationsdetails kennen. Sie können Ihnen helfen, Fehler zu vermeiden, wenn Sie versuchen, einen mit Ihrem neuen Automation-Konto verknüpften Log Analytics-Arbeitsbereich zu erstellen, zu konfigurieren und zu verwenden.
Lesen Sie die zusätzlichen Details, um die Optionen für die Arbeitsbereichskonfiguration vollständig zu verstehen, z. B. Zugriffssteuerungsmodus, Tarif, Datenaufbewahrung und Kapazitätsreservierungsstufe.
Überprüfen Sie die Arbeitsbereichszuordnungen, um die unterstützten Regionen inline oder in einer Parameterdatei anzugeben. Es werden nur bestimmte Regionen zum Verknüpfen mit einem Log Analytics-Arbeitsbereich und einem Automation-Konto in Ihrem Abonnement unterstützt.
Wenn Sie noch nicht mit Azure Monitor-Protokollen vertraut sind und noch keinen Arbeitsbereich bereitgestellt haben, sollten Sie die Entwurfsanleitungen für Arbeitsbereiche lesen. Sie helfen Ihnen, etwas über die Zugriffssteuerung zu erfahren und die Implementierungsstrategien für den Entwurf zu verstehen, die für Ihre Organisation empfohlen werden.
Bereitstellen der Vorlage
Kopieren Sie die folgende JSON-Syntax, und fügen Sie sie in Ihre Datei ein:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "workspaceName": { "type": "string", "metadata": { "description": "Workspace name" } }, "sku": { "type": "string", "defaultValue": "pergb2018", "allowedValues": [ "pergb2018", "Free", "Standalone", "PerNode", "Standard", "Premium" ], "metadata": { "description": "Pricing tier: perGB2018 or legacy tiers (Free, Standalone, PerNode, Standard or Premium), which are not available to all customers." } }, "dataRetention": { "type": "int", "defaultValue": 30, "minValue": 7, "maxValue": 730, "metadata": { "description": "Number of days to retain data." } }, "location": { "type": "string", "defaultValue": "[resourceGroup().location]", "metadata": { "description": "Specifies the location in which to create the workspace." } }, "automationAccountName": { "type": "string", "metadata": { "description": "Automation account name" } }, "sampleGraphicalRunbookName": { "type": "String", "defaultValue": "AzureAutomationTutorial" }, "sampleGraphicalRunbookDescription": { "type": "String", "defaultValue": "An example runbook that gets all the Resource Manager resources by using the Run As account (service principal)." }, "samplePowerShellRunbookName": { "type": "String", "defaultValue": "AzureAutomationTutorialScript" }, "samplePowerShellRunbookDescription": { "type": "String", "defaultValue": "An example runbook that gets all the Resource Manager resources by using the Run As account (service principal)." }, "samplePython2RunbookName": { "type": "String", "defaultValue": "AzureAutomationTutorialPython2" }, "samplePython2RunbookDescription": { "type": "String", "defaultValue": "An example runbook that gets all the Resource Manager resources by using the Run As account (service principal)." }, "_artifactsLocation": { "type": "string", "defaultValue": "[deployment().properties.templateLink.uri]", "metadata": { "description": "URI to artifacts location" } }, "_artifactsLocationSasToken": { "type": "securestring", "defaultValue": "", "metadata": { "description": "The sasToken required to access _artifactsLocation. When the template is deployed using the accompanying scripts, a sasToken will be automatically generated" } } }, "variables": { "Updates": { "name": "[concat('Updates', '(', parameters('workspaceName'), ')')]", "galleryName": "Updates" } }, "resources": [ { "type": "Microsoft.OperationalInsights/workspaces", "apiVersion": "2020-08-01", "name": "[parameters('workspaceName')]", "location": "[parameters('location')]", "properties": { "sku": { "name": "[parameters('sku')]" }, "retentionInDays": "[parameters('dataRetention')]", "features": { "searchVersion": 1, "legacy": 0 } } }, { "apiVersion": "2015-11-01-preview", "location": "[parameters('location')]", "name": "[variables('Updates').name]", "type": "Microsoft.OperationsManagement/solutions", "id": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name, '/providers/Microsoft.OperationsManagement/solutions/', variables('Updates').name)]", "dependsOn": [ "[concat('Microsoft.OperationalInsights/workspaces/', parameters('workspaceName'))]" ], "properties": { "workspaceResourceId": "[resourceId('Microsoft.OperationalInsights/workspaces/', parameters('workspaceName'))]" }, "plan": { "name": "[variables('Updates').name]", "publisher": "Microsoft", "promotionCode": "", "product": "[concat('OMSGallery/', variables('Updates').galleryName)]" } }, { "type": "Microsoft.Automation/automationAccounts", "apiVersion": "2020-01-13-preview", "name": "[parameters('automationAccountName')]", "location": "[parameters('location')]", "dependsOn": [ "[parameters('workspaceName')]" ], "identity": { "type": "SystemAssigned" }, "properties": { "sku": { "name": "Basic" } }, "resources": [ { "type": "runbooks", "apiVersion": "2020-01-13-preview", "name": "[parameters('sampleGraphicalRunbookName')]", "location": "[parameters('location')]", "dependsOn": [ "[parameters('automationAccountName')]" ], "properties": { "runbookType": "GraphPowerShell", "logProgress": "false", "logVerbose": "false", "description": "[parameters('sampleGraphicalRunbookDescription')]", "publishContentLink": { "uri": "[uri(parameters('_artifactsLocation'), concat('scripts/AzureAutomationTutorial.graphrunbook', parameters('_artifactsLocationSasToken')))]", "version": "1.0.0.0" } } }, { "type": "runbooks", "apiVersion": "2020-01-13-preview", "name": "[parameters('samplePowerShellRunbookName')]", "location": "[parameters('location')]", "dependsOn": [ "[parameters('automationAccountName')]" ], "properties": { "runbookType": "PowerShell", "logProgress": "false", "logVerbose": "false", "description": "[parameters('samplePowerShellRunbookDescription')]", "publishContentLink": { "uri": "[uri(parameters('_artifactsLocation'), concat('scripts/AzureAutomationTutorial.ps1', parameters('_artifactsLocationSasToken')))]", "version": "1.0.0.0" } } }, { "type": "runbooks", "apiVersion": "2020-01-13-preview", "name": "[parameters('samplePython2RunbookName')]", "location": "[parameters('location')]", "dependsOn": [ "[parameters('automationAccountName')]" ], "properties": { "runbookType": "Python2", "logProgress": "false", "logVerbose": "false", "description": "[parameters('samplePython2RunbookDescription')]", "publishContentLink": { "uri": "[uri(parameters('_artifactsLocation'), concat('scripts/AzureAutomationTutorialPython2.py', parameters('_artifactsLocationSasToken')))]", "version": "1.0.0.0" } } } ] }, { "type": "Microsoft.OperationalInsights/workspaces/linkedServices", "apiVersion": "2020-08-01", "name": "[concat(parameters('workspaceName'), '/' , 'Automation')]", "location": "[parameters('location')]", "dependsOn": [ "[parameters('workspaceName')]", "[parameters('automationAccountName')]" ], "properties": { "resourceId": "[resourceId('Microsoft.Automation/automationAccounts', parameters('automationAccountName'))]" } } ] }
Bearbeiten Sie die Vorlage entsprechend Ihren Anforderungen. Erstellen Sie ggf. eine Resource Manager-Parameterdatei, anstatt Parameter als Inlinewerte zu übergeben.
Speichern Sie diese Datei unter dem Namen deployUMSolutiontemplate.json.
Nun können Sie die Vorlage bereitstellen. Sie können dazu entweder PowerShell oder Azure CLI verwenden. Wenn Sie zur Eingabe des Namens eines Arbeitsbereichs oder Automation-Kontos aufgefordert werden, geben Sie einen Namen an, der in allen Azure-Abonnements global eindeutig ist.
PowerShell
New-AzResourceGroupDeployment ` -Name <deployment-name> ` -ResourceGroupName <resource-group-name> ` -TemplateFile deployUMSolutiontemplate.json ` -_artifactsLocation "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/101-automation/azuredeploy.json"
Azure-Befehlszeilenschnittstelle
az deployment group create --resource-group <my-resource-group> --name <my-deployment-name> --template-file deployUMSolutiontemplate.json --parameters _artifactsLocation="https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/101-automation/azuredeploy.json"
Die Bereitstellung kann einige Minuten dauern. Wenn sie abgeschlossen ist, wird eine Meldung ähnlich der folgenden mit dem Ergebnis angezeigt:
Überprüfen der bereitgestellten Ressourcen
Melden Sie sich beim Azure-Portal an.
Öffnen Sie im Azure-Portal das von Ihnen erstellte Automation-Konto.
Wählen Sie im linken Bereich Runbooks aus. Auf der Seite Runbooks werden drei Tutorial-Runbooks aufgelistet, die mit dem Automation-Konto erstellt wurden.
Wählen Sie im linken Bereich Verknüpfter Arbeitsbereich aus. Auf der Seite Verknüpfter Arbeitsbereich wird der Log Analytics-Arbeitsbereich angezeigt, den Sie zuvor als mit Ihrem Automation-Konto verknüpft angegeben haben.
Wählen Sie im linken Bereich Updateverwaltung aus. Auf der Seite Updateverwaltung wird die Bewertungsseite ohne Informationen angezeigt, da Sie gerade erst aktiviert wurde und noch keine Computer für die die Verwaltung konfiguriert sind.
Bereinigen von Ressourcen
Wenn Sie sie nicht mehr benötigen, löschen Sie die Updates-Lösung im Log Analytics-Arbeitsbereich, trennen Sie das Automation-Konto von dem Arbeitsbereich, und löschen Sie dann das Automation-Konto und den Arbeitsbereich.
Nächste Schritte
Wie Sie die Updateverwaltung für VMs verwenden, erfahren Sie unter Verwalten von Updates und Patches für Ihre VMs.
Wenn Sie die Updateverwaltung nicht mehr verwenden und sie entfernen möchten, finden Sie weitere Informationen unter Entfernen des Features Updateverwaltung.
Informationen zum Löschen von VMs aus der Updateverwaltung finden Sie unter Entfernen virtueller Computer aus der Updateverwaltung.