Topik ini menjelaskan cara membuat instans Container Registry Enterprise Edition menggunakan Terraform.
Anda dapat menjalankan kode contoh dalam topik ini hanya dengan satu klik. Jalankan kode contoh
Prasyarat
Akun Alibaba Cloud, juga dikenal sebagai akun root, memiliki izin penuh atas semua resource. Menggunakan akun root secara langsung menimbulkan risiko keamanan jika kredensialnya bocor. Sebagai gantinya, gunakan RAM user dan buat Pasangan Kunci Akses untuk pengguna tersebut. Untuk informasi lebih lanjut, lihat Buat RAM user dan Buat Pasangan Kunci Akses.
Berikan izin
AliyunContainerRegistryFullAccesskepada RAM user untuk mengelola Container Registry. Untuk informasi lebih lanjut tentang cara memberikan izin kepada RAM user, lihat Berikan izin kepada RAM user.{ "Version": "1", "Statement": [ { "Action": "cr:*", "Resource": "*", "Effect": "Allow" }, { "Action": "bss:*", "Resource": "*", "Effect": "Allow" } ] }Persiapkan lingkungan runtime Terraform. Anda dapat menggunakan Terraform dengan salah satu cara berikut:
Gunakan Terraform di Terraform Explorer: Alibaba Cloud menyediakan Terraform Explorer, yaitu lingkungan online tempat Anda dapat menjalankan perintah Terraform. Metode ini cocok untuk debugging cepat dan mencoba Terraform tanpa biaya.
Buat resource dengan cepat menggunakan Terraform: Terraform telah dipra-instal di Cloud Shell dan kredensial identitas dikonfigurasi secara otomatis. Anda dapat langsung menjalankan perintah Terraform di Cloud Shell. Metode ini cocok untuk mengakses dan menggunakan Terraform dengan cepat, nyaman, dan berbiaya rendah.
Instal dan konfigurasi Terraform di mesin lokal Anda: Metode ini cocok untuk kasus penggunaan dengan koneksi jaringan yang buruk atau yang memerlukan lingkungan pengembangan kustom.
PentingPastikan versi Terraform Anda adalah v0.12.28 atau yang lebih baru. Untuk memeriksa versi saat ini, jalankan perintah
terraform --version.
Prosedur
Contoh ini membuat instans Container Registry Enterprise Edition.
Di direktori kerja baru, buat file konfigurasi bernama
main.tf. File ini mendefinisikan resource yang akan dideploy. Tabel berikut menjelaskan parameter-parameter tersebut.Parameter
Wajib
Deskripsi
Contoh
payment_type
Tidak
Metode penagihan untuk instans Container Registry Enterprise Edition.
Subscription
period
Tidak
Durasi langganan, dalam bulan. Nilai yang valid: 1, 2, 3, 6, 12, 24, 36, 48, dan 60. Untuk langganan tahunan, tentukan kelipatan 12.
CatatanJika Anda mengatur
renewal_statuskeAutoRenewal, nilai ini harus lebih besar dari 0. Jika tidak, perpanjangan otomatis gagal.1
renew_period
Tidak
Periode perpanjangan otomatis dalam bulan. Untuk langganan tahunan, tentukan kelipatan 12.
1
renewal_status
Tidak
Status perpanjangan. Nilai yang valid:
AutoRenewal: perpanjangan otomatis.
ManualRenewal: perpanjangan manual.
Nilai default adalah
ManualRenewal.AutoRenewal
instance_type
Ya
Jenis instans Container Registry Enterprise Edition. Nilai yang valid:
Basic: Edisi Dasar.
Advanced: Edisi Lanjutan.
Advanced
instance_name
Ya
Nama instans Container Registry Enterprise Edition.
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 }Jalankan perintah berikut untuk melakukan inisialisasi lingkungan runtime
Terraform.terraform initOutput berikut menunjukkan bahwa inisialisasi 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.Buat rencana eksekusi untuk melihat pratinjau perubahan.
terraform planTerapkan konfigurasi untuk membuat instans:
terraform applySaat diminta, masukkan
yesdan tekan Enter. Output berikut menunjukkan bahwa instans telah dibuat.Plan: 1 to add, 0 to change, 0 to destroy. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value: yes alicloud_cr_ee_instance.default: Creating... alicloud_cr_ee_instance.default: Still creating... [10s elapsed] alicloud_cr_ee_instance.default: Still creating... [20s elapsed] alicloud_cr_ee_instance.default: Still creating... [31s elapsed] alicloud_cr_ee_instance.default: Still creating... [41s elapsed] alicloud_cr_ee_instance.default: Still creating... [51s elapsed] alicloud_cr_ee_instance.default: Still creating... [1m1s elapsed] alicloud_cr_ee_instance.default: Still creating... [1m11s elapsed] alicloud_cr_ee_instance.default: Still creating... [1m21s elapsed] alicloud_cr_ee_instance.default: Still creating... [1m31s elapsed] alicloud_cr_ee_instance.default: Still creating... [1m41s elapsed] alicloud_cr_ee_instance.default: Still creating... [1m51s elapsed] alicloud_cr_ee_instance.default: Still creating... [2m1s elapsed] alicloud_cr_ee_instance.default: Creation complete after 2m9s [id=cri-4bsyebi*****] Apply complete! Resources: 1 added, 0 changed, 0 destroyed.Verifikasi hasilnya.
Terraform show
Jalankan perintah berikut untuk melihat detail resource yang dikelola oleh Terraform:
terraform show
Konsol registri kontainer
Setelah instans dibuat, login ke Konsol Container Registry untuk melihat instans baru.

Pembersihan resource
Terraform tidak dapat melepas instans berbasis langganan. Menjalankan terraform destroy hanya menghapus resource dari file state. Anda harus melepas instans tersebut secara manual di Konsol.
Contoh lengkap
Anda dapat menjalankan kode contoh dalam topik ini hanya dengan satu klik. Jalankan kode contoh
Untuk contoh yang lebih lengkap, kunjungi folder khusus produk di Quickstarts. Untuk detail parameter, lihat Deskripsi parameter.
Kode contoh
Referensi
Resource Terraform untuk membuat instans Container Registry Enterprise Edition: alicloud_cr_ee_instance.