Criar uma conta de Automação do Azure usando um modelo do Gerenciador de Recursos
A Automação do Azure fornece um serviço de automação e configuração baseado em nuvem que dá suporte ao gerenciamento consistente em seus ambientes Azure e não Azure. Este artigo mostra como implantar um modelo do Azure Resource Manager (modelo ARM) que cria uma conta de automação. Usar um modelo ARM leva menos etapas em comparação com outros métodos de implantação. O modelo JSON especifica valores padrão para parâmetros que provavelmente seriam usados como uma configuração padrão em seu ambiente. Você pode armazenar o modelo em uma conta de armazenamento do Azure para acesso compartilhado em sua organização. Para obter mais informações sobre como trabalhar com modelos, consulte Implantar recursos com modelos ARM e a CLI do Azure.
Um modelo do Azure Resource Manager é um arquivo JSON (JavaScript Object Notation) que define a infraestrutura e a configuração do seu projeto. O modelo utiliza sintaxe declarativa. Você descreve a implantação pretendida sem escrever a sequência de comandos de programação para criar a implantação.
O modelo de exemplo efetua os seguintes passos:
- Automatiza a criação de uma área de trabalho do Log Analytics do Azure Monitor.
- Automatiza a criação de uma conta de Automatização do Azure.
- Associa a conta de Automatização à área de trabalho do Log Analytics.
- Adiciona runbooks de Automatização de exemplo à conta.
Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
Pré-requisitos
Se você é novo na Automação do Azure e no Azure Monitor, é importante entender os detalhes de configuração. O entendimento pode ajudá-lo a evitar erros ao tentar criar, configurar e usar um espaço de trabalho do Log Analytics vinculado à sua nova conta de automação.
Analise os detalhes adicionais para entender completamente as opções de configuração do espaço de trabalho, como modo de controle de acesso, nível de preço, retenção e nível de reserva de capacidade.
Revise os mapeamentos de espaço de trabalho para especificar as regiões suportadas em linha ou em um arquivo de parâmetro. Apenas determinadas regiões são suportadas para vincular um espaço de trabalho do Log Analytics e uma conta de automação em sua assinatura.
Se você é novo no Azure Monitor Logs e ainda não implantou um espaço de trabalho, revise as diretrizes de design do espaço de trabalho. Este documento irá ajudá-lo a aprender sobre controle de acesso e ajudá-lo a entender as estratégias de implementação de design recomendadas para sua organização.
Rever o modelo
O modelo usado neste artigo é de Modelos de Início Rápido do 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'))]"
}
}
]
}
Os recursos do Azure definidos no modelo:
- Microsoft.OperationalInsights/workspaces: cria um espaço de trabalho do Azure Log Analytics.
- Microsoft.Automation/automationAccounts: cria uma conta de Automação do Azure.
- Microsoft.Automation/automationAccounts/runbooks: cria um runbook de conta da Automação do Azure.
Implementar o modelo
Selecione o botão Implementar no Azure, abaixo, para iniciar sessão no Azure e abrir o modelo do ARM.
Introduza ou selecione os seguintes valores:
Propriedade Descrição Subscrição Na lista pendente, selecione a sua subscrição do Azure. Grupo de recursos Na lista pendente, selecione o grupo de recursos existente ou selecione Criar novo. Região Este valor é preenchido automaticamente. Nome da área de trabalho Introduza um nome para a sua nova Área de Trabalho do Log Analytics. Sku É predefinida para o escalão de preço por GB lançado no modelo de preços de abril de 2018. Se você quiser criar ou configurar um espaço de trabalho do Log Analytics em uma assinatura que tenha optado pelo modelo de preços de abril de 2018, a única camada de preço válida do Log Analytics é PerGB2018
.Retenção de dados A predefinição é de 30 dias. Localização O valor será preenchido automaticamente com a localização utilizada para o grupo de recursos. Nome da Conta de Automatização Introduza um nome para a conta de Automatização nova. Nome do runbook gráfico de exemplo Deixe como está. Descrição do runbook gráfico de exemplo Deixe como está. Nome do runbook do PowerShell de exemplo Deixe como está. Descrição do runbook do PowerShell de exemplo Deixe como está. Nome do Python2Runbook de exemplo Deixe como está. Descrição do Python2Runbook de exemplo Deixe como está. Localização _artifacts Deixe como está.* URI para localização de artefatos. _artifacts Localização Sas Token Deixe em branco. O sasToken necessário para acessar _artifactsLocation
o . Quando o modelo é implantado usando os scripts que o acompanham, umsasToken
será gerado automaticamente.* Quando você tenta executar o modelo ARM do PowerShell, CLI ou o recurso Modelos no portal, se o
_artifactsLocation
parâmetro não estiver definido corretamente, você receberá uma mensagem de erro semelhante à seguinte:"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.'."
Para evitar esse erro, ao executar a partir do recurso Modelos no portal, especifique o seguinte valor para o
_artifactsLocation
parâmetro -https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/101-automation/azuredeploy.json
.Quando executa a partir do PowerShell, inclua o parâmetro e o respetivo valor
-TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/101-automation/azuredeploy.json
.Quando executa a partir da CLI do Azure, inclua o parâmetro e o respetivo valor -
--template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/101-automation/azuredeploy.json
.Para obter referência sobre o PowerShell/CLI, consulte o seguinte - Criar conta de Automação do Azure (microsoft.com) na seção Usar o modelo .
Selecione Rever + Criar e, em seguida, clique em Criar. A implementação pode demorar alguns minutos a concluir. Quando concluída, a saída é semelhante à seguinte imagem:
Rever os recursos implementados
Quando a implantação for concluída, você receberá uma notificação de Implantação bem-sucedida com um link Ir para o recurso . A página do grupo de recursos listará os novos recursos. Na lista, selecione sua nova conta de automação.
No lado esquerdo, em Automação de processos, selecione Runbooks. A página Runbooks lista os três runbooks de exemplo criados com a conta de automação.
No lado esquerdo, em Recursos Relacionados, selecione Espaço de trabalho vinculado. A página Espaço de trabalho vinculado mostra o espaço de trabalho do Log Analytics especificado anteriormente que está vinculado à sua conta de automação.
Próximos passos
Configure as configurações de diagnóstico para sua conta de automação para enviar o status do trabalho runbook e fluxos de trabalho para o espaço de trabalho vinculado do Log Analytics.