阿里云Cloud Shell是一款帮助您运维的免费产品,预装了Terraform的组件,并配置好身份凭证(credentials)。因此您可直接在Cloud Shell中运行Terraform的命令。

完成以下操作,在Cloud Shell中使用Terraform:
  1. 打开浏览器访问Cloud Shell的地址https://shell.aliyun.com
    您也可以通过阿里云控制台OpenAPI Explorer访问Cloud Shell。
    注意 如果您想在阿里云控制台中使用Cloud Shell,请提交工单申请。
  2. 登录Cloud Shell。
  3. 编写模板。

    您可以使用vim命令直接编写模板,如果开通了OSS存储,您可以直接将配置模板上传到为Cloud Shell创建的bucket中。

    示例:
    provider "alicloud" {}
      
    resource "alicloud_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"
      availability_zone = "cn-beijing-b"
    }
    
    
    resource "alicloud_security_group" "default" {
      name = "default"
      vpc_id = "${alicloud_vpc.vpc.id}"
    }
    
    
    resource "alicloud_instance" "instance" {
      # cn-beijing
      availability_zone = "cn-beijing-b"
      security_groups = ["${alicloud_security_group.default.*.id}"]
    
      # series III
      instance_type        = "ecs.n2.small"
      system_disk_category = "cloud_efficiency"
      image_id             = "ubuntu_140405_64_40G_cloudinit_20161115.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"
    }
  4. 执行terraform init初始化配置。
  5. 执行terraform plan预览配置。
  6. 执行terraform apply创建ECS实例。