Terraform集成示例

Terraform是一款开源工具,用于安全高效地预览、配置和管理云基础结构和资源。它使用声明式的语言,通过描述期望的状态,而不是编写详细的步骤,使得代码更易于理解和维护。本文为您演示如何通过Terraform创建一个轻量应用服务器的实例。

支持资源列表

目前支持Terraform编排和使用轻量应用服务器的部分资源和数据源清单,请参见轻量应用服务器Terraform资源和数据源

说明
  • Resource:资源,指新创建的资源,用于定义基础设施组件,例如一个轻量应用服务器实例、一个虚拟机、一个网络安全组等。

  • Data Source:数据源,用于查询和获取已有的基础设施组件的信息,在Terraform配置中使用这些信息来引用或配置其他资源。

操作步骤

说明

阿里云主账号拥有所有产品的访问权限,风险很高。强烈建议您创建一个RAM用户并授予RAM用户管理轻量应用服务器资源的权限AliyunSWASFullAccess。更多信息,请参见轻量应用服务器系统权限策略参考

步骤一:安装Terraform并配置权限

在本地安装和配置Terraform

在本地使用Terraform,需要安装并预配置Terraform。具体操作,请参见在本地安装和配置Terraform

使用在线服务(免安装和权限配置)

如果您不想安装Terraform,直接使用在线服务Cloud Shell

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

步骤二:编写模板

创建一个轻量应用服务器实例

  1. 创建一个名为main.tf文件。

    cat > main.tf << EOF
    your code here
    more code
    even more code
    EOF
  2. 填入以下内容,用于创建一个轻量应用服务器实例。

    provider "alicloud" {
      region = "cn-hangzhou"
    }
    variable "name" {
      default = "tf_example"
    }
    data "alicloud_simple_application_server_images" "default" {
      platform = "Linux"
    }
    data "alicloud_simple_application_server_plans" "default" {
      platform = "Linux"
    }
    resource "alicloud_simple_application_server_instance" "default" {
      payment_type   = "Subscription"
      plan_id        = data.alicloud_simple_application_server_plans.default.plans.0.id
      instance_name  = var.name
      image_id       = data.alicloud_simple_application_server_images.default.images.0.id
      period         = 1
      data_disk_size = 100
    }

更多关于alicloud_simple_application_server_instance资源的模板信息,请参见alicloud_simple_application_server_instance

步骤三:运行模板

该示例以Windows操作为例,在其他操作系统中,运行命令的具体方式可能会有所不同。

  1. 执行terraform init命令初始化配置。

    2024-06-19_15-19-10.png

  2. 执行terraform validate命令验证模板语法是否正确。

    2024-06-19_16-05-36.png

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

    2024-06-19_16-24-05.png

  4. 执行terraform apply创建轻量应用服务器实例,如果执行结果返回Apply complete! ,则证明资源创建成功。

    本案例部署时的返回日志。

    2024-06-19_16-27-18.png

    输入yes即可真正变更资源。

  5. 创建完成后,您可以通过OpenAPI、SDK或者在轻量应用服务器控制台,查看所创建的轻量应用服务器实例。

    2024-06-19_16-49-30.png

步骤四:(可选)释放实例

如果您不再需要这台实例,您无法通过命令terraform destroy释放当前模板创建的资源,只能通过轻量应用服务器控制台进行释放。

相关文档