Alibaba Cloud CDN telah terintegrasi dengan Terraform. Tutorial ini menjelaskan cara menggunakan Terraform untuk menambahkan nama domain yang dipercepat oleh CDN serta mengonfigurasi daftar putih alamat IP untuk nama domain tersebut.
Anda dapat menjalankan kode contoh dengan beberapa klik.
Prasyarat
Sebelum menggunakan CDN, aktifkan CDN. Untuk informasi selengkapnya, lihat Aktifkan CDN.
Gunakan RAM user dengan izin minimum yang diperlukan untuk mengurangi risiko kebocoran Pasangan Kunci Akses. Untuk informasi tentang cara menyambungkan kebijakan yang diperlukan ke RAM user, lihat Buat RAM user dan Kelola izin RAM user. Contoh ini menggunakan kebijakan berikut:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "cdn:AddCdnDomain", "cdn:DescribeCdnDomainDetail", "cdn:DescribeDomainCertificateInfo", "cdn:ListTagResources", "cdn:DeleteCdnDomain", "cdn:BatchSetCdnDomainConfig", "cdn:DescribeCdnDomainConfigs", "cdn:DeleteSpecificConfig" ], "Resource": "*" } ] }Persiapkan lingkungan Terraform. Anda dapat menggunakan salah satu metode berikut untuk menggunakan Terraform:
Gunakan Terraform di Terraform Explorer: Terraform Explorer adalah lingkungan runtime online tempat Anda dapat menggunakan Terraform tanpa perlu menginstalnya. Untuk informasi selengkapnya, lihat Terraform Explorer. Metode ini cocok untuk debugging cepat tanpa biaya tambahan.
Gunakan Terraform di Cloud Shell: Terraform telah dipra-instal di Cloud Shell dengan kredensial identitas yang sudah dikonfigurasi. Anda dapat langsung menjalankan perintah Terraform. Untuk informasi selengkapnya, lihat Buat resource dengan Terraform. Metode ini cocok untuk debugging cepat dengan biaya rendah.
Instal dan konfigurasikan Terraform di mesin lokal Anda: Metode ini cocok untuk lingkungan dengan konektivitas jaringan terbatas atau pengaturan pengembangan kustom. Untuk informasi selengkapnya, lihat Instal dan konfigurasikan Terraform di PC lokal.
Resource yang digunakan
Beberapa resource dalam contoh ini dikenai biaya. Hapus atau batalkan langganan resource tersebut jika tidak lagi diperlukan.
alicloud_cdn_domain_new: menambahkan nama domain ke CDN.
alicloud_cdn_domain_config: mengonfigurasi aturan untuk nama domain yang dipercepat CDN.
Langkah 1: Tambahkan nama domain yang dipercepat
Buat direktori kerja dan file bernama main.tf di dalam direktori tersebut. Lalu, salin konten berikut ke file main.tf:
CatatanNama domain dalam kode contoh berikut, seperti
mydcdndomain-xxx.alicloud-provider.cndanmycdndomain-xxx.alicloud-provider.cn, hanya berfungsi di lingkungan terkelola untuk menjalankan kode contoh dengan beberapa klik. Anda tidak dapat lolos verifikasi kepemilikan untuk nama domain tersebut. Untuk menjalankan tutorial ini di lingkungan lokal, ganti nilaidomain_namedengan nama domain yang Anda miliki dan telah menyelesaikan verifikasi kepemilikannya.resource "random_integer" "default" { min = 10000 max = 99999 } # Add a domain name. resource "alicloud_cdn_domain_new" "domain" { domain_name = "mycdndomain-${random_integer.default.result}.alicloud-provider.cn" cdn_type = "download" scope = "overseas" sources { content = "myoss-${random_integer.default.result}.oss-rg-china-mainland.aliyuncs.com" type = "oss" priority = "20" port = 80 weight = "15" } }Jalankan perintah berikut untuk menginisialisasi lingkungan runtime Terraform:
terraform initJika informasi berikut dikembalikan, Terraform telah diinisialisasi:
Initializing the backend... Initializing provider plugins... ... Terraform has been successfully initialized! ...Jalankan perintah berikut untuk menambahkan nama domain:
terraform applySaat eksekusi, masukkan
yessaat diminta dan tekan Enter. Tunggu hingga perintah selesai. Jika muncul informasi berikut, nama domain telah ditambahkan.CatatanJika muncul pesan error "code: 400, Owner verification of the root domain failed", artinya nama domain tersebut pertama kali ditambahkan ke sistem CDN. Anda harus memverifikasi kepemilikan domain tersebut seperti yang dijelaskan dalam Verifikasi kepemilikan nama domain.
You can apply this plan to save these new output values to the Terraform state, without changing any real infrastructure. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value: yes Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
Langkah 2: Konfigurasikan aturan untuk nama domain yang dipercepat
Tambahkan konten berikut ke file main.tf.
# Configure an IP address whitelist for the domain name. resource "alicloud_cdn_domain_config" "config-ip" { domain_name = alicloud_cdn_domain_new.domain.domain_name function_name = "ip_allow_list_set" function_args { arg_name = "ip_list" arg_value = "192.168.0.1" } }Buat rencana eksekusi dan pratinjau perubahan.
terraform planJalankan perintah berikut untuk mengonfigurasi IP address whitelist untuk nama domain:
terraform applySaat eksekusi, masukkan
yessaat diminta dan tekan Enter. Tunggu hingga perintah selesai. Jika informasi berikut dikembalikan, aturan telah dikonfigurasi.Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
Periksa hasilnya
Jalankan perintah terraform show
Jalankan perintah berikut untuk mengkueri resource yang dibuat oleh Terraform:
terraform showshell@Alicloud:~/cdn$ terraform show
# alicloud_cdn_domain_config.config-ip:
resource "alicloud_cdn_domain_config" "config-ip" {
config_id = "394085720977408"
domain_name = "xxx"
function_name = "ip_allow_list_set"
id = "xxx:ip_allow_list_set:394085720977408"
parent_id = "0"
status = "success"
function_args {
arg_name = "ip_list"
arg_value = "192.168.0.1"
}
}
# alicloud_cdn_domain_new.domain:
resource "alicloud_cdn_domain_new" "domain" {
cdn_type = "download"
cname = "xxx.com.w.cdngslb.com"
domain_name = "xxx.com"
id = "xxx.com"
resource_group_id = "rg-acfmykd63gtpfpa"
scope = "overseas"
status = "online"
certificate_config {
cert_type = "cas"
server_certificate_status = "off"
}
sources {
content = "xxx.oss-rg-china-mainland.aliyuncs.com"
port = 80
priority = 20
type = "oss"
weight = 15
}
}
Login ke Konsol CDN
Login ke Konsol CDN dan lihat daftar hitam/daftar putih alamat IP yang dikonfigurasi untuk nama domain yang ditambahkan.
Pada halaman manajemen domain target, klik Access Control di panel navigasi kiri lalu klik tab daftar hitam/daftar putih alamat IP. Jenisnya adalah daftar putih alamat IP, dan alamat IP 192.168.0.1 telah ditambahkan ke daftar putih.
Bersihkan sumber daya
Jika Anda tidak lagi memerlukan resource yang dibuat oleh Terraform, jalankan perintah berikut untuk melepasnya. Untuk informasi selengkapnya tentang perintah terraform destroy, lihat Perintah umum.
terraform destroyContoh
Anda dapat menjalankan kode contoh dengan beberapa klik.
Kode contoh
Untuk contoh lainnya, kunjungi halaman quickstarts dan lihat contoh-contoh di folder layanan yang sesuai.