Setelah menghubungkan situs ke ESA, Anda perlu menambahkan rekaman DNS untuk mendaftarkan nama domain ke ESA. Hal ini memastikan bahwa nama domain yang dipercepat dapat di-resolve dan diakses. Topik ini menjelaskan cara menggunakan Terraform untuk menambahkan rekaman DNS tersebut.
Resources
Resource untuk membeli rencana: alicloud_esa_rate_plan_instance
Resource untuk menambahkan situs: alicloud_esa_site
Resource untuk menambahkan rekaman DNS: alicloud_esa_record
Notes
Tipe rencana yang tersedia berbeda untuk akun Alibaba Cloud China Website dan Alibaba Cloud International Website.
Rencana yang tersedia untuk akun Alibaba Cloud China Website:
Free Edition:
entranceplanBasic Edition:
basicStandard Edition:
mediumPremium Edition:
high
Rencana yang tersedia untuk akun Alibaba Cloud International Website:
Entrance:
entranceplan_intlPro:
basicplan_intlPremium:
vipplan_intl
Saat ini, Anda tidak dapat membuat rencana Enterprise menggunakan Terraform. Untuk membeli rencana Enterprise, contact us.
Saat menggunakan Terraform untuk membuat situs, Anda dapat mengaitkannya dengan ID instans dari rencana Edisi Perusahaan yang sudah ada.
Saat menggunakan Terraform untuk membuat rencana, Anda harus mengonfigurasi provider Terraform sesuai dengan tipe akun Anda: 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:
DomesticAlibaba Cloud International Website:
International
Write configuration files
Buat direktori kerja. Di dalam direktori tersebut, buat file konfigurasi seperti yang dijelaskan pada bagian berikut. Sesuaikan pengaturan kode sesuai kebutuhan.
Define the provider and Terraform version
Pertama, buat file konfigurasi bernama providers.tf. Salin kode berikut ke dalam file tersebut untuk mengelola semua konfigurasi provider dan batasan versi.
terraform {
required_providers {
alicloud = {
source = "aliyun/alicloud"
version = "1.266.0"
}
}
}
provider "alicloud" {
region = "ap-southeast-1"
}Define resource variables
Agar kode Anda lebih dapat digunakan kembali, deklarasikan variabel input dan lokal. Buat file konfigurasi bernama variables.tf dan salin kode berikut ke dalamnya.
# Tipe akses untuk situs. Nilai yang valid: CNAME dan NS.
variable "site_type" {
default = "NS"
}
# Metode penagihan. Satu-satunya nilai yang valid adalah Subscription.
variable "payment_type" {
default = "Subscription"
}
# Cakupan layanan. Nilai yang valid:
# domestic (daratan Tiongkok), overseas (Global, tidak termasuk daratan Tiongkok), global (Global).
variable "coverage_name" {
default = "overseas"
}
# Aktifkan perpanjangan otomatis.
variable "auto_pay" {
default = "true"
}
# Nama rencana. Nilai yang valid:
# entranceplan_intl (Entrance), basicplan_intl (Pro), vipplan_intl (Premium)
variable "plan_name" {
default = "entranceplan_intl"
}
# Nama situs. Ganti dengan nama domain Anda.
variable "site_name" {
default = "aliyundoc.com"
}
# Nama domain origin Anda.
variable "record_value" {
default = "www.example.com"
}
# Port origin.
variable "record_port" {
default = "80"
}
# Nama rekaman DNS, yaitu nama domain yang dipercepat.
variable "record_name" {
default = "_udp._sip.aliyundoc.com"
}
# Tipe rekaman DNS.
variable "record_type" {
default = "SRV"
}Define resources
Akhirnya, buat file konfigurasi bernama main.tf dan salin kode berikut ke dalamnya. File ini berisi deklarasi resource utama.
# Buat rencana
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
}Create the resources
Buka direktori yang berisi file konfigurasi Anda dan jalankan perintah berikut untuk menginisialisasi lingkungan Terraform.
terraform initJalankan perintah berikut untuk memvalidasi sintaksis dan konfigurasi Terraform.
terraform validateJalankan perintah berikut untuk melihat pratinjau rencana eksekusi.
terraform planJalankan perintah berikut untuk menerapkan konfigurasi.
terraform applySaat diminta, masukkan
yesuntuk mengonfirmasi dan menerapkan perubahan.
Verify the results
View the plan
Masuk ke Konsol ESA dan buka halaman Plan Management.
Di halaman Plan Management, rencana baru muncul seperti pada gambar berikut.

View the site
Di Konsol ESA, pilih Websites. Situs baru muncul seperti pada gambar berikut.

View the DNS record
Di Konsol ESA, pilih Websites, lalu di kolom Website, klik situs target.
Di panel navigasi, pilih . Rekaman DNS baru muncul seperti pada gambar berikut.

(Optional) Clean up resources
Jika Anda tidak lagi memerlukan resource ini, jalankan perintah terraform destroy.
terraform destroy