Membuat akun Azure Automation menggunakan templat Resource Manager

Azure Automation menghadirkan layanan otomatisasi dan konfigurasi berbasis cloud yang mendukung manajemen yang konsisten di seluruh lingkungan Azure dan non-Azure Anda. Artikel ini memperlihatkan cara menyebarkan template Azure Resource Manager (template ARM) yang membuat akun Automation. Menggunakan template ARM membutuhkan lebih sedikit langkah dibandingkan dengan metode penyebaran lainnya. Templat JSON menentukan nilai default untuk parameter lain yang kemungkinan akan digunakan sebagai konfigurasi standar di lingkungan Anda. Atau, Anda dapat menyimpannya di akun penyimpanan Azure untuk akses bersama di organisasi Anda. Untuk informasi selengkapnya tentang bekerja dengan templat, lihat Menyebarkan sumber daya dengan templat ARM dan Azure CLI.

Templat Azure Resource Manager adalah file JavaScript Object Notation (JSON) yang menentukan infrastruktur dan konfigurasi untuk proyek Anda. Template tersebut menggunakan sintaksis deklaratif. Anda menjelaskan penyebaran yang Dimaksudkan tanpa menulis urutan perintah pemrograman untuk membuat penyebaran.

Templat sampel tersebut dapat:

  • Mengotomatiskan pembuatan ruang kerja Analitik Log Azure Monitor.
  • Mengotomatiskan pembuatan akun Azure Automation.
  • Tautkan akun Automation ke ruang kerja Analitik Log.
  • Tambahkan contoh runbook Automation ke akun.

Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.

Prasyarat

Jika Anda baru menggunakan Azure Automation dan Azure Monitor, penting bagi Anda untuk memahami detail konfigurasi berikut. Detail tersebut dapat membantu Anda menghindari kesalahan saat mencoba membuat, mengonfigurasi, dan menggunakan ruang kerja Analitik Log yang ditautkan ke akun Automation baru Anda.

  • Tinjau detail tambahan untuk sepenuhnya memahami opsi konfigurasi ruang kerja, seperti mode kontrol akses, tingkat harga, penyimpanan, dan tingkat reservasi kapasitas.

  • Tinjau pemetaan ruang kerja untuk menentukan bidang yang didukung sebaris atau dalam file parameter. Hanya wilayah tertentu yang didukung untuk menautkan ruang kerja Analitik Log dan akun Automation di langganan Anda.

  • Jika Anda baru menggunakan log Azure Monitor dan belum menyebarkan ruang kerja, tinjau panduan desain ruang kerja. Dokumen ini akan membantu Anda mempelajari tentang kontrol akses, dan memahami strategi implementasi desain yang disarankan untuk organisasi Anda.

Meninjau templat

Templat yang digunakan dalam artikel ini berasal dari Templat Azure Quickstart.

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

Sumber daya Azure yang ditentukan dalam templat:

Menyebarkan templat

  1. Pilih tombol Sebarkan ke Azure di bawah ini untuk masuk ke Azure dan membuka templat ARM.

    Button to deploy the Resource Manager template to Azure.

  2. Masukkan atau pilih nilai berikut:

    Properti Deskripsi
    Langganan Dari daftar drop-down, pilih langganan Azure Anda.
    Grup sumber daya Dari daftar dorp-down, pilih grup sumber daya yang sudah ada, atau pilih Buat baru.
    Wilayah Nilai ini akan autopopulate.
    Nama ruang kerja Masukkan nama untuk Ruang Kerja Analitik Log baru Anda.
    SKU Default ke tingkat harga per GB yang dirilis dalam model harga April 2018. Jika Anda ingin membuat atau mengonfigurasi ruang kerja Analitik Log dalam langganan yang telah memilih model harga April 2018, satu-satunya tingkat harga Analitik Log yang valid adalah PerGB2018.
    Retensi data Default ke 30 hari.
    Lokasi Nilai akan diisi otomatis dengan lokasi yang digunakan untuk grup sumber daya.
    Nama Automation Account Masukkan nama untuk akun Automation baru Anda.
    Sampel nama runbook grafis Biarkan apa adanya.
    Sampel deskripsi runbook grafis Biarkan apa adanya.
    Sampel nama runbook PowerShell Biarkan apa adanya.
    Sampel deskripsi runbook PowerShell Biarkan apa adanya.
    Sampel nama Python2Runbook Biarkan apa adanya.
    Sampel deskripsi Python2Runbook Biarkan apa adanya.
    Lokasi _artifacts Biarkan seperti halnya.* URI ke lokasi artefak.
    Token Sas Lokasi_artifacts Biarkan kosong. SasToken diperlukan untuk mengakses _artifactsLocation. Ketika templat disebarkan menggunakan skrip yang menyertainya, sasToken akan dibuat secara otomatis.

    * Saat Anda mencoba menjalankan templat ARM dari PowerShell, CLI, atau fitur Template di portal, jika _artifactsLocation parameter tidak diatur dengan benar, Anda akan menerima pesan kesalahan yang mirip dengan berikut ini:

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

    Untuk mencegah hal ini, saat berjalan dari fitur Templat di portal, tentukan nilai berikut untuk _artifactsLocation parameter - https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/101-automation/azuredeploy.json.

    Saat Anda menjalankan dari PowerShell, sertakan parameter dan -TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/101-automation/azuredeploy.json nilainya.

    Saat Anda menjalankan dari Azure CLI, sertakan parameter dan --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/101-automation/azuredeploy.json nilainya.

    Untuk referensi tentang PowerShell/CLI, lihat yang berikut - Buat akun Azure Automation (microsoft.com) di bawah bagian Gunakan templat.

  3. Pilih Tinjau ulang + Buat, lalu pilih Buat. Diperlukan beberapa menit untuk menyelesaikan penyebaran. Setelah selesai, outputnya mirip dengan gambar berikut:

    Example result when deployment is complete

Meninjau sumber daya yang disebarkan

  1. Setelah kluster dibuat, Anda akan menerima pemberitahuan Penyebaran berhasil dengan tautan Masuk ke sumber daya. Halaman Grup sumber daya Anda akan mencantumkan sumber daya baru Anda. Dari daftar, pilih akun Automation baru Anda.

  2. Dari sisi kiri, di bawah Automasi Proses, pilih Runbook. Halaman Runbook mencantumkan tiga runbook sampel yang dibuat dengan akun Automation.

    Tutorial runbooks created with Automation account

  3. Dari sisi kiri, di bawah Sumber Daya Terkait, pilih Ruang kerja tertaut. Halaman Ruang kerja tertaut memperlihatkan ruang kerja Analitik Log yang Anda tentukan sebelumnya yang ditautkan ke akun Automation Anda.

    Automation account linked to the Log Analytics workspace

Langkah berikutnya

Mengonfigurasi pengaturan diagnostik agar akun Automation Anda mengirim status pekerjaan runbook dan aliran pekerjaan ke ruang kerja Analitik Log yang ditautkan.