Partage via


Création d’un compte Automation à l’aide d’un modèle Resource Manager

Azure Automation fournit un service de configuration et d’automatisation basé sur le cloud qui prend en charge la gestion cohérente dans vos environnements Azure et non-Azure. Cet article vous montre comment déployer un modèle Azure Resource Manager (modèle ARM) qui crée un compte Automation. L’utilisation d’un modèle ARM comprend moins d’étapes que les autres méthodes de déploiement. Le modèle JSON spécifie une valeur par défaut pour les paramètres susceptibles d’être utilisés comme configuration standard dans votre environnement. Vous pouvez stocker le modèle dans un compte de stockage Azure pour mettre en place un accès partagé dans votre organisation. Pour plus d’informations sur l’utilisation des modèles, consultez Déployer des ressources à l’aide de modèles ARM et d’Azure CLI.

Un modèle Azure Resource Manager est un fichier JSON (JavaScript Object Notation) qui définit l’infrastructure et la configuration de votre projet. Le modèle utilise la syntaxe déclarative. Vous décrivez le déploiement que vous avez prévu sans écrire la séquence de commandes de programmation pour créer le déploiement.

Ce modèle échantillon effectue les actions suivantes :

  • Automatise la création d’un espace de travail Azure Monitor Log Analytics.
  • Automatise la création d’un compte Azure Automation.
  • Lie le compte Automation à l’espace de travail Log Analytics.
  • Ajoute des exemples de runbooks Automation au compte.

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

Prérequis

Si vous ne connaissez pas encore Azure Automation et Azure vous devez bien comprendre les détails de configuration. Ils peuvent vous aider à éviter des erreurs quand vous essayez de créer, de configurer et d’utiliser un espace de travail Log Analytics lié à votre nouveau compte Automation.

  • Examinez les détails supplémentaires pour comprendre pleinement les options de configuration de l’espace de travail, telles que le mode de contrôle d’accès, le niveau tarifaire, la conservation des données et le niveau de réservation de capacité.

  • Passez en revue les mappages d’espace de travail pour spécifier les régions prises en charge incluses ou figurant dans un fichier de paramètres. Seules certaines régions sont prises en charge pour la liaison d’un espace de travail Log Analytics et d’un compte Automation dans votre abonnement.

  • Si vous ne connaissez pas les journaux Azure Monitor et n’avez pas encore déployé un espace de travail, consultez les conseils pour la conception de l’espace de travail. Ce document vous aidera à vous familiariser avec le contrôle d’accès et à comprendre les stratégies d’implémentation de conception recommandées pour votre organisation.

Vérifier le modèle

Le modèle utilisé dans cet article provient des Modèles de démarrage rapide 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'))]"
      }
    }
  ]
}

Ressources Azure définies dans le modèle :

Déployer le modèle

  1. Sélectionnez le bouton Déployer sur Azure ci-dessous pour vous connecter à Azure et ouvrir le modèle Resource Manager.

    Bouton pour déployer le modèle Resource Manager sur Azure.

  2. Entrez ou sélectionnez les valeurs suivantes :

    Propriété Description
    Abonnement Sélectionnez votre abonnement Azure dans la liste déroulante.
    Resource group Dans la liste déroulante, sélectionnez votre groupe de ressources existant ou Créer.
    Région Cette valeur sera renseignée.
    Nom de l’espace de travail Entrez un nom pour votre nouvel espace de travail Log Analytics.
    Sku La valeur par défaut du niveau de tarification par Go publié dans le modèle de tarification d’avril 2018. Si vous voulez créer ou configurer un espace de travail Log Analytics dans un abonnement pour lequel le modèle de tarification d’avril 2018 a été choisi, le seul niveau tarifaire Log Analytics valide est PerGB2018.
    Conservation des données La valeur par défaut est 30 jours.
    Emplacement La valeur est renseignée automatiquement à l’aide de l’emplacement utilisé pour le groupe de ressources.
    Nom du compte Automation Entrez un nom pour votre nouveau compte Automation.
    Nom de l’exemple de runbook graphique Laissez la valeur actuelle.
    Description de l’exemple de runbook graphique Laissez la valeur actuelle.
    Nom de l’exemple de runbook PowerShell Laissez la valeur actuelle.
    Description de l’exemple de runbook PowerShell Laissez la valeur actuelle.
    Nom de l’exemple de Python2Runbook Laissez la valeur actuelle.
    Description de l’exemple de Python2Runbook Laissez la valeur actuelle.
    _Emplacement des artefacts Laissez tel quel. * URI vers l’emplacement des artefacts.
    Jeton SAS de l’emplacement des artefacts Laisser vide. SasToken requis pour accéder à _artifactsLocation. Lorsque le modèle est déployé à l’aide des scripts fournis, un sasToken est généré automatiquement.

    *Lorsque vous tentez d’exécuter le modèle ARM à partir de PowerShell, de l’interface CLI ou de la fonction Modèles du portail, si le paramètre _artifactsLocation n’est pas correctement défini, vous recevez un message d’erreur similaire au suivant :

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

    Pour éviter cette erreur,, lors de l’exécution à partir de la fonction Modèles du portail, indiquez ce qui suit pour le _artifactsLocationparamètre - https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/101-automation/azuredeploy.json.

    Quand vous exécutez à partir de PowerShell, incluez le paramètre et sa valeur -TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/101-automation/azuredeploy.json.

    Quand vous exécutez à partir d’Azure CLI, incluez le paramètre et sa valeur --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/101-automation/azuredeploy.json.

    Pour des références sur PowerShell/CLI, consultez Créer un compte Azure Automation (microsoft.com) sous la section Utiliser le modèle.

  3. Sélectionnez Vérifier + créer, puis Créer. Le déploiement peut prendre plusieurs minutes. Une fois l’opération terminée, le résultat ressemble à l’image suivante :

    Exemple de résultat lorsque le déploiement est achevé

Vérifier les ressources déployées

  1. Une fois le déploiement achevé, vous recevez une notification Déploiement réussi avec un lien Accéder à la ressource. La page de votre groupe de ressources affiche vos nouvelles ressources. Dans la liste, sélectionnez votre nouveau compte Automation.

  2. À gauche, sous Automatisation de processus, sélectionnez Runbooks. Dans la page Runbooks, trois exemples de runbooks créés avec le compte Automation sont répertoriés.

    Runbooks de tutoriel créés avec le compte Automation

  3. À gauche, sous Ressources associées, sélectionnez Espace de travail lié. La page Espace de travail lié affiche l’espace de travail Log Analytics que vous avez spécifié précédemment, lié à votre compte Automation.

    Compte Automation lié à l’espace de travail Log Analytics

Étapes suivantes

Configurez des paramètres de diagnostic pour votre compte Automation, afin d’envoyer l’état de la tâche du Runbook et les flux de tâches à l’espace de travail Log Analytics lié.