All Products
Search
Document Center

:Perintah umum

Last Updated:Jun 29, 2025

Terraform adalah alat klien yang digunakan untuk mengelola sumber daya IT. Anda dapat menggunakan perintah di Terraform untuk mengelola semua sumber daya. Topik ini menjelaskan perintah umum yang digunakan untuk manajemen sumber daya dan manajemen status.

Perintah umum untuk manajemen sumber daya

Manajemen sumber daya di Terraform melibatkan pengelolaan siklus hidup sumber daya. Anda dapat menjalankan perintah untuk membuat, memodifikasi, melihat, dan menghapus sumber daya yang didefinisikan dalam Template Terraform.

  • terraform plan: meninjau sumber daya

    Perintah plan digunakan untuk meninjau sumber daya yang didefinisikan dalam template. Perintah ini berlaku untuk skenario berikut:

    • Memeriksa apakah sumber daya yang didefinisikan dalam template saat ini sesuai dengan harapan manajemen Anda. Ini mirip dengan pratinjau Markdown.

    • Jika file status yang sesuai ada di template saat ini, perintah plan menampilkan hasil perbedaan antara definisi dalam template dan file status. Jika terdapat perubahan, hasilnya akan ditampilkan.

    • Untuk sumber data, Anda dapat menjalankan perintah plan untuk mendapatkan dan menampilkan sumber daya yang ingin Anda kueri beserta propertinya.

  • terraform apply: membuat dan memodifikasi sumber daya

    Perintah apply digunakan untuk membuat atau memodifikasi sumber daya aktual. Untuk keamanan, interaksi manual ditambahkan selama eksekusi perintah. Anda harus secara manual mengonfirmasi apakah akan melanjutkan perintah. Anda juga dapat menambahkan parameter --auto-approve untuk melewati proses konfirmasi manual.

    Perintah apply berlaku untuk skenario berikut:

    • Membuat sumber daya baru.

    • Memodifikasi properti sumber daya dengan mengubah parameter dalam template.

    • Jika Anda menghapus definisi sumber daya dari template saat ini, perintah apply akan sepenuhnya menghapus sumber daya tersebut. Menghapus sumber daya juga merupakan salah satu jenis modifikasi.

  • terraform show: menampilkan sumber daya

    Perintah show digunakan untuk menampilkan semua sumber daya yang dikelola beserta nilai propertinya dalam status saat ini.

  • terraform destroy: melepaskan sumber daya

    Perintah destroy digunakan untuk melepaskan sumber daya. Untuk keamanan, interaksi manual ditambahkan selama eksekusi perintah. Anda harus secara manual mengonfirmasi apakah akan melanjutkan perintah. Anda juga dapat menambahkan parameter --force untuk melewati proses konfirmasi manual.

    Secara default, perintah terraform destroy melepaskan semua sumber daya yang didefinisikan dalam template saat ini. Jika Anda hanya ingin melepaskan sumber daya tertentu, Anda dapat menambahkan parameter -target=<Tipe Sumber Daya>.<Nama Sumber Daya>.

  • terraform import: mengimpor sumber daya

    Perintah import digunakan untuk mengimpor sumber daya cloud yang sudah ada ke dalam state Terraform dan kemudian menambahkannya ke sistem manajemen Terraform. Perintah ini berlaku untuk skenario berikut:

    • Konsol Web, Alibaba Cloud CLI, ROS, atau API telah digunakan sebelumnya untuk membuat dan mengelola sumber daya yang ada. Sekarang Anda ingin beralih ke Terraform.

    • Membangun kembali definisi sumber daya dalam template tanpa memengaruhi penggunaan sumber daya.

    • Penyedia Alibaba Cloud akan mendukung lebih banyak parameter untuk sumber daya yang didefinisikan dalam template asli setelah peningkatan kompatibilitas. Anda harus menyinkronkan parameter terbaru.

    Catatan

    Untuk informasi lebih lanjut tentang cara menggunakan perintah import untuk mengelola sumber daya yang ada, lihat Solusi untuk masalah manajemen dengan sumber daya cloud yang ada.

  • terraform taint: menandai sumber daya sebagai tercemar

    Perintah taint digunakan untuk menandai sumber daya sebagai tercemar. Saat Anda menjalankan perintah apply nanti, sumber daya yang tercemar akan dilepaskan terlebih dahulu dan kemudian dibuat ulang. Ini setara dengan menghapus sumber daya sebelum membuat yang baru.

    Format lengkap perintah ini adalah terraform taint <Tipe Sumber Daya>.<Nama Sumber Daya>.

    $ terraform taint alicloud_vswitch.this
    Resource instance alicloud_vswitch.this has been marked as tainted.
  • terraform untaint: membatalkan penandaan tercemar

    Perintah untaint adalah kebalikan dari perintah taint dan digunakan untuk membatalkan penandaan tercemar. Format lengkap perintah ini mirip dengan perintah taint: terraform untaint <Tipe Sumber Daya>.<Nama Sumber Daya>.

    $ terraform untaint alicloud_vswitch.this
    Resource instance alicloud_vswitch.this has been successfully untainted.
  • terraform output: mencetak parameter dan nilainya

    Jika parameter output didefinisikan dalam template, nilai output akan ditampilkan setelah Anda menjalankan perintah apply, tetapi tidak saat Anda menjalankan perintah plan. Untuk melihat nilai output kapan saja, Anda dapat menjalankan perintah terraform output.

    $ terraform output
    vswitchId = vsw-gw8gl31wz********

