Alibaba Cloud Elasticsearch terhubung dengan Terraform. Anda dapat menggunakan Terraform untuk mengelola cluster Elasticsearch Alibaba Cloud. Topik ini menjelaskan cara menggunakan Terraform untuk membuat cluster Elasticsearch Alibaba Cloud.
Anda dapat menjalankan kode contoh dalam topik ini hanya dengan beberapa klik. Untuk informasi lebih lanjut, kunjungi Terraform Explorer.
Prasyarat
Kami merekomendasikan penggunaan pengguna RAM dengan izin minimum yang diperlukan untuk melakukan operasi dalam topik ini. Ini meminimalkan risiko kebocoran pasangan AccessKey akun Alibaba Cloud Anda. Untuk informasi tentang cara melampirkan kebijakan dengan izin minimum yang diperlukan ke pengguna RAM, lihat Buat Pengguna RAM dan Berikan Izin kepada Pengguna RAM. Kebijakan berikut digunakan dalam contoh ini:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "vpc:CreateVpc", "vpc:DeleteVpc", "vpc:CreateVSwitch", "vpc:DeleteVSwitch", "ecs:CreateSecurityGroup", "ecs:ModifySecurityGroupPolicy", "ecs:DescribeSecurityGroups", "ecs:ListTagResources", "ecs:DeleteSecurityGroup", "ecs:DescribeSecurityGroupAttribute" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "vpc:DescribeVpcAttribute", "vpc:DescribeRouteTableList", "vpc:DescribeVSwitchAttributes" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "elasticsearch:CreateInstance", "elasticsearch:DescribeInstance", "elasticsearch:ListAckClusters", "elasticsearch:UpdateDescription", "elasticsearch:ListInstance", "elasticsearch:ListAvailableEsInstanceIds" ], "Resource": "*" } ] }Lingkungan runtime untuk Terraform disiapkan dengan salah satu metode berikut:
Terraform Explorer: Alibaba Cloud menyediakan Terraform Explorer, lingkungan runtime online untuk Terraform. Anda dapat menggunakan Terraform setelah masuk ke Terraform Explorer tanpa perlu menginstal Terraform. Metode ini cocok untuk skenario di mana Anda ingin menggunakan dan men-debug Terraform dengan cepat dan mudah tanpa biaya tambahan.
Cloud Shell: Terraform sudah diinstal sebelumnya di Cloud Shell dan kredensial identitas telah dikonfigurasi. Anda dapat langsung menjalankan perintah Terraform di Cloud Shell. Metode ini cocok untuk skenario di mana Anda ingin menggunakan dan men-debug Terraform dengan cepat dan mudah dengan biaya rendah.
Instal dan Konfigurasikan Terraform di Mesin Lokal Anda: Metode ini cocok untuk skenario di mana kondisi jaringan buruk atau lingkungan pengembangan kustom diperlukan.
Dalam contoh ini, biaya mungkin timbul untuk sumber daya tertentu. Lepaskan atau berhenti berlangganan dari sumber daya tersebut ketika Anda tidak lagi memerlukannya.
Sumber daya yang diperlukan
alicloud_vpc: virtual private cloud (VPC).
alicloud_security_group: grup keamanan.
alicloud_vswitch: vSwitch.
alicloud_elasticsearch_instance: Cluster Elasticsearch Alibaba Cloud. Anda akan dikenai biaya untuk cluster ini. Untuk informasi tentang penagihan cluster Elasticsearch, lihat Penagihan.
Buat cluster Elasticsearch
Buat direktori kerja dan file konfigurasi bernama main.tf di direktori tersebut. Kode berikut membuat cluster Elasticsearch dan VPC, grup keamanan, serta vSwitch terkait. Salin kode berikut ke file konfigurasi main.tf:
variable "region" { default = "cn-qingdao" } data "alicloud_zones" "default" { available_resource_creation = "VSwitch" available_disk_category = "cloud_ssd" } variable "vpc_cidr_block" { default = "172.16.0.0/16" } variable "vsw_cidr_block" { default = "172.16.0.0/24" } variable "node_spec" { default = "elasticsearch.sn2ne.large" } provider "alicloud" { region = var.region } resource "random_integer" "default" { min = 10000 max = 99999 } resource "alicloud_vpc" "vpc" { vpc_name = "vpc-test_${random_integer.default.result}" cidr_block = var.vpc_cidr_block } resource "alicloud_security_group" "group" { name = "test_${random_integer.default.result}" vpc_id = alicloud_vpc.vpc.id } resource "alicloud_vswitch" "vswitch" { vpc_id = alicloud_vpc.vpc.id cidr_block = var.vsw_cidr_block zone_id = data.alicloud_zones.default.zones[0].id vswitch_name = "vswitch-test-${random_integer.default.result}" } resource "alicloud_elasticsearch_instance" "instance" { description = "test_Instance" instance_charge_type = "PostPaid" data_node_amount = "2" data_node_spec = var.node_spec data_node_disk_size = "20" data_node_disk_type = "cloud_ssd" vswitch_id = alicloud_vswitch.vswitch.id password = "es_password_01" version = "6.7_with_X-Pack" master_node_spec = var.node_spec zone_count = "1" master_node_disk_type = "cloud_ssd" kibana_node_spec = var.node_spec data_node_disk_performance_level = "PL1" tags = { Created = "TF", For = "example", } }Jalankan perintah berikut untuk menginisialisasi lingkungan runtime Terraform:
terraform initJika informasi berikut dikembalikan, Terraform telah diinisialisasi:
Terraform has been successfully initialized! You may now begin working with Terraform. Try running "terraform plan" to see any changes that are required for your infrastructure. All Terraform commands should now work. If you ever set or change modules or backend configuration for Terraform, rerun this command to reinitialize your working directory. If you forget, other commands will detect it and remind you to do so if necessary.Jalankan perintah berikut untuk membuat cluster Elasticsearch:
terraform applySelama eksekusi, masukkan
yessaat diminta dan tekan tombol Enter. Tunggu hingga perintah selesai. Jika informasi berikut dikembalikan, cluster telah dibuat.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: 5 added, 0 changed, 0 destroyed.Verifikasi hasilnya.
Jalankan perintah terraform show
Jalankan perintah berikut di direktori kerja untuk menanyakan detail cluster yang dibuat menggunakan Terraform:
terraform show
Masuk ke konsol Elasticsearch
Masuk ke konsol Elasticsearch dan lihat cluster yang telah dibuat.

Lepaskan sumber daya
Jika Anda tidak lagi memerlukan sumber daya yang dibuat atau dikelola menggunakan Terraform, jalankan perintah berikut untuk melepaskan sumber daya. Untuk informasi lebih lanjut tentang perintah terraform destroy, lihat Perintah Umum.
terraform destroyContoh
Anda dapat menjalankan kode contoh hanya dengan beberapa klik. Untuk informasi lebih lanjut, kunjungi Terraform Explorer.
Kode contoh
Jika Anda ingin melihat contoh yang lebih lengkap, kunjungi direktori layanan terkait pada halaman Contoh Lebih Lengkap.