All Products
Search
Document Center

Terraform:Buat sumber daya dengan Terraform

Last Updated:Jun 25, 2026

Terraform adalah alat open source infrastructure as code (IaC) yang memungkinkan Anda mengelola siklus hidup lengkap sumber daya Alibaba Cloud melalui file konfigurasi deklaratif. Topik ini menjelaskan cara memulai penggunaan Terraform—baik melalui antarmuka visual maupun command line—untuk membuat sumber daya Alibaba Cloud pertama Anda.

Pilih metode

Terraform menyediakan dua metode: visual dan command-line. Pilih metode yang sesuai dengan kebutuhan Anda.

Metode

Skenario

Keunggulan

Batasan

Terraform Explorer

Penggunaan pertama kali, belum familiar dengan parameter, debugging cepat

Konfigurasikan sumber daya menggunakan formulir grafis. Tidak perlu coding.

Hanya mendukung operasi sumber daya tunggal.

Terraform CLI

Evaluasi cepat, lingkungan produksi, orkestrasi kompleks

Mendukung orkestrasi multi-sumber daya dan manajemen state.

Memerlukan lingkungan CLI.

Jika Anda memilih metode CLI, siapkan lingkungan Anda menggunakan Cloud Shell atau instalasi lokal.

Gunakan Terraform Explorer

Terraform Explorer adalah alat debugging online Alibaba Cloud yang dibangun di atas Terraform. Alat ini menghasilkan file konfigurasi Terraform dari formulir dan menjalankannya secara online. Untuk informasi lebih lanjut, lihat Ikhtisar Explorer.

Bagian ini menggunakan pembuatan Virtual Private Cloud (VPC) sebagai contoh, mencakup dua cara menggunakan Terraform Explorer: parameter kustom dan templat sampel.

Buat sumber daya menggunakan parameter kustom

Untuk mengonfigurasi parameter sesuai kebutuhan Anda, ikuti langkah-langkah berikut:

  1. Login ke Terraform Explorer. Pilih Product dan Resource Type. Isi parameter menggunakan Resource Documentation, lalu klik Initiate.

    Parameter utama untuk membuat VPC tercantum di bawah ini. Untuk detail parameter lebih lanjut, lihat alicloud_vpc.

    Nama Parameter

    Deskripsi

    Nilai contoh

    vpc_name

    Nama VPC

    tf-test-vpc

    cidr_block

    Blok CIDR privat untuk VPC

    192.168.0.0/16

    description

    Deskripsi VPC

    VPC ini dibuat menggunakan Terraform.

  2. Pada tab Template Details, pastikan parameter sudah benar, lalu klik Plan untuk melihat rencana eksekusi.

    terraform {
      required_providers {
        alicloud = {
          source = "aliyun/alicloud"
          version = "1.231.0"
        }
      }
    }
    provider "alicloud" {
      region  = "cn-beijing"
    }
    resource "alicloud_vpc" "default" {
      cidr_block  = "192.168.0.0/16"
      description = "The VPC was created using Terraform."
      vpc_name    = "tf-test-vpc"
    }
  3. Pada tab Details, tinjau informasi tentang sumber daya yang akan dibuat, lalu klik Execute.

    Hasil pratinjau menampilkan status Success dan pesan Plan: 1 to add, 0 to change, 0 to destroy. Ini menunjukkan bahwa sumber daya alicloud_vpc.default akan dibuat. cidr_block adalah 192.168.0.0/16, dan description adalah The VPC was created using Terraform.. Terraform menghasilkan atribut lain setelah eksekusi.

  4. Pada tab Execution Details, lihat hasilnya. Eksekusi yang berhasil menampilkan pesan "Apply complete! Resources: 1 added, 0 changed, 0 destroyed." Jika eksekusi gagal, modifikasi parameter berdasarkan pesan error dan coba lagi.

  5. Pada tab Resource Details, lihat informasi tentang sumber daya yang telah dibuat.

    Alamat sumber daya adalah alicloud_vpc.default. Halaman ini menampilkan berbagai atribut VPC, termasuk:

    • cidr_block: 192.168.0.0/16

    • name: tf-test-vpc

    • description: The VPC was created using Terraform.

    • create_time: Waktu saat VPC dibuat.

    • Konfigurasi jaringan seperti classic_link_enabled dan enable_ipv6.

    • Informasi sumber daya terkait seperti resource_group_id, route_table_id, dan router_id.

  6. (Opsional) Modifikasi sumber daya: Sesuaikan parameter dan klik Plan & Apply, lalu ulangi langkah 2 hingga 4. Pembaruan yang berhasil menampilkan pesan "Apply complete! Resources: 0 added, 1 changed, 0 destroyed.".

  7. (Opsional) Hapus sumber daya: Pada tab Execution Details, klik Destroy Resources. Kemudian, pada tab Details, klik Execute.

    Saat operasi selesai, tab Execution Details menampilkan status Success dengan pesan Apply complete! Resources: 0 added, 0 changed, 1 destroyed, yang mengonfirmasi bahwa satu sumber daya VPC telah dihapus.

