Terraform 支持自动化开通阿里云产品

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
云原生 API 网关,700元额度,多规格可选
简介: Terraform 现已支持自动化开通阿里云产品和基于样板间的 Landing 上云方案

hailuo_404411152_RF_线上全媒体用途 - 副本.jpg
作者丨箫竹

什么是 Terraform 和云产品开通

Terraform 一款开源的运行在客户端的自动化资源编排工具,以 IaC 的理念实现云资源的自动化运维。更多细节可以参考 Terraform 是什么

云产品开通,顾名思义,就是阿里云客户在使用某些云产品前,需要登录云产品官方控制台,手动点击开通按钮来完成对当前云产品的激活,在此之后才能通过 Terraform、CLI、API 等自动化的方式或者控制台来操作和使用云产品。就云产品开通而言,阿里云的云产品分为两大类:

• 免开通型产品
即无需任何的手动开通操作,不管是 Terraform 等的自动化方式还是控制台访问,开箱即用,直接可以创建新的云资源。典型的云产品如弹性计算 ECS,网络产品 VPC,负载均衡 SLB,弹性伸缩 ESS等。

• 开通型产品
此类产品在使用和创建云资源前,需要登录控制台完成开通动作,否则直接使用 Terraform 或者调用 OpenAPI会报云产品尚未激活的错误;访问控制台时也会自动跳转到云产品开通页面,导致客户使用起来非常的不方便。典型的云产品如 API 网关,日志服务,对象存储服务 OSS,密钥管理服务 KMS,函数计算等。

1.png

自动化是 Terraform 的一大亮点,但是云产品的手动开通动作却严重削弱了其自动化的能力,将原本只需要四步的操作拖成了八步。对客户而言,当使用云产品的使用逐渐丰富多样,使用的云账号逐渐增多时,手动开通的成本也在以 MxN 的量级在持续增加。

客户如何使用 Terraform 实现自动化开通

自动化开通,以 OpenAPI 的方式来消除自动化流程上的障碍,降低客户在使用云产品时的成本,提升客户使用体验。

基于 Terraform 的自动化开通方案,就是将云产品开通的动作以 DataSource 的方式在模板中定义出来,借助云产品提供的自动化开通的 Open API 来消除使用 Terraform 过程中的云产品开通障碍,解决客户使用 Terraform 的痛点。

2.png

对客户而言,当需要使用某个开通型产品时,只需要在模板中增加一个对应云产品开通的 DataSource,并设置开通的动作 enable = "On" ,然后执行简单的 terraform plan 或者 terraform apply 命令即可完成自动化开通。

阿里云 Terraform Provider 从 1.96.0 版本开始,已经支持对 2 款云产品 API 网关日志服务的自动化开通,具体的使用如下所示:

API 网关自动化开通

data "alicloud_api_gateway_service" "open" {
    enable = "On"}

日志服务自动化开通

data "alicloud_log_service" "open" {
    enable = "On"}

基于 Terraform 的自动化开通方案在解决了客户开通云产品问题上的痛点问题的同时,还提供了以下几个亮点功能:

1.将控制权交还给客户
每个客户都有自己选择是否要开通云产品的权利,当需要开通需求时,只需要在模板中设置 enable = "On" 即可,开通之后,将返回云产品开通的状态。

2.支持业务幂等
不管执行多少次模版,对于已经开通的云产品,将直接返回开通状态,避免多次开通带来的潜在错误。

3.使用简单
只有一个控制开关的参数,无需其他的设置参数。

更多云产品提供了自动化开通的 OpenAPI

除了 Terraform 已经支持的两款云产品 API网关和日志服务外,越来越多的云产品开始提供自动化开通的 OpenAPI,客户可以直接通过访问 OpenAPI Explore 调用对应的 OpenAPI 来实现自动化开通:

云产品 自动化开通的 OpenAPI
API 网关 OpenApiGatewayService
日志服务 OpenSlsService
批量计算 OpenBatchComputeService
混合云备份服务 OpenHbrService
自然语言处理 OpenAlinlpService

