Setelah menghubungkan situs ke ESA, Anda perlu menambahkan nama domain yang dikelola ke ESA dengan menambahkan rekaman DNS. Hal ini memastikan bahwa nama domain yang dipercepat dapat diurai dan diakses secara normal. Topik ini menjelaskan cara menambahkan rekaman DNS menggunakan Terraform.
Sumber daya yang terlibat
Sumber daya paket langganan: alicloud_esa_rate_plan_instance
Sumber daya penambahan situs: alicloud_esa_site
Sumber daya penambahan rekaman DNS: alicloud_esa_record
Catatan
Jenis paket yang dapat dibuat oleh akun Alibaba Cloud China Website dan akun Alibaba Cloud International Website berbeda.
Nama paket yang didukung oleh Alibaba Cloud China Website:
Free Edition:
entranceplanBasic Edition:
basicStandard Edition:
mediumPremium Edition:
high
Nama paket yang didukung oleh Alibaba Cloud International Website:
Entrance:
entranceplan_intlPro:
basicplan_intlPremium:
vipplan_intl
Terraform tidak mendukung pembuatan paket Enterprise Edition. Untuk membeli paket Enterprise Edition, hubungi kami.
Saat membuat situs menggunakan Terraform, Anda dapat mengaitkan ID instans paket Enterprise Edition yang sudah ada.
Saat membuat paket menggunakan Terraform, Anda harus mengatur informasi Terraform Provider sesuai dengan jenis akun Anda—apakah akun Alibaba Cloud China Website atau Alibaba Cloud International Website.
Metode 1: Atur parameter
region.Alibaba Cloud China Website:
cn-hangzhouAlibaba Cloud International Website:
ap-southeast-1
Metode 2: Atur parameter
account_type.Alibaba Cloud China Website:
DomesticSitus internasional:
International
Buat file konfigurasi
Buat direktori kerja, lalu buat file konfigurasi di direktori tersebut seperti dijelaskan pada bagian berikut. Sesuaikan informasi konfigurasi dalam kode sesuai kebutuhan.
Definisikan provider dan versi Terraform
Pertama, buat file konfigurasi bernama providers.tf. Salin kode berikut ke dalam file tersebut untuk mengelola semua konfigurasi provider dan batasan versi secara terpusat.
terraform {
required_providers {
alicloud = {
source = "aliyun/alicloud"
version = "1.266.0"
region = "ap-southeast-1"
}
}
}Definisikan Variabel Sumber Daya
Untuk meningkatkan kemampuan penggunaan ulang kode, Anda dapat mendeklarasikan variabel input dan variabel lokal. Buat file konfigurasi bernama variables.tf, lalu salin kode berikut ke dalam file tersebut.
# Jenis koneksi situs. Nilai yang valid adalah CNAME dan NS.
variable "site_type" {
default = "NS"
}
# Metode penagihan. Nilai yang valid adalah Subscription. Nilai lain tidak didukung.
variable "payment_type" {
default = "Subscription"
}
# Wilayah layanan tempat endpoint ditempatkan. Nilai yang valid adalah:
# domestic (Tiongkok daratan), overseas (global kecuali Tiongkok daratan), global (global)
variable "coverage_name" {
default = "overseas"
}
# Menentukan apakah perpanjangan otomatis diaktifkan.
variable "auto_pay" {
default = "true"
}
# Nama paket yang valid adalah:
# entranceplan_intl (Entrance Edition), basicplan_intl (Pro Edition), vipplan_intl (Premium Edition)
variable "plan_name" {
default = "entranceplan_intl"
}
# Nama situs. Ganti dengan nama domain Anda.
variable "site_name" {
default = "aliyundoc.com"
}
# Nilai origin, yaitu Nama Domain Asal Anda.
variable "record_value" {
default = "www.example.com"
}
# Port origin, yaitu nomor port origin Anda.
variable "record_port" {
default = "80"
}
# Nilai rekaman DNS, yaitu nama domain yang dipercepat.
variable "record_name" {
default = "_udp._sip.aliyundoc.com"
}
# Tipe rekaman DNS.
variable "record_type" {
default = "SRV"
}Definisikan sumber daya
Terakhir, buat file konfigurasi bernama main.tf dan salin kode berikut ke dalamnya. File ini berfungsi sebagai titik masuk utama untuk semua deklarasi sumber daya.
# Buat paket
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
}
# Buat situs
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
}
# Tambahkan rekaman DNS
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
}Buat Sumber Daya
Buka direktori yang berisi file konfigurasi, lalu jalankan perintah berikut untuk menginisialisasi lingkungan Terraform.
terraform init
Jalankan perintah berikut untuk memvalidasi sintaksis dan konfigurasi file Terraform.
terraform validateJika outputnya mirip dengan gambar berikut, validasi berhasil.

Jalankan perintah berikut untuk melihat pratinjau perubahan yang akan diterapkan.
terraform planJalankan perintah berikut untuk mengeksekusi skrip Terraform.
terraform applySaat diminta, masukkan
yesuntuk mengonfirmasi operasi.
Verifikasi hasil
Lihat paket
Masuk ke Konsol ESA. Di panel navigasi sebelah kiri, pilih .
Di halaman Package Management, Anda dapat melihat paket baru yang ditambahkan, seperti yang ditunjukkan pada gambar berikut.

Lihat situs
Di Konsol ESA, pilih Site Management. Anda dapat melihat situs baru yang ditambahkan, seperti yang ditunjukkan pada gambar berikut.

Lihat rekaman DNS
Di Konsol ESA, pilih Site Management. Di kolom Website, klik situs target.
Di panel navigasi sebelah kiri, pilih . Di halaman Records, Anda dapat melihat rekaman DNS baru yang ditambahkan, seperti yang ditunjukkan pada gambar berikut.

(Opsional) Bersihkan sumber daya
Jika Anda tidak lagi memerlukan sumber daya yang dibuat atau dikelola oleh Terraform, jalankan perintah terraform destroy untuk melepaskan sumber daya tersebut.
terraform destroy