All Products
Search
Document Center

Container Registry:Buat instans Container Registry Enterprise Edition dengan Terraform

Last Updated:Jun 03, 2026

Gunakan Terraform untuk membuat instans Container Registry Enterprise Edition.

Catatan

Jalankan kode contoh ini dengan satu klik. Run sample code

Prasyarat

  • Hindari penggunaan akun root Alibaba Cloud secara langsung karena memiliki izin penuh atas semua resource dan menimbulkan risiko keamanan jika kredensial bocor. Sebagai gantinya, Create a RAM user dan Create an AccessKey pair.

  • Berikan izin AliyunContainerRegistryFullAccess kepada RAM user untuk mengelola Container Registry. Grant permissions to a RAM user.

    {
        "Version": "1",
        "Statement": [
            {
                "Action": "cr:*",
                "Resource": "*",
                "Effect": "Allow"
            },
            {
                "Action": "bss:*",
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }
  • Siapkan lingkungan runtime Terraform menggunakan salah satu metode berikut:

    Penting

    Diperlukan Terraform v0.12.28 atau versi yang lebih baru. Jalankan terraform --version untuk memverifikasi.

Buat instans dengan Terraform

Contoh ini membuat instans Container Registry Enterprise Edition.

  1. Buat direktori kerja dengan file konfigurasi bernama main.tf. File main.tf mendefinisikan resource yang akan dideploy. Tabel berikut menjelaskan parameter-parameter tersebut.

    Parameter

    Wajib

    Deskripsi

    Contoh

    payment_type

    Tidak

    Metode penagihan.

    Subscription

    period

    Tidak

    Periode langganan dalam bulan. Nilai yang valid: 1, 2, 3, 6, 12, 24, 36, 48, dan 60. Untuk langganan tahunan, gunakan kelipatan 12.

    Catatan

    Jika Anda mengatur renewal_status ke AutoRenewal, nilai ini harus lebih besar dari 0. Jika tidak, perpanjangan otomatis akan gagal.

    1

    renew_period

    Tidak

    Periode perpanjangan otomatis dalam bulan. Untuk langganan tahunan, gunakan kelipatan 12.

    1

    renewal_status

    Tidak

    Status perpanjangan otomatis. Nilai yang valid:

    • AutoRenewal: Memperpanjang instans secara otomatis.

    • ManualRenewal: Memerlukan perpanjangan manual.

    Nilai default adalah ManualRenewal.

    AutoRenewal

    instance_type

    Ya

    Jenis instans. Nilai yang valid:

    • Basic: Edisi Dasar.

    • Advanced: Edisi Lanjutan.

    Advanced

    instance_name

    Ya

    Nama instans.

    Contoh ini menggunakan variabel var.name.

    variable "region" {
      default = "cn-heyuan"
    }
    provider "alicloud" {
      region = var.region
    }
    variable "name" {
      default = "tf-example"
    }
    resource "alicloud_cr_ee_instance" "default" {
      payment_type   = "Subscription"              
      period         = 1                           
      renew_period   = 1                           
      renewal_status = "AutoRenewal"              
      instance_type  = "Advanced"                  
      instance_name  =  var.name                   
    }
  2. Inisialisasi lingkungan runtime Terraform.

    terraform init

    Output yang diharapkan jika berhasil:

    Initializing the backend...
    Initializing provider plugins...
    - Finding latest version of hashicorp/alicloud...
    - Installing hashicorp/alicloud v1.234.0...
    - Installed hashicorp/alicloud v1.234.0 (signed by HashiCorp)
    Terraform has created a lock file .terraform.lock.hcl to record the provider
    selections it made above. Include this file in your version control repository
    so that Terraform can guarantee to make the same selections by default when
    you run "terraform init" in the future.
    Terraform has been successfully initialized!
    You may now begin working with Terraform. Try running "terraform plan" to see
    any changes that are required for your infrastructure. All Terraform commands
    should now work.
    If you ever set or change modules or backend configuration for Terraform,
    rerun this command to reinitialize your working directory. If you forget, other
    commands will detect it and remind you to do so if necessary.
  3. Pratinjau perubahan dengan rencana eksekusi.

    terraform plan
  4. Buat instans Container Registry Enterprise Edition.

    terraform apply

    Saat diminta, masukkan yes dan tekan Enter. Output yang diharapkan jika berhasil:

    Rencana: 1 akan ditambahkan, 0 akan diubah, 0 akan dihapus.
    Apakah Anda ingin melakukan aksi ini?
      Terraform akan melakukan aksi yang dijelaskan di atas.
      Hanya 'yes' yang akan diterima untuk menyetujui.
      Masukkan nilai: yes
    alicloud_cr_ee_instance.default: Membuat...
    alicloud_cr_ee_instance.default: Masih membuat... [10 detik berlalu]
    alicloud_cr_ee_instance.default: Masih membuat... [20 detik berlalu]
    alicloud_cr_ee_instance.default: Masih membuat... [31 detik berlalu]
    alicloud_cr_ee_instance.default: Masih membuat... [41 detik berlalu]
    alicloud_cr_ee_instance.default: Masih membuat... [51 detik berlalu]
    alicloud_cr_ee_instance.default: Masih membuat... [1 menit 1 detik berlalu]
    alicloud_cr_ee_instance.default: Masih membuat... [1 menit 11 detik berlalu]
    alicloud_cr_ee_instance.default: Masih membuat... [1 menit 21 detik berlalu]
    alicloud_cr_ee_instance.default: Masih membuat... [1 menit 31 detik berlalu]
    alicloud_cr_ee_instance.default: Masih membuat... [1 menit 41 detik berlalu]
    alicloud_cr_ee_instance.default: Masih membuat... [1 menit 51 detik berlalu]
    alicloud_cr_ee_instance.default: Masih membuat... [2 menit 1 detik berlalu]
    alicloud_cr_ee_instance.default: Pembuatan selesai setelah 2 menit 9 detik [id=cri-4bsyebi*****]
    Penerapan selesai! Sumber Daya: 1 ditambahkan, 0 diubah, 0 dihapus.
  5. Verifikasi hasilnya.

    Perintah terraform show

    Lihat resource yang dikelola:

    terraform show
    shell@Alicloud:~/ens/rongqi$ terraform show
    # alicloud_cr_ee_instance.default:
    resource "alicloud_cr_ee_instance" "default" {
        created_time   = "2024-11-21T03:16:00Z"
        end_time       = "2024-12-21T16:00:00Z"
        id             = "xxx"
        instance_name  = "tf-example"
        instance_type  = "Advanced"
        payment_type   = "Subscription"
        period         = 1
        renew_period   = 1
        renewal_status = "AutoRenewal"
        status         = "RUNNING"
    }

    Verifikasi di Konsol

    Login ke Konsol Container Registry. Di halaman Instance List, verifikasi bahwa tf-example memiliki status Running dan spesifikasi Advanced Edition.

Pembersihan resource

Penting

Terraform tidak dapat melepas instans Container Registry berbasis langganan. Perintah terraform destroy hanya menghapus resource dari file state tetapi tidak menghentikan langganan. Batalkan langganan instans secara manual di Konsol untuk menghindari biaya tambahan.

Contoh lengkap

Catatan

Jalankan kode contoh ini dengan satu klik. Run sample code

Jelajahi contoh spesifik produk di Quickstarts. Tabel Parameter description mencantumkan semua parameter yang didukung.

Kode contoh

variable "region" {
  default = "cn-heyuan"
}
provider "alicloud" {
  region = var.region
}
variable "name" {
  default = "tf-example"
}
resource "alicloud_cr_ee_instance" "default" {
  payment_type   = "Subscription"              
  period         = 1                           
  renew_period   = 1                           
  renewal_status = "AutoRenewal"               
  instance_type  = "Advanced"                  
  instance_name  =  var.name                   
}

Referensi