Buat sumber daya menggunakan templat sampel

Jika Anda belum familiar dengan parameter sumber daya atau ingin memulai dengan cepat, gunakan templat sampel dari Terraform Explorer.

  1. Login ke Terraform Explorer. Pilih Product, Resource Type, dan Sample Template yang sesuai, lalu klik Initiate. Anda dapat melihat detail templat pada tab Sample Template di sebelah kanan.

    Di area Input Parameters di sebelah kiri, Anda dapat melihat dan memodifikasi parameter yang diperlukan oleh templat. Misalnya, Anda dapat mengatur parameter name menjadi terraform-example. Anda juga dapat mengklik Add Parameter untuk menambahkan lebih banyak parameter.

  2. Pada tab Template Details, klik Plan & Apply.

    Templat sampel ini dalam format Terraform. Templat ini mendefinisikan sumber daya alicloud_vpc dengan parameter seperti ipv6_isp diatur ke BGP, cidr_block diatur ke 10.0.0.0/8, dan enable_ipv6 diatur ke true.

  3. Pada tab Execution Details, Anda dapat melihat hasil eksekusi.

  4. (Opsional) Untuk menghapus sumber daya yang telah dibuat, klik Destroy Resources pada tab Execution Details. Kemudian, pada tab Details, klik Execute.

Catatan

Anda juga dapat melakukan operasi seperti Continue dan Destroy Resources dari Call History.

Gunakan Terraform CLI

Untuk menggunakan Terraform dari command line, siapkan lingkungan CLI, buat file konfigurasi, dan jalankan perintah untuk membuat sumber daya. Pilih salah satu metode berikut untuk menyiapkan lingkungan Terraform CLI Anda:

  • Cloud Shell (direkomendasikan): Tidak perlu instalasi. Ideal untuk evaluasi cepat dan pembelajaran.

  • Instalasi lokal: Terbaik untuk lingkungan produksi, integrasi berkelanjutan, dan penggunaan jangka panjang.

Cloud Shell

Alibaba Cloud Cloud Shell adalah alat operasi dan pemeliharaan gratis yang telah dilengkapi Terraform yang dipra-instal dan dikonfigurasi dengan kredensial identitas. Anda dapat langsung menjalankan perintah Terraform.

Login ke Cloud Shell

Buka browser Anda dan kunjungi Cloud Shell. Untuk informasi lebih lanjut, lihat Gunakan Cloud Shell.

Catatan

Login sebagai Pengguna RAM. Untuk menjaga keamanan Akun Alibaba Cloud Anda, hindari menggunakan Akun Alibaba Cloud Anda untuk mengakses sumber daya cloud kecuali benar-benar diperlukan.

Ganti versi Terraform

Versi Terraform default di Cloud Shell mungkin sudah usang. Ganti ke versi 1.2 atau yang lebih baru untuk memastikan semua fitur berfungsi dengan benar.

  1. Periksa versi Terraform Anda saat ini:

    terraform version
    shell@Alicloud:~$ terraform version
    Terraform v0.12.31
    Your version of Terraform is out of date! The latest version
    is 1.12.2. You can update by downloading from https://www.terraform.io/downloads.html
  2. Daftar versi Terraform yang tersedia di Cloud Shell:

    tfenv list
    shell@Alicloud:~$ tfenv list
      1.9.5
      1.5.7
      1.3.7
      0.13.7
    * 0.12.31 (set by /usr/local/tfenv/version)
  3. Ganti ke versi tertentu (misalnya, 1.9.5):

    tfenv use 1.9.5
    shell@Alicloud:~$ tfenv use 1.9.5
    Switching default version to v1.9.5
    Switching completed