总结

云产品手动开通是 Terraform,CLI,OpenAPI 等自动化操作方式的拦路虎,基于 Terraform 的自动化开通方案旨在解决这个拦路虎,降低客户使用成本,提供更好的使用体验。目前 Terraform Provider 已经支持了两个云产品的自动化开通,对更多云产品的自动化开通能力,我们在持续支持的路上,敬请期待。

相关文章
|
机器学习/深度学习 人工智能 自然语言处理
当语言遇见智慧火花:GPT家族历代模型大起底,带你见证从平凡到卓越的AI进化奇迹!
【10月更文挑战第6天】随着自然语言处理技术的进步,GPT系列模型(Generative Pre-trained Transformers)成为该领域的明星。从GPT-1的开创性工作,到GPT-2在规模与性能上的突破,再到拥有1750亿参数的GPT-3及其无需微调即可执行多种NLP任务的能力,以及社区驱动的GPT-NeoX,这些模型不断进化。虽然它们展现出强大的语言理解和生成能力,但也存在如生成错误信息或偏见等问题。本文将对比分析各代GPT模型的特点,并通过示例代码展示其部分功能。
439 2
|
数据安全/隐私保护
关于 OAuth 2.0 统一认证授权
随着互联网的巨头大佬逐渐积累了海量的用户与数据,用户的需求越来越多样化,为了满足用户在不同平台活动的需求,平台级的厂商则需要以接口的形式开放给第三方开发者,这样满足了用户的多样性需求,也可以让自己获得利益,让数据流动起来,形成给一个良性的生态环境,最终达到用户、平台商、第三方开发者共赢。
3238 0
|
缓存 算法 测试技术
代码审查中如何进行性能优化?
代码审查中如何进行性能优化?
336 58
|
搜索推荐 安全 数据安全/隐私保护
构建高效网站后台会员管理系统:实战指南与代码示例
【7月更文挑战第5天】在当今的互联网时代,几乎每个网站或应用程序都需要一个强大的会员管理系统来维护用户信息、权限控制以及个性化体验。一个设计良好的会员管理系统不仅能够提升用户体验,还能增强数据安全性和运营效率。本文将深入探讨如何从零开始构建一个网站后台会员管理系统,涵盖系统设计思路、关键技术选型、功能模块实现,以及实战代码示例。
1292 3
|
监控
在进行多路直播时,如何保证不同视频源之间的同步性?
【10月更文挑战第7天】在进行多路直播时,如何保证不同视频源之间的同步性?
427 1
|
数据采集 人工智能 搜索推荐
|
12月前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解兼容性函数在注意力机制中的角色与应用
深入理解兼容性函数在注意力机制中的角色与应用
209 1
|
消息中间件 NoSQL 关系型数据库
【Kubernetes部署Shardingsphere、Mycat、Mysql、Redis、中间件Rocketmq、Rabbitmq、Nacos】
【Kubernetes部署Shardingsphere、Mycat、Mysql、Redis、中间件Rocketmq、Rabbitmq、Nacos】
503 0
|
存储 NoSQL 关系型数据库
【MongoDB系列笔记】MongoDB相关概念
MongoDB 是一个开源、高性能、无模式的文档型数据库,常用于处理高并发、海量数据的场景,尤其适合社交、游戏、物流、物联网和视频直播等领域。与传统的关系型数据库相比,MongoDB 更适合存储结构较为灵活、数据量大且事务性要求不高的数据。当面临高读写需求、大规模数据存储和高可扩展性需求时,可以选择 MongoDB。MongoDB 支持类似于 JSON 的 BSON 数据格式,具有丰富的数据模型,如文档、集合和数据库,以及强大的查询和索引功能。此外,MongoDB 提供复制集以实现高可用性和水平扩展性,以适应业务发展和数据增长。
334 0
|
数据采集 安全 网络安全
阿里云云效产品使用问题之流水线的环境可以在什么地方进行配置
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。