Perintah umum untuk manajemen status

Manajemen status di Terraform melibatkan pengelolaan data dalam file status. File status menyimpan semua sumber daya dan propertinya yang dikelola oleh Terraform. Data disimpan secara otomatis oleh Terraform. Untuk memastikan integritas data, kami sarankan Anda tidak memodifikasi data dalam file status secara manual. Anda dapat menggunakan perintah terraform state untuk mengelola data dalam file status.

  • terraform state list: menampilkan semua sumber daya dalam file status saat ini

    Perintah state list digunakan untuk menampilkan semua sumber daya (termasuk sumber data) dalam file status saat ini dalam format <Tipe Sumber Daya>.<Nama Sumber Daya>.

    $ terraform state list
    data.alicloud_slbs.default
    alicloud_vpc.default
    alicloud_vswitch.this
  • terraform state show: menampilkan properti suatu sumber daya

    Perintah state show digunakan untuk menampilkan semua properti dan nilainya dari sumber daya tertentu dalam format key-value. Format lengkap perintah ini adalah terraform state show <Tipe Sumber Daya>.<Nama Sumber Daya>.

    $ terraform state show alicloud_vswitch.this
    # alicloud_vswitch.this:
    resource "alicloud_vswitch" "this" {
        availability_zone = "eu-central-1a"
     cidr_block        = "172.16.0.0/24"
     id                = "vsw-gw8gl31wz******"
     vpc_id            = "vpc-gw8calnzt*******"
    }
  • terraform state pull: mendapatkan dan menampilkan data dalam file status saat ini

    Perintah state pull digunakan untuk menampilkan data status saat ini dan memiliki fungsi serupa dengan perintah cat di Cloud Shell.

    $ terraform state pull
    {
        "version": 4,
        "terraform_version": "0.12.8",
        "serial": 615,
        "lineage": "39aeeee2-b3bd-8130-c897-2cb8595cf8ec",
        "outputs": {
         ***
     }
     },
    "resources": [
     {
            "mode": "data",
            "type": "alicloud_slbs",
            "name": "default",
            "provider": "provider.alicloud",
         ***
     },
     {
            "mode": "managed",
            "type": "alicloud_vpc",
            "name": "default",
            "provider": "provider.alicloud",
         ***
     }
     ]
    }
  • terraform state rm: menghapus sumber daya tertentu

    Perintah state rm digunakan untuk menghapus sumber daya dari file status. Sumber daya tidak dihapus. Format lengkap perintah ini adalah terraform state rm <Tipe Sumber Daya>.<Nama Sumber Daya>.

    $ terraform state rm alicloud_vswitch.this
    Removed alicloud_vswitch.this
    Successfully removed 1 resource instance(s).

    Jika konten template tetap tidak berubah setelah sumber daya dihapus dari file status, Anda dapat menjalankan perintah apply untuk menambahkan sumber daya yang sama. Anda juga dapat menjalankan perintah import untuk menambahkan kembali sumber daya yang dihapus ke file status.

  • terraform state mv: mengubah jalur penyimpanan sumber daya tertentu

    Perintah state mv digunakan untuk mengubah file status tempat sumber daya berada. Perintah ini mirip dengan perintah mv di Cloud Shell. Anda dapat menambahkan beberapa parameter dalam perintah ini. Jalankan perintah terraform state mv --help untuk menampilkan detail tentang parameter. Format yang paling sering digunakan adalah terraform state mv --state=./terraform.tfstate --state-out=<jalur target>/terraform-target.tfstate <Tipe Sumber Daya>.<Nama Sumber Daya A> <Tipe Sumber Daya>.<Nama Sumber Daya B>.

    $ terraform state mv --state-out=../tf.tfstate alicloud_vswitch.this alicloud_vswitch.default
    Move "alicloud_vswitch.this" to "alicloud_vswitch.default"
    Successfully moved 1 object(s)

    Untuk contoh ini, parameter --state=./terraform.tfstate dihilangkan. Hasil dari contoh ini: Sumber daya vSwitch dipindahkan dari file status saat ini ke file status tf.tfstate di direktori lapisan atas dan nama sumber daya vSwitch diubah dari "this" menjadi "default".

  • terraform refresh: menyegarkan file status saat ini

    Perintah refresh digunakan untuk menyegarkan file status saat ini. Perintah ini memanggil API lagi dan menarik serta menulis data terbaru ke file status.

