Terraform adalah alat open-source yang memungkinkan Anda mempratinjau, mengonfigurasi, dan mengelola infrastruktur serta resource cloud secara aman dan efisien. Anda dapat menggunakan Terraform untuk mengelola resource Apsara File Storage NAS. Topik ini menjelaskan cara menggunakan Terraform untuk membuat sistem file NAS.
Kode contoh dalam tutorial ini mendukung eksekusi satu klik. Anda dapat menjalankan kodenya secara langsung. Jalankan dengan satu klik
Prasyarat
Demi keamanan, kami menyarankan menggunakan pengguna RAM dengan izin minimum yang diperlukan untuk tutorial ini. Untuk informasi selengkapnya, lihat Create a RAM user dan Manage RAM user permissions. Kebijakan izin berikut memberikan izin minimum yang diperlukan untuk tutorial ini:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "nas:CreateFileSystem", "nas:DeleteFileSystem", "nas:DescribeFileSystems", "nas:GetRecycleBinAttribute", "nas:ListTagResources", "nas:DescribeNfsAcl", "nas:EnableRecycleBin", "nas:UpdateRecycleBinAttribute", "nas:EnableNfsAcl" ], "Resource": "*" } ] }Siapkan lingkungan Terraform dengan salah satu metode berikut.
Explorer: Anda dapat mencoba Terraform secara online tanpa perlu menginstalnya. Metode tanpa biaya ini ideal untuk uji coba cepat dan debugging.
Quickly create resources by using Terraform: Cloud Shell Alibaba Cloud telah dipra-instal dengan Terraform dan dikonfigurasi sebelumnya dengan kredensial otentikasi. Anda dapat menjalankan perintah Terraform langsung di Cloud Shell. Metode berbiaya rendah ini menyediakan akses cepat dan nyaman ke Terraform.
Install and configure Terraform locally: Metode ini ideal jika koneksi jaringan Anda buruk atau Anda perlu menyesuaikan lingkungan pengembangan Anda.
Sumber Daya
alicloud_nas_file_system: Merepresentasikan sistem file NAS.
Buat sistem file
Di direktori kerja baru, buat file konfigurasi bernama main.tf. Salin kode berikut ke dalam file main.tf.
variable "region" { default = "cn-hangzhou" } provider "alicloud" { region = var.region } data "alicloud_nas_zones" "default" { file_system_type = "standard" } resource "random_integer" "default" { min = 10000 max = 99999 } resource "alicloud_nas_file_system" "default" { protocol_type = "NFS" storage_type = "Capacity" description = "nas_system_${random_integer.default.result}" encrypt_type = 1 file_system_type = "standard" recycle_bin { status = "Enable" reserved_days = "10" } nfs_acl { enabled = true } zone_id = data.alicloud_nas_zones.default.zones.0.zone_id }Jalankan perintah berikut untuk menginisialisasi lingkungan Terraform.
terraform initOutput berikut menunjukkan inisialisasi berhasil.
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 menerapkan konfigurasi:
terraform applySaat diminta, masukkan
yesdan tekan Enter. Tunggu hingga perintah selesai. Output berikut mengonfirmasi bahwa konfigurasi telah diterapkan: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.Verifikasi hasilnya.
Jalankan terraform show
Di direktori kerja Anda, jalankan perintah berikut untuk melihat detail resource yang dibuat oleh Terraform:
terraform show# alicloud_nas_file_system.default: resource "alicloud_nas_file_system" "default" { capacity = 104 create_time = "2025-01-13T15:21:16CST" description = "nas_system_xxx" encrypt_type = 1 file_system_type = "standard" id = "69edxxx" kms_key_id = "9f4e9b5c-7873-420e-9aaf-xxx" protocol_type = "NFS" resource_group_id = "rg-xxx" status = "Running" storage_type = "Capacity" tags = {} vpc_id = null zone_id = "cn-hangzhou-f" nfs_acl { enabled = true } recycle_bin { enable_time = "2025-01-13T07:21:21Z" reserved_days = 10 secondary_size = 0 size = 0 status = "Enable" } } # random_integer.default: resource "random_integer" "default" { id = "xxx" max = 99999 min = 10000 result = xxx }Lihat di Konsol
Login ke Konsol Apsara File Storage NAS untuk melihat sistem file yang telah dibuat.
Bersihkan resource
Jika Anda tidak lagi memerlukan resource yang dibuat atau dikelola dengan Terraform, jalankan perintah berikut untuk melepaskannya. Untuk informasi selengkapnya tentang terraform destroy, lihat Common commands.
terraform destroySaat dieksekusi, Terraform menampilkan pratinjau resource yang akan dihapus. Untuk mengonfirmasi, masukkan yes dan tekan Enter. Tunggu hingga perintah selesai. Output berikut menunjukkan bahwa resource telah dihapus:
Plan: 0 to add, 0 to change, 2 to destroy.
Do you really want to destroy all resources?
Terraform will destroy all your managed infrastructure, as shown above.
There is no undo. Only 'yes' will be accepted to confirm.
Enter a value: yes
...
Destroy complete! Resources: 2 destroyed.Contoh lengkap
Kode contoh dalam tutorial ini mendukung eksekusi satu klik. Anda dapat menjalankan kodenya secara langsung. One-click Run
Kode contoh
Untuk contoh yang lebih lengkap, lihat More complete examples.