Instalasi lokal

Terbaik untuk lingkungan produksi dan orkestrasi kompleks. Instal Terraform dan konfigurasikan kredensial identitas terlebih dahulu.

Instal menggunakan package manager (direkomendasikan)

macOS

Instal menggunakan Homebrew:

# Tambahkan tap HashiCorp untuk menentukan lokasi paket di Homebrew
brew tap hashicorp/tap
# Instal Terraform
brew install hashicorp/tap/terraform

Perbarui ke versi terbaru:

# Perbarui Homebrew
brew update
# Tingkatkan Terraform
brew upgrade hashicorp/tap/terraform

Windows

Instal menggunakan Chocolatey:

choco install terraform

Linux

Sebagai contoh, menggunakan package manager yum:

yum install -y dnf-plugin-releasever-adapter
yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
yum install terraform

Instalasi manual

Jika package manager tidak tersedia, instal secara manual.

Gunakan binary yang telah dikompilasi

  1. Unduh file ZIP untuk sistem operasi Anda dari website Terraform. Ekstrak arsip tersebut.

  2. Pindahkan file biner terraform ke direktori dalam PATH sistem Anda:

    • macOS atau Linux

      mv ~/Downloads/terraform /usr/local/bin/
    • Windows

      1. Buka Control Panel > System > System Settings > Environment Variables.

      2. Di System Variables, temukan PATH dan klik Edit.

      3. Tambahkan path ke direktori Terraform Anda. Pisahkan dari entri lain dengan titik koma (misalnya, c:\path;c:\path2).

      4. Buka jendela command-line baru agar perubahan berlaku.

Kompilasi dari sumber

Anda harus terlebih dahulu menginstal lingkungan pengembangan Go.

  1. Klon repositori sumber Terraform:

    git clone https://github.com/hashicorp/terraform.git
  2. Masuk ke direktori tersebut, lalu kompilasi dan instal perangkat lunaknya.

    cd terraform
    go install

    Setelah kompilasi, biner ditempatkan di direktori $GOPATH/bin/.

  3. Pastikan $GOPATH/bin ditambahkan ke PATH sistem Anda. Gunakan langkah yang sama seperti pada bagian Gunakan binary yang telah dikompilasi, langkah 2.

Verifikasi instalasi

Jalankan perintah ini untuk memastikan Terraform telah terinstal dengan benar:

terraform version

Jika perintah berhasil dijalankan dan menampilkan nomor versi, instalasi telah selesai.

Contoh: Buat instance ECS

