Share via


Creare un account Automazione di Azure usando un modello di Resource Manager

Automazione di Azure offre un servizio di automazione e configurazione basato sul cloud che supporta la gestione coerente di ambienti Azure e non Azure. Questo articolo illustra come distribuire un modello di Azure Resource Manager (modello di Resource Manager) che crea un account di Automazione. L'uso di un modello di Resource Manager richiede meno passaggi rispetto ad altri metodi di distribuzione. Il modello JSON specifica i valori predefiniti per i parametri che probabilmente verranno usati come configurazione standard nell'ambiente. È possibile archiviare il modello in un account di archiviazione di Azure per consentire l'accesso condiviso nell'organizzazione. Per altre informazioni sull'uso dei modelli, vedere Distribuire le risorse con i modelli di Resource Manager e l'interfaccia della riga di comando di Azure.

Un modello di Azure Resource Manager è un file JSON (JavaScript Object Notation) che definisce l'infrastruttura e la configurazione per il progetto. Il modello utilizza la sintassi dichiarativa. Si descrive la distribuzione prevista senza scrivere la sequenza di comandi di programmazione per creare la distribuzione.

Il modello di esempio esegue questi passaggi:

  • Automatizza la creazione di un'area di lavoro Log Analytics di Monitoraggio di Azure.
  • Automatizza la creazione di un account di Automazione di Azure.
  • Collega l'account di Automazione all'area di lavoro Log Analytics.
  • Aggiunge runbook di automazione di esempio all'account.

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

Prerequisiti

Se non si ha familiarità con Automazione di Azure e Monitoraggio di Azure, è importante comprendere i dettagli della configurazione. La comprensione consente di evitare errori quando si tenta di creare, configurare e usare un'area di lavoro Log Analytics collegata al nuovo account di Automazione.

  • Vedere altri dettagli per comprendere appieno le opzioni di configurazione dell'area di lavoro, ad esempio la modalità di controllo di accesso, il piano tariffario, la conservazione e il livello di prenotazione della capacità.

  • Vedere i mapping dell'area di lavoro per specificare le aree supportate inline o in un file di parametri. Sono supportate solo determinate aree per il collegamento di un'area di lavoro Log Analytics e un account di Automazione nella sottoscrizione.

  • Se non si ha familiarità con i log di Monitoraggio di Azure e non è già stata distribuita un'area di lavoro, vedere le linee guida per la progettazione dell'area di lavoro. Questo documento consente di ottenere informazioni sul controllo di accesso e di comprendere le strategie di implementazione di progettazione consigliate per l'organizzazione.

Rivedere il modello

Il modello usato in questo articolo proviene dai modelli di avvio rapido di Azure.

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

Le risorse di Azure definite nel modello:

Distribuire il modello

  1. Selezionare il pulsante Distribuisci in Azure sotto per accedere ad Azure e aprire il modello di Resource Manager.

    Button to deploy the Resource Manager template to Azure.

  2. Immettere o selezionare i valori seguenti:

    Proprietà Descrizione
    Subscription Selezionare la sottoscrizione di Azure nell'elenco a discesa.
    Resource group Nell'elenco a discesa selezionare il gruppo di risorse esistente oppure selezionare Crea nuovo.
    Region Questo valore verrà popolato automaticamente.
    Nome dell'area di lavoro Immettere un nome per la nuova area di lavoro di Log Analytics.
    Sku Il valore predefinito è il nuovo piano tariffario per GB rilasciato nel modello di prezzi di aprile 2018. Se si vuole creare o configurare un'area di lavoro Log Analytics in una sottoscrizione che ha acconsentito esplicitamente al modello tariffario di aprile 2018, l'unico piano tariffario di Log Analytics valido è PerGB2018.
    Conservazione dei dati Il valore predefinito è 30 giorni.
    Location Come valore verrà inserita automaticamente la località usata per il gruppo di risorse.
    Nome dell'account di Automazione Immettere un nome per il nuovo account di Automazione.
    Nome del runbook grafico di esempio Lasciare invariato.
    Descrizione del runbook grafico di esempio Lasciare invariato.
    Nome del runbook di PowerShell di esempio Lasciare invariato.
    Descrizione del runbook di PowerShell di esempio Lasciare invariato.
    Nome python2Runbook di esempio Lasciare invariato.
    Descrizione di Python2Runbook di esempio Lasciare invariato.
    posizione _artifacts Lasciare invariato.* URI per la posizione degli artefatti.
    _artifacts token di firma di accesso condiviso della posizione Lasciare vuoto. SasToken necessario per accedere _artifactsLocationa . Quando il modello viene distribuito usando gli script di accompagnamento, verrà generato automaticamente un oggetto sasToken .

    * Quando si tenta di eseguire il modello di Resource Manager da PowerShell, dall'interfaccia della riga di comando o dalla funzionalità Modelli nel portale, se il _artifactsLocation parametro non è impostato correttamente, verrà visualizzato un messaggio di errore simile al seguente:

    "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.'."

    Per evitare questo errore, quando si esegue dalla funzionalità Modelli nel portale, specificare il valore seguente per il _artifactsLocation parametro - https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/101-automation/azuredeploy.json.

    Quando si esegue da PowerShell, includere il parametro e il relativo valore -TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/101-automation/azuredeploy.json.

    Quando si esegue dall'interfaccia della riga di comando di Azure, includere il parametro e il relativo valore: --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/101-automation/azuredeploy.json.

    Per informazioni di riferimento su PowerShell/INTERFACCIA della riga di comando, vedere l'articolo seguente : Creare un account Automazione di Azure (microsoft.com) nella sezione Usare il modello.

  3. Selezionare Rivedi e crea e quindi Crea. Per il completamento della distribuzione possono essere richiesti alcuni minuti. Al termine, l'output è simile all'immagine seguente:

    Example result when deployment is complete

Esaminare le risorse distribuite

  1. Al termine della distribuzione, si riceverà una notifica Distribuzione completata con un collegamento Vai alla risorsa . La pagina Gruppo di risorse elenca le nuove risorse. Nell'elenco selezionare il nuovo account di Automazione.

  2. Dal lato sinistro, in Automazione processi selezionare Runbook. Nella pagina Runbook sono elencati i tre runbook di esempio creati con l'account di Automazione.

    Tutorial runbooks created with Automation account

  3. Dal lato sinistro, in Risorse correlate selezionare Area di lavoro collegata. La pagina Area di lavoro collegata mostra l'area di lavoro Log Analytics specificata in precedenza collegata all'account di Automazione.

    Automation account linked to the Log Analytics workspace

Passaggi successivi

Configurare le impostazioni di diagnostica per l'account di Automazione per inviare lo stato e i flussi dei processi del runbook all'area di lavoro Log Analytics collegata.