Une fois un site connecté à ESA, vous devez ajouter un enregistrement DNS afin d'enregistrer le nom de domaine auprès d'ESA. Cette étape garantit la résolution et l'accès au nom de domaine accéléré. Cette rubrique explique comment utiliser Terraform pour ajouter un enregistrement DNS.
Ressources
Ressource pour l'achat d'un plan : alicloud_esa_rate_plan_instance
Ressource pour l'ajout d'un site : alicloud_esa_site
Ressource pour l'ajout d'un enregistrement DNS : alicloud_esa_record
Notes
-
Les types de plans disponibles diffèrent selon qu'il s'agit d'un compte Alibaba Cloud China Website ou Alibaba Cloud International Website.
-
Plans disponibles pour les comptes Alibaba Cloud China Website :
Édition gratuite :
entranceplanÉdition Basic :
basicÉdition Standard :
mediumÉdition Premium :
high
-
Plans disponibles pour les comptes Alibaba Cloud International Website :
Entrance :
entranceplan_intlPro :
basicplan_intlPremium :
vipplan_intl
-
La création d'un plan Enterprise via Terraform n'est pas prise en charge actuellement. Pour souscrire un plan Enterprise, contactez-nous.
Lors de la création d'un site avec Terraform, il est possible de l'associer à l'ID d'instance d'un plan Enterprise Edition existant.
-
Pour créer un plan avec Terraform, configurez le provider Terraform en fonction du type de votre compte : Alibaba Cloud China Website ou Alibaba Cloud International Website.
-
Méthode 1 : Définissez le paramètre
region.Alibaba Cloud China Website :
cn-hangzhouAlibaba Cloud International Website :
ap-southeast-1
-
Méthode 2 : Définissez le paramètre
account_type.Alibaba Cloud China Website :
DomesticAlibaba Cloud International Website :
International
-
Rédiger les fichiers de configuration
Créez un répertoire de travail. Dans ce répertoire, créez les fichiers de configuration décrits dans les sections suivantes. Ajustez les paramètres du code selon vos besoins.
Définir le provider et la version de Terraform
Commencez par créer un fichier de configuration nommé providers.tf. Copiez le code suivant dans ce fichier pour gérer toutes les configurations du provider ainsi que les contraintes de version.
terraform {
required_providers {
alicloud = {
source = "aliyun/alicloud"
version = "1.266.0" # TF versions are updated regularly. Check the official TF website for the latest version.
}
}
}
provider "alicloud" {
region = "ap-southeast-1"
}
Définir les variables de ressources
Afin de rendre votre code plus réutilisable, déclarez des variables d'entrée et locales. Créez un fichier de configuration nommé variables.tf et copiez-y le code suivant.
# 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"
}
Définir les ressources
Enfin, créez un fichier de configuration nommé main.tf et copiez-y le code suivant. Ce fichier contient les déclarations principales des ressources.
# 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
}
Créer les ressources
-
Accédez au répertoire contenant vos fichiers de configuration et exécutez la commande suivante pour initialiser l'environnement Terraform.
terraform init -
Exécutez la commande suivante pour valider la syntaxe et la configuration Terraform.
terraform validate -
Exécutez la commande suivante pour prévisualiser le plan d'exécution.
terraform plan -
Exécutez la commande suivante pour appliquer la configuration.
terraform apply À l'invite, saisissez
yespour confirmer et appliquer les modifications.
Vérifier les résultats
Consulter le plan
Connectez-vous à la console ESA et accédez à la page Plan Management.
-
Le nouveau plan apparaît sur la page Plan Management, comme illustré dans la figure suivante.

Consulter le site
Dans la console ESA, choisissez Websites. Le nouveau site s'affiche, comme illustré dans la figure suivante.

Consulter l'enregistrement DNS
Dans la console ESA, choisissez Websites, puis cliquez sur le site cible dans la colonne Websites.
-
Dans le volet de navigation, choisissez . Le nouvel enregistrement DNS s'affiche, comme illustré dans la figure suivante.

(Facultatif) Nettoyer les ressources
Si ces ressources ne vous sont plus utiles, exécutez la commande terraform destroy.
terraform destroy