Contoh ini membuat instance ECS untuk menunjukkan alur kerja orkestrasi Terraform lengkap: buat VPC → buat vSwitch → buat security group → buat instance ECS.

  1. Buat direktori kerja dan tulis file konfigurasi Terraform main.tf:

    mkdir tf-demo && cd tf-demo
    vim main.tf

    Salin kode berikut ke dalam main.tf:

    provider "alicloud" {
      region = var.region
    }
    # Wilayah untuk pembuatan sumber daya
    variable "region" {
      default = "cn-beijing"
    }
    # Nama instance ECS
    variable "instance_name" {
      default = "tf-cloudshell-test"
    }
    # Tipe instans ECS
    variable "instance_type" {
      default = "ecs.n2.small"
    }
    # Bandwidth publik keluar. Nilai 0 berarti tidak ada akses jaringan publik.
    variable "internet_bandwidth" {
      default = 10
    }
    # Citra OS ECS
    variable "image_id" {
      default = "ubuntu_18_04_64_20G_alibase_20190624.vhd"
    }
    # Jenis disk sistem ECS
    variable "disk_category" {
      default = "cloud_efficiency"
    }
    # Kata sandi logon instance ECS
    variable "password" {
      default = "TF-test@1234"
    }
    # Buat VPC
    resource "alicloud_vpc" "vpc" {
      vpc_name   = "tf_test_foo"
      cidr_block = "172.16.0.0/12"
    }
    # Kueri zona ketersediaan berdasarkan tipe instans dan kategori disk
    data "alicloud_zones" "default" {
      available_disk_category     = var.disk_category
      available_resource_creation = "VSwitch"
      available_instance_type     = var.instance_type
    }
    # Buat vSwitch
    resource "alicloud_vswitch" "vsw" {
      vpc_id     = alicloud_vpc.vpc.id
      cidr_block = "172.16.0.0/21"
      zone_id    = data.alicloud_zones.default.zones.0.id
    }
    # Buat security group
    resource "alicloud_security_group" "default" {
      security_group_name   = "default"
      vpc_id = alicloud_vpc.vpc.id
    }
    # Buat aturan grup keamanan masuk
    resource "alicloud_security_group_rule" "allow_all_tcp" {
      type              = "ingress"
      ip_protocol       = "tcp"
      nic_type          = "intranet"
      policy            = "accept"
      port_range        = "1/65535"
      priority          = 1
      security_group_id = alicloud_security_group.default.id
      cidr_ip           = "0.0.0.0/0"
    }
    resource "alicloud_instance" "instance" {
      # Lampirkan security group
      security_groups = alicloud_security_group.default.*.id
      instance_type = var.instance_type
      system_disk_category = var.disk_category
      image_id = var.image_id
      instance_name = var.instance_name
      # Tentukan vSwitch
      vswitch_id = alicloud_vswitch.vsw.id
      internet_max_bandwidth_out = var.internet_bandwidth
      password  = var.password
    }
    Penting

    Aturan grup keamanan dalam contoh ini membuka semua port TCP (1–65535) dan mengizinkan traffic dari alamat IP apa pun (0.0.0.0/0). Gunakan ini hanya di lingkungan pengujian. Di lingkungan produksi, batasi port dan alamat IP sumber sesuai kebutuhan.

  2. Inisialisasi direktori kerja Terraform:

    terraform init
  3. Pratinjau rencana eksekusi untuk memastikan sumber daya mana yang akan dibuat:

    terraform plan
    shell@Alicloud:~/tf-demo$ terraform plan
    data.alicloud_zones.default: Reading...
    data.alicloud_zones.default: Read complete after 1s [id=1373912221]
    Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
      + create
    Terraform will perform the following actions:
      # alicloud_instance.instance will be created
      + resource "alicloud_instance" "instance" {
          + availability_zone                  = (known after apply)
          + cpu                                = (known after apply)
          + create_time                        = (known after apply)
          + credit_specification               = (known after apply)
          + deployment_set_group_no            = (known after apply)
          + description                        = (known after apply)
          + dry_run                            = false
          + enable_jumbo_frame                 = (known after apply)
          + expired_time                       = (known after apply)
          + host_name                          = (known after apply)
          + http_endpoint                      = (known after apply)
          + http_put_response_hop_limit        = (known after apply)
          + http_tokens                        = (known after apply)
          + id                                 = (known after apply)
          + image_id                           = "ubuntu_18_04_64_20G_alibase_20190624.vhd"
          + instance_charge_type               = (known after apply)
          + instance_name                      = "tf-cloudshell-test"
          + instance_type                      = "ecs.n2.small"
          + internet_charge_type               = (known after apply)
          + internet_max_bandwidth_in          = (known after apply)
          + internet_max_bandwidth_out         = 10
          + io_optimized                       = (known after apply)
          + ipv6_address_count                 = (known after apply)
          + ipv6_addresses                     = (known after apply)
          + key_name                           = (known after apply)
          + maintenance_action                 = (known after apply)
          + memory                             = (known after apply)
          + network_interface_id               = (known after apply)
          + network_interface_traffic_mode     = (known after apply)
          + os_name                            = (known after apply)
          + os_type                            = (known after apply)
          + password                           = (sensitive value)
          + period                             = (known after apply)
          + primary_ip_address                 = (known after apply)
  4. Buat sumber daya tersebut. Output "Apply complete!" berarti berhasil:

    terraform apply
    Apply complete! Resources: 5 added, 0 changed, 0 destroyed.
  5. Untuk melepaskan sumber daya ini, jalankan:

    terraform destroy

Referensi