Skapa ett Azure Automation-konto med hjälp av en Resource Manager-mall

Azure Automation levererar en molnbaserad automatiserings- och konfigurationstjänst som stöder konsekvent hantering i dina Azure- och icke-Azure-miljöer. Den här artikeln visar hur du distribuerar en Azure Resource Manager-mall (ARM-mall) som skapar ett Automation-konto. Att använda en ARM-mall tar färre steg jämfört med andra distributionsmetoder. JSON-mallen anger standardvärden för parametrar som sannolikt skulle användas som en standardkonfiguration i din miljö. Du kan lagra mallen på ett Azure Storage-konto för delad åtkomst i din organisation. Mer information om hur du arbetar med mallar finns i Distribuera resurser med ARM-mallar och Azure CLI.

En Azure Resource Manager-mall är en JSON-fil (JavaScript Object Notation) som definierar infrastrukturen och konfigurationen för projektet. Mallen använder deklarativ syntax. Du beskriver den avsedda distributionen utan att skriva sekvensen med programmeringskommandon för att skapa distributionen.

Exempelmallen utför följande steg:

  • Automatiserar skapandet av en Azure Monitor Log Analytics-arbetsyta.
  • Automatiserar skapandet av ett Azure Automation-konto.
  • Länkar Automation-kontot till Log Analytics-arbetsytan.
  • Lägger till exempel på Automation-runbooks i kontot.

Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

Förutsättningar

Om du inte har använt Azure Automation och Azure Monitor tidigare är det viktigt att du förstår konfigurationsinformationen. Förståelsen kan hjälpa dig att undvika fel när du försöker skapa, konfigurera och använda en Log Analytics-arbetsyta som är länkad till ditt nya Automation-konto.

  • Granska ytterligare information för att förstå konfigurationsalternativ för arbetsytor fullt ut, till exempel åtkomstkontrollläge, prisnivå, kvarhållning och kapacitetsreservationsnivå.

  • Granska arbetsytemappningar för att ange de regioner som stöds infogade eller i en parameterfil. Endast vissa regioner stöds för att länka en Log Analytics-arbetsyta och ett Automation-konto i din prenumeration.

  • Om du är nybörjare på Azure Monitor-loggar och inte redan har distribuerat en arbetsyta kan du läsa designvägledningen för arbetsytan. Det här dokumentet hjälper dig att lära dig mer om åtkomstkontroll och hjälpa dig att förstå de rekommenderade designimplementeringsstrategierna för din organisation.

Granska mallen

Mallen som används i den här artikeln kommer från Azure-snabbstartsmallar.

{
  "$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"
      }
    }
  },
  "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
        }
      }
    },
    {
      "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'))]"
      }
    }
  ]
}

De Azure-resurser som definierats i mallen:

Distribuera mallen

  1. Välj knappen Distribuera till Azure nedan om du vill logga in på Azure och öppna ARM-mallen.

    Button to deploy the Resource Manager template to Azure.

  2. Ange eller välj följande värden:

    Egenskap Beskrivning
    Prenumeration I listrutan väljer du din Azure-prenumeration.
    Resursgrupp Välj din befintliga resursgrupp i listrutan eller välj Skapa ny.
    Region Det här värdet fylls i automatiskt.
    Namn på arbetsyta Ange ett namn på den nya Log Analytics-arbetsytan.
    Sku Standardinställningen är prisnivån per GB som släpptes i prismodellen för april 2018. Om du vill skapa eller konfigurera en Log Analytics-arbetsyta i en prenumeration som har valt prismodellen april 2018 är PerGB2018den enda giltiga Log Analytics-prisnivån .
    Datakvarhållning Standardinställningen är 30 dagar.
    Location Värdet fylls i automatiskt med den plats som används för resursgruppen.
    Namn på Automation-konto Ange ett namn på det nya Automation-kontot.
    Exempelnamn på grafisk runbook Lämna som det är.
    Exempelbeskrivning för grafisk runbook Lämna som det är.
    Exempelnamn på PowerShell-runbook Lämna som det är.
    Exempelbeskrivning för PowerShell-runbook Lämna som det är.
    Exempelnamn på Python2Runbook Lämna som det är.
    Exempelbeskrivning för Python2Runbook Lämna som det är.
    _artifacts plats Lämna som det är.* URI till artefaktplats.
    _artifacts Plats Sas-token Lämna tomt. Den sasToken som krävs för att få åtkomst _artifactsLocationtill . När mallen distribueras med hjälp av tillhörande skript genereras en sasToken automatiskt.

    * När du försöker köra ARM-mallen från PowerShell, CLI eller mallfunktionen i portalen får du ett felmeddelande som liknar följande om parametern _artifactsLocation inte är korrekt inställd:

    "message": "Deployment template validation failed: 'The template resource '_artifactsLocation' at line '96' and column '31' is not valid: The language expression property 'templateLink' doesn't exist, available properties are 'template, templateHash, parameters, mode, debugSetting, provisioningState'.. Please see https://aka.ms/arm-template-expressions for usage details.'."

    Om du vill förhindra det här felet anger du följande värde för parametern - när https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/101-automation/azuredeploy.jsondu kör från funktionen Mallar i portalen_artifactsLocation.

    När du kör från PowerShell inkluderar du parametern och dess värde -TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/101-automation/azuredeploy.json.

    När du kör från Azure CLI inkluderar du parametern och dess värde – --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/101-automation/azuredeploy.json.

    Mer information om PowerShell/CLI finns i följande – Skapa Azure Automation-konto (microsoft.com) under avsnittet Använd mallen .

  3. Välj Granska och skapa och sedan Skapa. Det kan ta några minuter att slutföra distributionen. När du är klar liknar utdata följande bild:

    Example result when deployment is complete

Granska distribuerade resurser

  1. När distributionen är klar får du ett meddelande om att distributionen lyckades med länken Gå till resurs . Sidan Resursgrupp visar en lista över dina nya resurser. I listan väljer du ditt nya Automation-konto.

  2. Välj Runbooks på vänster sida under Processautomatisering.sidan Runbooks visas de tre exempel-runbooks som skapats med Automation-kontot.

    Tutorial runbooks created with Automation account

  3. Välj Länkad arbetsyta under Relaterade resurser till vänster. Sidan Länkad arbetsyta visar den Log Analytics-arbetsyta som du angav tidigare och som är länkad till ditt Automation-konto.

    Automation account linked to the Log Analytics workspace

Nästa steg

Konfigurera diagnostikinställningar för ditt Automation-konto för att skicka runbook-jobbstatus och jobbströmmar till den länkade Log Analytics-arbetsytan.