O Cloud Shell já vem com o Terraform pré-instalado. O Terraform é uma ferramenta de código aberto que permite provisionar e gerenciar a infraestrutura da Alibaba Cloud de forma segura e eficiente.
Inicie o Cloud Shell
Para iniciar o Cloud Shell, use um dos métodos a seguir:
-
Iniciar o Cloud Shell no Alibaba Cloud Management Console
No Alibaba Cloud Management Console, clique em ícone do Cloud Shell na barra de navegação superior.
-
Iniciar o Cloud Shell como aplicativo independente
Insira https://shell-sg.alibabacloud.com na barra de endereços do navegador.
É possível abrir até cinco janelas do Cloud Shell simultaneamente.
Ao iniciar o Cloud Shell, observe os pontos a seguir:
Na primeira conexão com o Cloud Shell, o sistema cria uma máquina virtual (VM). Esse processo leva no máximo 30 segundos.
Se você abrir várias janelas do Cloud Shell, todas se conectarão à mesma VM. A quantidade de VMs não aumenta ao abrir uma nova janela do Cloud Shell.
Gerencie recursos da Alibaba Cloud
-
Crie um modelo do Terraform no Cloud Shell.
Use o
Vimpara criar e editar um modelo do Terraform.Execute os comandos a seguir para criar um diretório de projeto e um arquivo de modelo:
mkdir terraform-project cd terraform-project touch main.tfO modelo de exemplo do Terraform a seguir cria instâncias do Elastic Compute Service (ECS). Copie o código para o arquivo
main.tf. O Cloud Shell obtém automaticamente as credenciais de identidade da conta conectada. Portanto, não é necessário configurar variáveis de ambiente.provider "alicloud" { region = "cn-beijing" } data "alicloud_zones" "default" { available_disk_category = "cloud_efficiency" available_resource_creation = "VSwitch" } resource "alicloud_vpc" "vpc" { vpc_name = "tf_test_foo" cidr_block = "172.16.0.0/12" } resource "alicloud_vswitch" "vsw" { vpc_id = alicloud_vpc.vpc.id cidr_block = "172.16.0.0/21" zone_id = data.alicloud_zones.default.zones.0.id } resource "alicloud_security_group" "default" { name = "default" vpc_id = alicloud_vpc.vpc.id } resource "alicloud_instance" "instance" { # cn-beijing availability_zone = data.alicloud_zones.default.zones.0.id security_groups = alicloud_security_group.default.*.id # series III instance_type = "ecs.n4.large" system_disk_category = "cloud_efficiency" image_id = "ubuntu_18_04_64_20G_alibase_20190624.vhd" instance_name = "test_foo" vswitch_id = alicloud_vswitch.vsw.id internet_max_bandwidth_out = 10 } resource "alicloud_security_group_rule" "allow_all_tcp" { type = "ingress" ip_protocol = "tcp" nic_type = "intranet" policy = "accept" port_range = "1/65535" priority = 1 security_group_id = alicloud_security_group.default.id cidr_ip = "0.0.0.0/0" } -
Execute o comando
initpara inicializar o Terraform.terraform initSaída esperada:
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
planpara visualizar o resultado da execução do modelo do Terraform.terraform plan -
Execute o comando
applypara criar uma instância ECS. Durante a execução, digiteyesquando solicitado e pressione Enter. Aguarde a conclusão do comando. Se a saída a seguir for exibida, a instância ECS foi criada.terraform applySaída esperada:
Apply complete! Resources: 5 added, 0 changed, 0 destroyed.
Verifique os recursos
Execute o comando a seguir para consultar os detalhes dos recursos criados pelo Terraform:
terraform show
Saída esperada:
# alicloud_instance.instance:
resource "alicloud_instance" "instance" {
availability_zone = "cn-shanghai-a"
cpu = 2
create_time = "2024-11-13T08:52Z"
deletion_protection = false
dry_run = false
enable_jumbo_frame = false
expired_time = "2099-12-31T15:59Z"
host_name = "iZuxxx"
http_put_response_hop_limit = 0
id = "i-ufxxx"
image_id = "ubuntu_18_04_64_20G_alibase_xxx vhd"
instance_charge_type = "PostPaid"
instance_name = "test_fofo"
instance_type = "ecs.n4.large"
internet_charge_type = "PayByTraffic"
internet_max_bandwidth_in = 500
internet_max_bandwidth_out = 10
ipv6_address_count = 0
ipv6_addresses = []
maintenance_action = "AutoRecover"
maintenance_notify = false
memory = 4096
network_interface_id = "eni-uf6ixxx"
network_interface_traffic_mode = "Standard"
os_name = "Ubuntu 18.04 64位"
os_type = "linux"
primary_ip_address = "xxx"
private_ip = "xxx"
public_ip = "xxx"
queue_pair_number = 0
Acesse o console do ECS e verifique a instância criada. No painel de navegação à esquerda, clique em Instances para acessar a página de instâncias. Confirme o ID da instância e o status de execução da instância desejada.
Alterne a versão do Terraform
A versão padrão do Terraform no Cloud Shell é a 0.12.31. Para usar uma versão mais recente, execute o comando tfenv para alternar entre as versões.
Verifique a versão do Terraform pré-instalada no Cloud Shell.
tfenv list
Alterne para a versão desejada do Terraform.
tfenv use <terraform_version>