全部产品
Search
文档中心

Terraform:Shell Awan

更新时间:Oct 22, 2025

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

Masuk ke Shell Awan

Buka browser Anda dan masukkan atau https://shell.alibabacloud.com/ di bilah alamat untuk mengakses Shell Awan. Untuk informasi lebih lanjut tentang akses dan penggunaan Shell Awan, lihat Gunakan Shell Awan.

Catatan

Disarankan untuk masuk sebagai Pengguna RAM. Untuk memastikan keamanan Akun Alibaba Cloud Anda, hindari menggunakan Akun Alibaba Cloud utama untuk mengakses sumber daya cloud kecuali diperlukan.

Ganti versi Terraform

Versi Terraform default di Shell Awan mungkin sudah usang, sehingga beberapa fitur mungkin tidak berfungsi dengan baik. Kami menyarankan untuk beralih ke versi yang lebih baru.

  1. Periksa versi Terraform saat ini. Jika versinya lebih lama dari 1.2, disarankan untuk beralih ke versi yang lebih baru.

    terraform version

    image

  2. Lihat versi Terraform bawaan di Shell Awan:

    tfenv list

    image

  3. Beralih ke versi Terraform tertentu:

    tfenv use <terraform_version>

    Sebagai contoh, untuk beralih ke versi 1.9.5:

    image

Kompilasi Templat Terraform

Topik ini menggunakan pembuatan Instance ECS dengan Terraform sebagai contoh untuk membantu Anda memahami cara Terraform mengoordinasikan sumber daya dan cara menggunakan perintah Terraform untuk membuat serta menghapus sumber daya.

  1. Buat file templat Terraform bernama main.tf dan edit langsung menggunakan perintah vim.

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

    Salin kode contoh Terraform berikut ke file 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 Instance 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 yang tersedia 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 grup keamanan
    resource "alicloud_security_group" "default" {
      security_group_name   = "default"
      vpc_id = alicloud_vpc.vpc.id
    }
    
    # Buat aturan masuk untuk grup keamanan
    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 grup keamanan
      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
      # vSwitch
      vswitch_id = alicloud_vswitch.vsw.id
      internet_max_bandwidth_out = var.internet_bandwidth
      password  = var.password
    }
  2. Jalankan perintah terraform init untuk menginisialisasi konfigurasi.

  3. Jalankan perintah terraform plan untuk melihat pratinjau konfigurasi.image

  4. Jalankan perintah terraform apply untuk membuat Instance ECS. Jika hasil eksekusi mengembalikan "Apply complete!", sumber daya telah berhasil dibuat.image.png

  5. Jika Anda tidak lagi membutuhkan instans ini, jalankan perintah terraform destroy untuk melepaskan sumber daya yang telah dibuat.