Após conectar um site ao ESA, adicione um registro DNS para registrar o nome de domínio no ESA. Isso garante a resolução e o acesso ao nome de domínio acelerado. Este tópico descreve como usar o Terraform para adicionar um registro DNS.
Recursos
Recurso para compra de plano: alicloud_esa_rate_plan_instance
Recurso para adicionar site: alicloud_esa_site
Recurso para adicionar registro DNS: alicloud_esa_record
Observações
-
Os tipos de plano disponíveis variam entre contas do Alibaba Cloud China Website e do Alibaba Cloud International Website.
-
Planos disponíveis para contas do Alibaba Cloud China Website:
Free Edition:
entranceplanBasic Edition:
basicStandard Edition:
mediumPremium Edition:
high
-
Planos disponíveis para contas do Alibaba Cloud International Website:
Entrance:
entranceplan_intlPro:
basicplan_intlPremium:
vipplan_intl
-
Atualmente, não é possível criar um plano Enterprise com o Terraform. Para adquirir um plano Enterprise, entre em contato conosco.
Ao criar um site com o Terraform, associe-o ao ID da instância de um plano Enterprise Edition existente.
-
Ao criar um plano com o Terraform, configure o provedor do Terraform conforme o tipo da sua conta: Alibaba Cloud China Website ou Alibaba Cloud International Website.
-
Método 1: Defina o parâmetro
region.Alibaba Cloud China Website:
cn-hangzhouAlibaba Cloud International Website:
ap-southeast-1
-
Método 2: Defina o parâmetro
account_type.Alibaba Cloud China Website:
DomesticAlibaba Cloud International Website:
International
-
Escreva os arquivos de configuração
Crie um diretório de trabalho. Nele, crie os arquivos de configuração conforme descrito nas seções a seguir. Ajuste as configurações do código conforme necessário.
Defina o provedor e a versão do Terraform
Primeiro, crie um arquivo de configuração chamado providers.tf. Copie o código a seguir para o arquivo a fim de gerenciar todas as configurações do provedor e restrições de versão.
terraform {
required_providers {
alicloud = {
source = "aliyun/alicloud"
version = "1.266.0"
}
}
}
provider "alicloud" {
region = "ap-southeast-1"
}
Defina as variáveis de recurso
Para tornar o código mais reutilizável, declare variáveis de entrada e locais. Crie um arquivo de configuração chamado variables.tf e copie o código a seguir para ele.
# The access type for the site. Valid values: CNAME and NS.
variable "site_type" {
default = "NS"
}
# The billing method. The only valid value is Subscription.
variable "payment_type" {
default = "Subscription"
}
# The service coverage. Valid values:
# domestic (Chinese mainland), overseas (Global, excluding Chinese mainland), global (Global).
variable "coverage_name" {
default = "overseas"
}
# Enable auto-renewal.
variable "auto_pay" {
default = "true"
}
# The plan name. Valid values:
# entranceplan_intl (Entrance), basicplan_intl (Pro), vipplan_intl (Premium)
variable "plan_name" {
default = "entranceplan_intl"
}
# The site name. Replace this with your domain name.
variable "site_name" {
default = "aliyundoc.com"
}
# The domain name of your origin.
variable "record_value" {
default = "www.example.com"
}
# The origin port.
variable "record_port" {
default = "80"
}
# The DNS record name, which is the accelerated domain name.
variable "record_name" {
default = "_udp._sip.aliyundoc.com"
}
# The DNS record type.
variable "record_type" {
default = "SRV"
}
Defina os recursos
Por fim, crie um arquivo de configuração chamado main.tf e copie o código a seguir para ele. Esse arquivo contém as principais declarações de recursos.
# Create a plan
resource "alicloud_esa_rate_plan_instance" "my_plan" {
type = var.site_type
auto_renew = "false"
period = "1"
payment_type = var.payment_type
coverage = var.coverage_name
auto_pay = var.auto_pay
plan_name = var.plan_name
}
# Create a site
resource "alicloud_esa_site" "my_site" {
site_name = var.site_name
instance_id = alicloud_esa_rate_plan_instance.my_plan.id
coverage = var.coverage_name
access_type = var.site_type
}
# Add a DNS record
resource "alicloud_esa_record" "my_record" {
data {
value = var.record_value
weight = "1"
priority = "1"
port = var.record_port
}
ttl = "100"
record_name = var.record_name
comment = "This is a remark"
site_id = alicloud_esa_site.my_site.id
record_type = var.record_type
}
Crie os recursos
-
Acesse o diretório que contém os arquivos de configuração e execute o comando a seguir para inicializar o ambiente do Terraform.
terraform init -
Execute o comando a seguir para validar a sintaxe e a configuração do Terraform.
terraform validate -
Execute o comando a seguir para visualizar o plano de execução.
terraform plan -
Execute o comando a seguir para aplicar a configuração.
terraform apply Quando solicitado, insira
yespara confirmar e aplicar as alterações.
Verifique os resultados
Visualize o plano
Faça login no console do ESA e acesse a página Plan Management.
-
Na página Plan Management, o novo plano aparece, conforme mostra a figura a seguir.

Visualize o site
No console do ESA, escolha Websites. O novo site aparece, conforme mostra a figura a seguir.

Visualize o registro DNS
No console do ESA, escolha Websites e, na coluna Websites, clique em site desejado.
-
No painel de navegação, escolha . O novo registro DNS aparece, conforme mostra a figura a seguir.

(Opcional) Limpe os recursos
Quando esses recursos não forem mais necessários, execute o comando terraform destroy.
terraform destroy