文档

在Cloud Shell中使用Terraform

更新时间:
一键部署

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

说明

本文使用TF主要实现创建ECS的场景。

完成以下操作,在Cloud Shell中使用Terraform:

  1. 打开浏览器,访问Cloud Shell的地址https://shell.aliyun.com

    更多Cloud Shell入口及使用请参见使用云命令行

  2. 登录Cloud Shell。

    说明

    建议您使用RAM账号登录,为确保您的阿里云账号的安全,如非必要,避免使用阿里云账号访问云资源。

  3. 编写Terraform模板,命名为main.tf。

    您可以使用vim命令直接编写模板,如果开通了OSS存储,您可以直接将配置模板上传到为Cloud Shell创建的bucket中。以下示例模板中的区域为北京,在运行之前您需要添加对应环境变量。

    示例:

    export ALICLOUD_REGION="cn-beijing" 
    provider "alicloud" {}
    
    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    = "cn-beijing-b"
    }
    
    resource "alicloud_security_group" "default" {
      name   = "default"
      vpc_id = alicloud_vpc.vpc.id
    }
    
    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"
    }
    
    resource "alicloud_instance" "instance" {
      # 可用区
      availability_zone = "cn-beijing-b"
      # 绑定安全组
      security_groups = alicloud_security_group.default.*.id
    
      # 实例规格
      instance_type = "ecs.n2.small"
      # 系统盘类型
      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
    }
  4. 执行terraform init命令初始化配置。

  5. 执行terraform plan命令预览配置。

  6. 执行terraform apply创建ECS实例,如果执行结果返回Apply complete! ,则证明资源创建成功。image.png

  7. 若不再需要这台实例,可执行terraform destroy对创建过的资源进行释放。

  • 本页导读 (0)
文档反馈