Włączanie rozwiązania Update Management przy użyciu szablonu usługi Azure Resource Manager
Ważne
Usługa Automation Update Management została wycofana 31 sierpnia 2024 r. i zalecamy korzystanie z usługi Azure Update Manager. Postępuj zgodnie z wytycznymi dotyczącymi migracji z usługi Automation Update Management do usługi Azure Update Manager.
Szablon usługi Azure Resource Manager umożliwia włączenie funkcji azure Automation Update Management w grupie zasobów. Ten artykuł zawiera przykładowy szablon, który automatyzuje następujące elementy:
- Automatyzuje tworzenie obszaru roboczego usługi Log Analytics usługi Azure Monitor.
- Automatyzuje tworzenie konta usługi Azure Automation.
- Łączy konto usługi Automation z obszarem roboczym usługi Log Analytics.
- Dodaje przykładowe elementy runbook usługi Automation do konta.
- Włącza funkcję Update Management.
Jeśli masz już obszar roboczy usługi Log Analytics i konto usługi Automation wdrożone w obsługiwanym regionie w ramach subskrypcji, nie są one połączone. Użycie tego szablonu pomyślnie utworzy link i wdroży rozwiązanie Update Management.
Uwaga
Tworzenie konta Uruchom jako usługi Automation nie jest obsługiwane w przypadku korzystania z szablonu usługi ARM. Aby ręcznie utworzyć konto Uruchom jako w portalu lub przy użyciu programu PowerShell, zobacz Tworzenie konta Uruchom jako.
Po wykonaniu tych kroków należy skonfigurować ustawienia diagnostyczne dla konta usługi Automation w celu wysyłania stanu zadania elementu Runbook i strumieni zadań do połączonego obszaru roboczego usługi Log Analytics.
Wersje interfejsu API
W poniższej tabeli wymieniono wersję interfejsu API dla zasobów używanych w tym przykładzie.
Zasób | Typ zasobu | Wersja interfejsu API |
---|---|---|
Workspace | obszary robocze | 2020-03-01-preview |
Konto usługi Automation | automatyzacja | 2020-01-13-preview |
Połączone usługi obszaru roboczego | obszary robocze | 2020-03-01-preview |
Rozwiązania | rozwiązania | 2015-11-01-preview |
Przed użyciem szablonu
Szablon JSON jest skonfigurowany pod kątem monitowania o:
- Nazwa obszaru roboczego.
- Region do utworzenia obszaru roboczego.
- Nazwa konta usługi Automation.
- Region, w którym ma zostać utworzone konto usługi Automation.
Następujące parametry w szablonie są ustawiane z wartością domyślną dla obszaru roboczego usługi Log Analytics:
- Jednostka SKU jest domyślnie ustawiona na warstwę cenową na GB wydaną w modelu cenowym z kwietnia 2018 r.
- Wartość domyślna dataRetention to 30 dni.
Ostrzeżenie
Jeśli chcesz utworzyć lub skonfigurować obszar roboczy usługi Log Analytics w subskrypcji, która zdecydowała się na model cenowy z kwietnia 2018 r., jedyną prawidłową warstwą cenową usługi Log Analytics jest PerGB2018.
Szablon JSON określa wartość domyślną dla innych parametrów, które prawdopodobnie będą używane jako standardowa konfiguracja w danym środowisku. Szablon można przechowywać na koncie usługi Azure Storage na potrzeby dostępu współdzielonego w organizacji. Aby uzyskać więcej informacji na temat pracy z szablonami, zobacz Wdrażanie zasobów przy użyciu szablonów usługi ARM i interfejsu wiersza polecenia platformy Azure.
Jeśli dopiero zaczynasz korzystać z usług Azure Automation i Azure Monitor, ważne jest, aby zrozumieć następujące szczegóły konfiguracji. Mogą one pomóc uniknąć błędów podczas próby utworzenia, skonfigurowania i użycia obszaru roboczego usługi Log Analytics połączonego z nowym kontem usługi Automation.
Przejrzyj dodatkowe szczegóły , aby w pełni zrozumieć opcje konfiguracji obszaru roboczego, takie jak tryb kontroli dostępu, warstwa cenowa, przechowywanie i poziom rezerwacji pojemności.
Przejrzyj mapowania obszarów roboczych , aby określić obsługiwane regiony w tekście lub w pliku parametrów. Tylko niektóre regiony są obsługiwane w przypadku łączenia obszaru roboczego usługi Log Analytics i konta usługi Automation w ramach subskrypcji.
Jeśli dopiero zaczynasz korzystać z dzienników usługi Azure Monitor i nie wdrożono jeszcze obszaru roboczego, zapoznaj się ze wskazówkami dotyczącymi projektowania obszaru roboczego. Pomoże Ci to dowiedzieć się więcej na temat kontroli dostępu i zrozumieć strategie implementacji projektu, które zalecamy dla Twojej organizacji.
Wdrażanie szablonu
Skopiuj i wklej następującą składnię JSON do pliku:
{ "$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'))]" } } ] }
Edytuj szablon, aby spełnić wymagania. Rozważ utworzenie pliku parametrów usługi Resource Manager zamiast przekazywania parametrów jako wartości wbudowanych.
Zapisz ten plik w folderze lokalnym jako deployUMSolutiontemplate.json.
Wszystko jest teraz gotowe do wdrożenia tego szablonu. Możesz użyć programu PowerShell lub interfejsu wiersza polecenia platformy Azure. Po wyświetleniu monitu o podanie obszaru roboczego i nazwy konta usługi Automation podaj nazwę, która jest globalnie unikatowa we wszystkich subskrypcjach platformy Azure.
Program 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"
Interfejs wiersza polecenia platformy Azure
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"
Wdrożenie może potrwać kilka minut. Po zakończeniu zostanie wyświetlony komunikat podobny do następującego, który zawiera wynik:
Przeglądanie wdrożonych zasobów
Zaloguj się w witrynie Azure Portal.
W witrynie Azure Portal otwórz utworzone konto usługi Automation.
W okienku po lewej stronie wybierz pozycję Elementy Runbook. Na stronie Elementy Runbook wymienione są trzy elementy Runbook samouczka utworzone przy użyciu konta usługi Automation.
W okienku po lewej stronie wybierz pozycję Połączony obszar roboczy. Na stronie Połączony obszar roboczy jest wyświetlany określony wcześniej obszar roboczy usługi Log Analytics połączony z kontem usługi Automation.
W okienku po lewej stronie wybierz pozycję Update Management. Na stronie Update Management jest wyświetlana strona oceny bez żadnych informacji w wyniku włączenia usługi , a maszyny nie są skonfigurowane do zarządzania.
Czyszczenie zasobów
Jeśli nie są już potrzebne, usuń rozwiązanie Aktualizacje w obszarze roboczym usługi Log Analytics, odłącz konto usługi Automation z obszaru roboczego, a następnie usuń konto usługi Automation i obszar roboczy.
Następne kroki
Aby użyć rozwiązania Update Management dla maszyn wirtualnych, zobacz Zarządzanie aktualizacjami i poprawkami dla maszyn wirtualnych.
Jeśli nie chcesz już używać rozwiązania Update Management i chcesz go usunąć, zobacz instrukcje w temacie Usuwanie funkcji rozwiązania Update Management.
Aby usunąć maszyny wirtualne z rozwiązania Update Management, zobacz Usuwanie maszyn wirtualnych z rozwiązania Update Management.