O Terraform é uma ferramenta de código aberto que permite visualizar, configurar e gerenciar infraestrutura e recursos em cloud de forma segura e eficiente. Use o Terraform para gerenciar recursos do Apsara File Storage NAS. Este tópico descreve como criar um sistema de arquivos NAS com o Terraform.
O código de exemplo deste tutorial suporta execução com um clique. Execute o código diretamente. Executar com um clique
Pré-requisitos
-
Por questões de segurança, recomendamos usar um usuário RAM com as permissões mínimas necessárias para este tutorial. Para mais informações, consulte Crie um usuário RAM e Gerencie permissões de usuário RAM. A política de permissão a seguir concede as permissões mínimas exigidas:
{ "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": "*" } ] } -
Prepare um ambiente Terraform usando um dos métodos a seguir.
Terraform Explorer: Experimente o Terraform online sem instalação. Esta opção gratuita é ideal para testes rápidos e depuração.
Crie recursos com o Terraform: O Cloud Shell da Alibaba Cloud já vem com o Terraform pré-instalado e credenciais de autenticação pré-configuradas. Execute comandos do Terraform diretamente no Cloud Shell. Esse método de baixo custo oferece acesso rápido e prático ao Terraform.
Instale e configure o Terraform localmente: Ideal para cenários com conexão de rede instável ou quando for necessário personalizar o ambiente de desenvolvimento.
Recursos
alicloud_nas_file_system: Representa um sistema de arquivos NAS.
Criar um sistema de arquivos
-
Em um novo diretório de trabalho, crie um arquivo de configuração chamado main.tf. Copie o código a seguir para o arquivo 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 } -
Execute o comando a seguir para inicializar o ambiente Terraform.
terraform initA saída a seguir indica que a inicialização foi bem-sucedida.
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. -
Execute o comando a seguir para aplicar a configuração:
terraform applyQuando solicitado, insira
yese pressione Enter. Aguarde a conclusão do comando. A saída a seguir confirma a aplicação da configuração: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. -
Verifique o resultado.
Executar terraform show
No diretório de trabalho, execute o comando a seguir para visualizar os detalhes dos recursos criados pelo 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 }Visualizar no console
Faça login no console do Apsara File Storage NAS para visualizar o sistema de arquivos criado.
Limpar recursos
Quando não precisar mais dos recursos criados ou gerenciados com o Terraform, execute o comando a seguir para liberá-los. Para mais informações sobre terraform destroy, consulte Common commands.
terraform destroy
Durante a execução, o Terraform exibe uma prévia dos recursos a serem destruídos. Para confirmar, insira yes e pressione Enter. Aguarde a conclusão do comando. A saída a seguir indica que os recursos foram destruídos:
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.
Exemplo completo
O código de exemplo deste tutorial suporta execução com um clique. Execute o código diretamente. Execução com um clique
Código de exemplo
Para exemplos mais completos, consulte Mais exemplos completos.