全部产品
Search
文档中心

Edge Security Acceleration:Gunakan Terraform untuk membuat paket, situs, dan menambahkan rekaman DNS

更新时间:Mar 20, 2026

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

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: entranceplan

      • Basic Edition: basic

      • Standard Edition: medium

      • Premium Edition: high

    • Nama paket yang didukung oleh Alibaba Cloud International Website:

      • Entrance: entranceplan_intl

      • Pro: basicplan_intl

      • Premium: 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-hangzhou

      • Alibaba Cloud International Website: ap-southeast-1

    • Metode 2: Atur parameter account_type.

      • Alibaba Cloud China Website: Domestic

      • Situs 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

  1. Buka direktori yang berisi file konfigurasi, lalu jalankan perintah berikut untuk menginisialisasi lingkungan Terraform.

    terraform init

    image

  2. Jalankan perintah berikut untuk memvalidasi sintaksis dan konfigurasi file Terraform.

    terraform validate

    Jika outputnya mirip dengan gambar berikut, validasi berhasil.

    image

  3. Jalankan perintah berikut untuk melihat pratinjau perubahan yang akan diterapkan.

    terraform plan
  4. Jalankan perintah berikut untuk mengeksekusi skrip Terraform.

    terraform apply
  5. Saat diminta, masukkan yes untuk mengonfirmasi operasi.

Verifikasi hasil

Lihat paket

  1. Masuk ke Konsol ESA. Di panel navigasi sebelah kiri, pilih Billing Management > Plans.

  2. Di halaman Package Management, Anda dapat melihat paket baru yang ditambahkan, seperti yang ditunjukkan pada gambar berikut.

    image

Lihat situs

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

image

Lihat rekaman DNS

  1. Di Konsol ESA, pilih Site Management. Di kolom Website, klik situs target.

  2. Di panel navigasi sebelah kiri, pilih DNS > Records. Di halaman Records, Anda dapat melihat rekaman DNS baru yang ditambahkan, seperti yang ditunjukkan pada gambar berikut.

    image

(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