Use o Terraform para criar uma instância do Container Registry Enterprise Edition.
Execute este código de exemplo com um único clique em. Executar código de exemplo
Pré-requisitos
-
Evite usar a conta raiz da Alibaba Cloud diretamente, pois ela tem permissões totais sobre os recursos e apresenta riscos de segurança em caso de vazamento de credenciais. Em vez disso, Crie um usuário RAM e Crie um par de AccessKey.
-
Conceda a permissão AliyunContainerRegistryFullAccess ao usuário RAM para gerenciar o Container Registry. Conceder permissões a um usuário RAM.
{ "Version": "1", "Statement": [ { "Action": "cr:*", "Resource": "*", "Effect": "Allow" }, { "Action": "bss:*", "Resource": "*", "Effect": "Allow" } ] } -
Configure um ambiente de execução do Terraform usando um dos métodos a seguir:
Terraform Explorer: Ambiente online gratuito para executar comandos do Terraform. Ideal para testes rápidos e depuração.
Criar recursos rapidamente com o Terraform: O Terraform vem pré-instalado no Cloud Shell com credenciais de identidade predefinidas.
Instalar e configurar o Terraform na máquina local: Recomendado para condições de rede instáveis ou ambientes de desenvolvimento personalizados.
ImportanteÉ necessário ter o Terraform v0.12.28 ou superior. Execute
terraform --versionpara verificar.
Criar uma instância com o Terraform
Este exemplo cria uma instância do Container Registry Enterprise Edition.
-
Crie um diretório de trabalho com um arquivo de configuração chamado
main.tf. O arquivomain.tfdefine os recursos a implantar. A tabela a seguir descreve os parâmetros.Parâmetro
Obrigatório
Descrição
Exemplo
payment_type
Não
Método de faturamento.
Subscription
period
Não
Período de assinatura em meses. Valores válidos: 1, 2, 3, 6, 12, 24, 36, 48 e 60. Para assinaturas anuais, use um múltiplo de 12.
NotaSe você definir
renewal_statuscomoAutoRenewal, este valor deve ser maior que 0. Caso contrário, a renovação automática falhará.1
renew_period
Não
Período de renovação automática em meses. Para assinaturas anuais, use um múltiplo de 12.
1
renewal_status
Não
Status da renovação automática. Valores válidos:
-
AutoRenewal: Renova a instância automaticamente.
-
ManualRenewal: Exige renovação manual.
O padrão é
ManualRenewal.AutoRenewal
instance_type
Sim
Tipo da instância. Valores válidos:
-
Basic: Edição Basic.
-
Advanced: Edição Advanced.
Advanced
instance_name
Sim
Nome da instância.
Este exemplo usa a variável
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 } -
-
Inicialize o ambiente de execução do
Terraform.terraform initSaída esperada em caso de sucesso:
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. -
Visualize as alterações com um plano de execução.
terraform plan -
Crie a instância do Container Registry Enterprise Edition.
terraform applyQuando solicitado, insira
yese pressione Enter. Saída esperada em caso de sucesso: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. -
Verifique os resultados.
Comando show do Terraform
Visualize os recursos gerenciados:
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" }Verificar no console
Faça login no console do Container Registry. Na página Instance List, verifique se tf-example apresenta o status Running e a especificação Advanced Edition.
Limpeza de recursos
O Terraform não libera instâncias do Container Registry baseadas em assinatura. O comando terraform destroy remove o recurso do arquivo de estado, mas não cancela a assinatura. Cancele manualmente a assinatura da instância no console para evitar cobranças adicionais.
Exemplo completo
Execute este código de exemplo com um único clique em. Executar código de exemplo
Consulte exemplos específicos do produto em Quickstarts. A tabela de Descrição de parâmetros lista todos os parâmetros compatíveis.
Código de exemplo
Referências
Recurso do Terraform para criar uma instância do Container Registry Enterprise Edition: alicloud_cr_ee_instance.