Perintah umum lainnya

Beberapa perintah lainnya biasa digunakan untuk template dan penyedia.

  • terraform init: menginisialisasi file konfigurasi Terraform

    Perintah init digunakan untuk menginisialisasi file konfigurasi Terraform, seperti file konfigurasi untuk penyedia yang dimuat, provisioner, dan modul.

  • terraform graph: menghasilkan grafik relasional sumber daya yang didefinisikan dalam template saat ini

    Sumber daya yang didefinisikan dalam template saling terkait. Perintah terraform graph digunakan untuk menghasilkan grafik relasional sumber daya yang didefinisikan dalam template saat ini.

    $ terraform graph
    digraph {
     compound = "true"
     newrank = "true"
     subgraph "root" {
     "[root] alicloud_vpc.default" [label = "alicloud_vpc.default", shape = "box"]
     "[root] alicloud_vswitch.this" [label = "alicloud_vswitch.this", shape = "box"]
                    ******
     "[root] output.vswitchId" -> "[root] alicloud_vswitch.this"
     "[root] provider.alicloud (close)" -> "[root] alicloud_vswitch.this"
    ******
     "[root] root" -> "[root] provider.alicloud (close)"
     }
    }                 

    Anda dapat menjalankan perintah terraform graph | dot -Tsvg > graph.svg untuk langsung mengekspor keluaran perintah ini ke gambar. Untuk melakukannya, Anda harus menjalankan perintah brew install graphviz untuk menginstal Graphviz terlebih dahulu.graph_img

  • terraform validate: memeriksa apakah sintaks template benar

    Template Terraform harus mengikuti serangkaian spesifikasi sintaks sederhana yang didefinisikan di Terraform. Jika Anda ingin memeriksa apakah template memiliki kesalahan sintaks atau jika kesalahan sintaks dilaporkan saat Anda menjalankan perintah plan atau apply, Anda dapat menjalankan perintah terraform validate untuk memeriksa dan menemukan lokasi serta penyebab kesalahan.