Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam mulai cepat ini, Anda membuat akun Azure Automation dan menggunakan Terraform untuk menetapkan peran "Pembaca" ke akun. Akun Automation adalah layanan berbasis cloud yang menyediakan lingkungan aman untuk menjalankan runbook, yang merupakan skrip yang mengotomatiskan proses. Akun dapat mengotomatiskan tugas yang sering, memakan waktu, dan rawan kesalahan yang dikelola di cloud. Akun Automation ini dibuat dalam grup sumber daya Azure, yang merupakan kontainer yang menyimpan sumber daya terkait untuk solusi Azure. Selain itu, peran "Pembaca" ditetapkan ke akun Automation, memberikan izin langganan untuk melihat semua sumber daya di akun Automation tetapi tidak membuat perubahan apa pun.
Terraform memungkinkan definisi, pratinjau, dan penyebaran infrastruktur cloud. Menggunakan Terraform, Anda membuat file konfigurasi menggunakan sintaksis HCL. Sintaksis HCL memungkinkan Anda menentukan penyedia cloud - seperti Azure - dan elemen yang membentuk infrastruktur cloud Anda. Setelah membuat file konfigurasi, Anda membuat rencana eksekusi yang memungkinkan Anda untuk melihat pratinjau perubahan infrastruktur Anda sebelum disebarkan. Setelah memverifikasi perubahan, Anda menerapkan rencana eksekusi untuk menyebarkan infrastruktur.
Dalam artikel ini, Anda akan mempelajari cara:
- Buat grup sumber daya Azure dengan nama unik.
- Buat string acak untuk penamaan unik sumber daya Azure.
- Buat akun Automation, dan aktifkan akses jaringan publik.
- Ambil langganan Azure saat ini.
- Ambil definisi peran untuk "Pembaca".
- Tetapkan peran "Pembaca" ke akun Automation.
- Keluarkan nama grup sumber daya yang dibuat dan akun Automation.
Prasyarat
Buat akun Azure dengan langganan aktif. Anda dapat membuat akun secara gratis. Opsi untuk akun Automation baru Anda diatur ke dalam tab di halaman Buat Akun Automation di portal Azure.
Menerapkan kode Terraform
Catatan
Kode sampel untuk artikel ini terletak di repositori GitHub Azure Terraform. Anda dapat melihat file log yang berisi hasil pengujian dari terraform versi saat ini dan sebelumnya.
Lihat artikel dan kode sampel lainnya yang memperlihatkan cara menggunakan Terraform untuk mengelola sumber daya Azure.
Buat direktori untuk menguji dan menjalankan sampel kode Terraform, dan menjadikannya direktori saat ini.
Buat file bernama
main.tf, dan sisipkan kode berikut:resource "random_pet" "rg_name" { prefix = var.resource_group_name_prefix } resource "azurerm_resource_group" "rg" { location = var.resource_group_location name = random_pet.rg_name.id } resource "random_string" "azurerm_automation_account_name" { length = 13 lower = true numeric = false special = false upper = false } resource "azurerm_automation_account" "example" { name = coalesce(var.automation_account_name, "autoacc-${random_string.azurerm_automation_account_name.result}") resource_group_name = azurerm_resource_group.rg.name location = azurerm_resource_group.rg.location sku_name = "Basic" identity { type = "SystemAssigned" } public_network_access_enabled = true } data "azurerm_subscription" "current" {} data "azurerm_role_definition" "contributor" { name = "Contributor" } resource "azurerm_role_assignment" "example" { scope = data.azurerm_subscription.current.id role_definition_name = "Contributor" principal_id = azurerm_automation_account.example.identity[0].principal_id }Buat file bernama
outputs.tf, dan sisipkan kode berikut:output "resource_group_name" { value = azurerm_resource_group.rg.name } output "automation_account_name" { value = azurerm_automation_account.example.name }Buat file bernama
providers.tf, dan sisipkan kode berikut:terraform { required_version = ">=1.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~>3.0" } random = { source = "hashicorp/random" version = "~>3.0" } } } provider "azurerm" { features {} }Buat file bernama
variables.tf, dan sisipkan kode berikut:variable "resource_group_name_prefix" { type = string default = "rg" description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription." } variable "resource_group_location" { type = string default = "eastus" description = "Location of the resource group." } variable "automation_account_name" { type = string description = "The name of the Automation Account resource. The value will be randomly generated if blank." default = "" }
Inisialisasi Terraform
Jalankan terraform init untuk menginisialisasi penyebaran Terraform. Perintah ini mengunduh penyedia Azure yang diperlukan untuk mengelola sumber daya Azure Anda.
terraform init -upgrade
Poin utama:
- Parameter
-upgrademeningkatkan plugin penyedia yang diperlukan ke versi terbaru yang sesuai dengan batasan versi konfigurasi.
Buat rencana eksekusi Terraform
Jalankan terraform plan untuk membuat rencana eksekusi.
terraform plan -out main.tfplan
Poin utama:
- Perintah
terraform planmembuat rencana eksekusi, tetapi tidak menjalankannya. Perintah ini justru menentukan tindakan yang diperlukan untuk membuat konfigurasi yang ditentukan dalam file konfigurasi Anda. Pola ini memungkinkan Anda memastikan apakah rencana eksekusi telah sesuai dengan ekspektasi Anda sebelum membuat perubahan pada sumber daya aktual. - Parameter
-outopsional memungkinkan Anda menentukan file output untuk rencana. Menggunakan parameter-outmemastikan bahwa rencana yang Anda tinjau benar-benar sesuai dengan yang diterapkan.
Terapkan rencana eksekusi Terraform
Jalankan terraform apply untuk menerapkan rencana eksekusi ke infrastruktur cloud Anda.
terraform apply main.tfplan
Poin utama:
- Contoh
terraform applyperintah mengasumsikan Anda sebelumnya menjalankanterraform plan -out main.tfplan. - Jika Anda menentukan nama file yang berbeda untuk parameter
-out, gunakan nama file yang sama dalam panggilan keterraform apply. - Jika Anda tidak menggunakan parameter
-out, panggilterraform applytanpa parameter apa pun.
Memverifikasi hasil
Dapatkan nama grup sumber daya Azure.
resource_group_name=$(terraform output -raw resource_group_name)Dapatkan nama akun Automation.
automation_account_name=$(terraform output -raw automation_account_name)Jalankan
az automation account showuntuk melihat akun Automation.az automation account show --name $automation_account_name --resource-group $resource_group_name
Membersihkan sumber daya
Ketika Anda tidak lagi membutuhkan sumber daya yang dibuat melalui Terraform, lakukan langkah-langkah berikut:
Jalankan terraform plan dan tentukan bendera
destroy.terraform plan -destroy -out main.destroy.tfplanPoin utama:
- Perintah
terraform planmembuat rencana eksekusi, tetapi tidak menjalankannya. Perintah ini justru menentukan tindakan yang diperlukan untuk membuat konfigurasi yang ditentukan dalam file konfigurasi Anda. Pola ini memungkinkan Anda memastikan apakah rencana eksekusi telah sesuai dengan ekspektasi Anda sebelum membuat perubahan pada sumber daya aktual. - Parameter
-outopsional memungkinkan Anda menentukan file output untuk rencana. Menggunakan parameter-outmemastikan bahwa rencana yang Anda tinjau benar-benar sesuai dengan yang diterapkan.
- Perintah
Jalankan terraform apply untuk menerapkan rencana eksekusi.
terraform apply main.destroy.tfplan
Memecahkan masalah Terraform pada Azure
Memecahkan masalah umum saat menggunakan Terraform di Azure.
Langkah berikutnya
Di Mulai Cepat ini, Anda telah membuat akun Automation. Jelajahi artikel tentang akun Automation untuk mempelajari lebih lanjut.
Untuk menggunakan identitas terkelola dengan akun Automation Anda, lanjutkan ke: