Terraform Explorer 正式发布

简介: 阿里云推出可视化的Terraform调用工具——Terraform Explorer,简化云资源管理,提供可视化操作界面,免安装、免编写代码、免状态管理,助力开发者高效部署和管理基础设施。

可视化的Terraform调用工具

随着云计算和基础设施即代码(IaC)概念的日益普及,Terraform 已成为市场上主流的开源工具,用户可以通过代码的形式自动化地管理云资源,进而大大提高部署和管理云基础设施的效率。尽管Terraform功能很强大,企业级用户在使用的过程中,仍然需要关注状态管理、工作流的集成等额外复杂的工作,特别对于小白用户/非专业的云用户而言,使用起来还是存在挑战,主要问题如下:

  • Terraform 的 HCL(HashiCorp 配置语言)是一门全新的语言,学习和掌握的门槛相对较高,如果从零开始手动编写代码需要较高的成本;
  • Terraform环境的安装和配置比较繁琐;
  • Terraform的本地状态管理也存在安全隐患,可能会因为人为错误或系统问题导致数据丢失或损坏,本地状态文件也难以进行追踪和审计;


为了进一步简化基础设施的代码化管理,阿里云开放平台借助 Terraform 原生的能力推出了面向开发者的可视化操作界面——Terraform Explorer,用户无需深入研究 Terraform 脚本的细节,通过填写简单的表格,就可以基于预定义参数自动生成 Terraform 模版文件,快速构建、部署和管理云资源,从而使基础设施管理变得简单高效,帮助开发人员降低学习和操作难度,减少基础设施的部署和管理成本。该工具将包括以下关键特性:

  1. 环境免安装

Terraform Explorer 支持了对 Terraform 客户端的在线托管,并且在执行 Terraform 命令时支持对阿里云 Provider 的加速下载,您无需再关心 Terraform 的安装、配置以及 Provider 下载慢等环境问题。

  1. 代码免编写

Terraform Explorer 针对单个资源类型提供了通过表单自动生成模板配置文件的能力,您无需再担心 Terraform 代码不会写、编写麻烦等问题。同时也为每个资源类型配备了相关的示例模板,可以通过选择模板来实现一键运行。除此之外,Terraform Explorer 默认会帮您保存每一次任务执行使用到的模板和参数,当您发起新的调试任务时,可以选择从历史模板和参数中加载内容。

  1. 状态免管理

状态管理是 Terraform 重要组成部分,分为本地状态(local)和远端状态(remote)两种。Terraform Explorer 同样支持对这两种状态的管理,默认采用本地状态管理,但是会帮您托管每一次 Terraform 的运行状态,以确保同一份配置文件的反复多次运行,在保证状态安全的前提下,保留了 Terraform 原生的状态管理机制。

Terraform Explorer 的使用流程

1. 确认权限

在访问 Terraform Explorer 时,部分功能需要先完成授权,比如创建调试任务、预览、预览并执行、销毁资源、查看调试历史、查看资源详情等(如出现下图的提示,表明没有权限,需要增加授权)。


快速授权方法:

  1. 登录【访问控制】控制台,新增【权限策略】,通过脚本编辑的方法,增加如下的权限策略。

  1. 对相应的用户增加上一步骤新增的权限策略。

2. 选择资源类型

在下拉框中分别选择Terraform执行的Provider版本、产品、资源类型后,可以看到页面展示了资源类型调试所需填写的参数,可以通过填入对应的参数生成对应模版进行调试。

同时,Terraform Explorer 为每个资源类型增加了一个或者多个示例模板,如果您不想填写太多的参数或者想要创建多个资源时,可以在选择资源类型之后,选择具体某个示例模板,点击“发起调试”按钮,即可看到模板详情并发起调试。

3. 发起调试

输入资源类型的参数,点击【发起调试】按钮,Terraform Explorer 将会自动生成对应的配置文件——模版(即Terraform 配置文件,HCL 格式的文本文件),此时可以通过左侧的表单填写部分或者全部参数来不断完善这份配置文件。

每当通过“发起调试”按钮发起一次新的调试动作时,Terraform Explorer 将会创建一个新的调试任务。每个任务对应唯一的一个状态文件,因此同一时间只能执行一次预览或者执行操作。

4. 预览

模版确认没有问题后,点击【预览】按钮,Terraform Explorer 将创建一个新的调试任务或者在已有的调试任务中依次执行terraform initterraform plan命令,执行完毕后将生成一个 Terraform 执行计划,并将执行计划详情展示在页面中。您可预览执行计划并选择继续执行或者放弃执行。

每次的运行(预览或者预览并执行)都会生成一次调试记录,所有调试任务都会被记录在调试历史中,您可以选择历史任务并在最新的调试记录的基础上继续调试。

5. 执行

当执行计划符合您的预期后,您可以点击【执行】按钮来运行执行计划。Terraform Explorer 将根据您的选择执行 terraform apply命令,进而完成执行计划中所含资源的创建和变更操作。

当点击“预览并执行”按钮时,意味着生成执行计划后将跳过人工确认而自动执行,即 Terraform Explorer 将依次执行terraform initterraform planterraform apply命令。

6. 查看执行结果

【执行】成功后,Terraform Explorer将根据在模版中定义的阿里云资源(例如:ECS实例、RDS数据库实例)自动完成所定义资源的创建和配置,切换到【资源详情】页面,可以查看本次执行计划创建/变更的云资源详情,其中包含资源地址(资源类型名称)、资源ID(云资源的唯一标识)及用kvPairs键值对表示的云资源配置。

7. 继续调试

每个资源类型的所有调试任务都会被记录在调试历史中,您可以选择历史任务并在最新的调试记录的基础上点击继续调试,在已有的调试任务中依次执行terraform initterraform plan命令。

8. 资源销毁

当您调试完成想要销毁资源时,点击“销毁资源”按钮,Terraform Explorer 将通过terraform plan生成一个销毁资源的执行计划,在您确认要销毁后,Terraform Explorer 将通过terraform apply完成这个销毁执行计划的运行,进而释放任务中所包含的全部资源。

最后

欢迎所有对Terraform和阿里云感兴趣的开发者,积极地加入到阿里云开源生态的建设中来,在内容阵地上积极贡献Example,所有被采纳的Example都会呈现在Terraform Explorer上,让自己写的Example得到更多的人引用。

相关文章
|
11天前
|
消息中间件 监控 数据可视化
ROS Terraform 托管服务与原生 Terraform 对比:选择最适合你的 IaC 工具
本文详细介绍了阿里云资源编排服务(ROS)提供的Terraform托管服务,对比了ROS与Terraform的原生能力,帮助用户根据需求选择合适的IaC工具。
34 0
|
6月前
|
安全 API 数据中心
Terraform 系列 -Terraform 简介
Terraform 系列 -Terraform 简介
|
11月前
|
数据中心
Terraform 的命令行工具
Terraform 的命令行工具
61 0
《阿里云产品手册2022-2023 版》——OpenAPI Explorer
《阿里云产品手册2022-2023 版》——OpenAPI Explorer
|
存储 弹性计算 前端开发
使用 CloudIaC 使 terraform 的代码部署更容易
CloudIaC 是一个开源基础架构自动化平台,它可以将Terraform及其他框架下的 deployment 集中到一个协作区,以方便你的整个团队使用。同时CloudIaC支持动态环境,策略合规检测,用户自助式UI 界面等功能。当您考虑使用Terraform 等低代码开发工具去实现多云资源的管控的时候,那么CloudIaC 不失为一个最佳解决方案。
1394 1
|
XML JSON JavaScript
工作流控制台Activiti Explorer使用指南!使用Activiti Explorer定义部署执行工作流
本篇文章详细地介绍了工作流Activiti控制台的使用。工作流Activiti控制台是一个简单的工作流客户端程序,默认使用内存数据库。主要包括四个功能模块:任务管理模块,流程定义模块,历史数据模块和流程引擎模块。通过了解使用Activiti控制台,可以很方便地通过Web界面使用工作流。
853 0
工作流控制台Activiti Explorer使用指南!使用Activiti Explorer定义部署执行工作流
|
API 开发工具 开发者
API Explorer 公测发布
产品介绍: OpenAPI Explorer是可视化 API 探索工具,提供使用网页和命令行两种方式,快速检索、调用各云产品以及 API 市场上开放的 API 。 通过此工具,可以查看 API 调用的请求内容和返回结果,并根据 API 请求自动生成 SDK 调用示例。
2510 0
|
测试技术 API 数据中心
Terraform 开发指南
本文主要向大家展示如何为阿里云 Terraform Provider 贡献自己的力量,帮助开发者和志同道合的朋友尽快加入到开源生态的建设中来。 本文面向所有的对Terraform熟悉和感兴趣的朋友,如果您还不了解Terraform,快快戳这里。
5518 0