Todos os produtos
Search
Central de documentação

Container Registry:Criar uma instância do Container Registry Enterprise Edition com Terraform

Última atualização: Jul 03, 2026

Use o Terraform para criar uma instância do Container Registry Enterprise Edition.

Nota

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:

    Importante

    É necessário ter o Terraform v0.12.28 ou superior. Execute terraform --version para verificar.

Criar uma instância com o Terraform

Este exemplo cria uma instância do Container Registry Enterprise Edition.

  1. Crie um diretório de trabalho com um arquivo de configuração chamado main.tf. O arquivo main.tf define 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.

    Nota

    Se você definir renewal_status como AutoRenewal, 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                   
    }
  2. Inicialize o ambiente de execução do Terraform.

    terraform init

    Saí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.
  3. Visualize as alterações com um plano de execução.

    terraform plan
  4. Crie a instância do Container Registry Enterprise Edition.

    terraform apply

    Quando solicitado, insira yes e 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.
  5. Verifique os resultados.

    Comando show do Terraform

    Visualize os recursos gerenciados:

    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"
    }

    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

Importante

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

Nota

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

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                   
}

Referências

  • Recurso do Terraform para criar uma instância do Container Registry Enterprise Edition: alicloud_cr_ee_instance.