Povolení Update Managementu s využitím šablony Azure Resource Manageru

Pomocí šablony Azure Resource Manageru můžete ve vaší skupině prostředků povolit funkci Azure Automation Update Management. Tento článek obsahuje ukázkovou šablonu, která automatizuje následující:

  • Automatizuje vytvoření pracovního prostoru služby Azure Monitor Log Analytics.
  • Automatizuje vytvoření účtu Azure Automation.
  • Propojuje účet Automation s pracovním prostorem Log Analytics.
  • Přidá do účtu ukázkové runbooky Automation.
  • Povolí funkci Update Management.

Pokud už máte pracovní prostor Služby Log Analytics a účet Automation nasazený v podporované oblasti ve vašem předplatném, nejsou propojené. Pomocí této šablony se úspěšně vytvoří odkaz a nasadí řešení Update Management.

Poznámka

Vytvoření účtu Automation Spustit jako se nepodporuje, když používáte šablonu ARM. Pokud chcete účet Spustit jako vytvořit ručně z portálu nebo pomocí PowerShellu, přečtěte si téma Vytvoření účtu Spustit jako.

Po dokončení těchto kroků je potřeba nakonfigurovat nastavení diagnostiky pro účet Automation tak, aby se stav úlohy runbooku a streamy úloh odesílaly do propojeného pracovního prostoru Služby Log Analytics.

Verze rozhraní API

Následující tabulka uvádí verzi rozhraní API pro prostředky použité v tomto příkladu.

Prostředek Typ prostředku Verze rozhraní API
Pracovní prostor pracovní prostory 2020-03-01-preview
Účet Automation automatizace 2020-01-13-preview
Propojené služby pracovního prostoru pracovní prostory 2020-03-01-preview
Řešení Řešení 2015-11-01-preview

Před použitím šablony

Šablona JSON je nakonfigurovaná tak, aby vás vyzve k zadání:

  • Název pracovního prostoru.
  • Oblast, ve které se má pracovní prostor vytvořit.
  • Název účtu Automation.
  • Oblast, ve které se má účet Automation vytvořit.

Následující parametry v šabloně jsou nastaveny s výchozí hodnotou pro pracovní prostor Služby Log Analytics:

  • SKU se standardně nastaví na cenovou úroveň GB vydané v cenovém modelu z dubna 2018.
  • výchozí hodnota dataRetention je 30 dnů.

Upozornění

Pokud chcete vytvořit nebo nakonfigurovat pracovní prostor Log Analytics v předplatném, které se přihlásilo k cenovému modelu z dubna 2018, je jedinou platnou cenovou úrovní Log Analytics PerGB2018.

Šablona JSON určuje výchozí hodnotu pro ostatní parametry, které by se pravděpodobně používaly jako standardní konfigurace ve vašem prostředí. Šablonu můžete uložit do účtu úložiště Azure pro sdílený přístup ve vaší organizaci. Další informace o práci se šablonami najdete v tématu Nasazení prostředků pomocí šablon ARM a Azure CLI.

Pokud s Azure Automation a Azure Monitorem začínáte, je důležité, abyste porozuměli následujícím podrobnostem konfigurace. Můžou vám pomoct vyhnout se chybám při pokusu o vytvoření, konfiguraci a použití pracovního prostoru Služby Log Analytics propojeného s novým účtem Automation.

  • Projděte si další podrobnosti , abyste plně porozuměli možnostem konfigurace pracovního prostoru, jako je režim řízení přístupu, cenová úroveň, uchovávání a úroveň rezervace kapacity.

  • Zkontrolujte mapování pracovních prostorů a určete podporované oblasti vložené do souboru parametrů nebo v souboru parametrů. Pro propojení pracovního prostoru Služby Log Analytics a účtu Automation ve vašem předplatném se podporují jenom určité oblasti.

  • Pokud s protokoly služby Azure Monitor teprve začínáte a ještě jste pracovní prostor nenasadili, měli byste si projít pokyny k návrhu pracovního prostoru. Pomůže vám získat informace o řízení přístupu a porozumět strategiím implementace návrhu, které doporučujeme pro vaši organizaci.

Nasazení šablony

  1. Zkopírujte a vložte do souboru následující syntaxi JSON:

    {
      "$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'))]"
          }
        }
      ]
    }
    
  2. Upravte šablonu tak, aby splňovala vaše požadavky. Zvažte vytvoření souboru parametrů Resource Manager místo předávání parametrů jako vložené hodnoty.

  3. Uložte tento soubor do místní složky jako deployUMSolutiontemplate.json.

  4. Jste připraveni k nasazení této šablony. Můžete použít PowerShell nebo Azure CLI. Když se zobrazí výzva k zadání názvu pracovního prostoru a účtu Automation, zadejte název, který je globálně jedinečný pro všechna předplatná Azure.

    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 CLI

    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"
    

    Dokončení nasazení může trvat několik minut. Po dokončení se zobrazí zpráva podobná následující, která obsahuje výsledek:

    Example result when deployment is complete

Kontrola nasazených prostředků

  1. Přihlaste se k webu Azure Portal.

  2. V Azure Portal otevřete účet Automation, který jste vytvořili.

  3. V levém podokně vyberte Runbooky. Na stránce Runbooky jsou uvedené tři runbooky kurzu vytvořené pomocí účtu Automation.

    Tutorial runbooks created with Automation account

  4. V levém podokně vyberte Propojený pracovní prostor. Na stránce Propojený pracovní prostor se zobrazí pracovní prostor Služby Log Analytics, který jste zadali dříve propojenou s vaším účtem Automation.

    Automation account linked to the Log Analytics workspace

  5. V levém podokně vyberte Update Management. Na stránce Správa aktualizací se zobrazuje stránka posouzení bez jakýchkoli informací v důsledku pouhého povolení a počítače nejsou nakonfigurované pro správu.

    Update Management feature assessment view

Vyčištění prostředků

Pokud je už nepotřebujete, odstraňte řešení Aktualizace v pracovním prostoru Služby Log Analytics, zrušte propojení účtu Automation z pracovního prostoru a pak odstraňte účet Automation a pracovní prostor.

Další kroky