Gunakan Terraform untuk membuat instans Container Registry Enterprise Edition.
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:
-
Terraform Explorer: Lingkungan online gratis untuk menjalankan perintah Terraform. Ideal untuk debugging cepat dan uji coba.
-
Quickly create resources with Terraform: Terraform telah dipra-instal di Cloud Shell dengan kredensial identitas yang telah dikonfigurasi sebelumnya.
-
Install and configure Terraform on your local machine: Pilihan terbaik jika kondisi jaringan buruk atau Anda membutuhkan lingkungan pengembangan kustom.
PentingDiperlukan Terraform v0.12.28 atau versi yang lebih baru. Jalankan
terraform --versionuntuk memverifikasi. -
Buat instans dengan Terraform
Contoh ini membuat instans Container Registry Enterprise Edition.
-
Buat direktori kerja dengan file konfigurasi bernama
main.tf. Filemain.tfmendefinisikan 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.
CatatanJika Anda mengatur
renewal_statuskeAutoRenewal, 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 } -
-
Inisialisasi lingkungan runtime
Terraform.terraform initOutput 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. -
Pratinjau perubahan dengan rencana eksekusi.
terraform plan -
Buat instans Container Registry Enterprise Edition.
terraform applySaat diminta, masukkan
yesdan 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. -
Verifikasi hasilnya.
Perintah terraform show
Lihat resource yang dikelola:
terraform showshell@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
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
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
Referensi
-
Resource Terraform untuk membuat instans Container Registry Enterprise Edition: alicloud_cr_ee_instance.