自动化服务台概述

更新时间:
复制为 MD 格式

自动化服务台(IaC Service)是阿里云基于 Terraform 提供的全托管基础设施即代码(Infrastructure as Code)服务,支持在线完成云资源的自动化编排、已有资源纳管和持续运维,无需搭建和维护本地环境。

核心能力

全托管资源编排

自动化服务台以 Serverless 方式执行 Terraform 模板,执行过程不消耗计算资源。通过控制台或 OpenAPI 提交模板,可完成资源的创建、变更和销毁操作。

平台自动管理 Terraform 状态文件(terraform.tfstate),可避免状态文件丢失和冲突。执行策略支持手动和自动两种执行模式,以及手动、自动、版本发布、参数集变更四种触发方式,以满足不同安全等级和自动化程度的需求。

资源编排工作流

提交模板 → 创建任务 → 发起作业 → 预览变更(Plan) → 确认执行(Apply) → 资源就绪

已有资源自动化导出

原生 Terraform 的 import 命令一次只能导入一个资源,且导入后需手动编写模板代码。当已有资源数量较多时,逐个导入的成本高。

自动化服务台提供批量导出能力。通过选择资源类型、地域并设置过滤条件,可将已有资源批量导出为 Terraform 模板和状态文件,用于后续的持续管理。

RAM Policy 自动化生成

执行 Terraform 模板需要特定的 RAM 权限。由于模板调用的底层 API 对用户不可见,手动推算权限策略较为困难且容易出错。权限过大会带来安全风险,权限过小则导致模板执行失败。

自动化服务台支持在线解析模板并自动生成 RAM Policy。通过 GitHub、GitLab 或 OSS 提供模板,可自动生成该模板所需的最小权限策略,以实现最小权限原则并快速完成 RAM 授权。

事前合规审计

自动化服务台与阿里云配置审计服务联动,在执行 Terraform 模板前进行合规预检。在配置审计控制台为规则启用“开启事前拦截”后,每次执行模板前,系统将自动调用配置审计服务评估资源新增或者变更的合规性。不合规的新增或者变更将被阻止,从而在发生前拦截合规风险。

偏差检测

通过控制台或 API 直接修改由 Terraform 管理的资源,可能导致实际状态偏离模板定义(即配置漂移)。偏差检测功能通过持续监控模板(期望状态)、状态文件(记录状态)和云上实际状态三者间的差异,及时发现配置漂移,确保基础设施状态与模板定义一致。

场景化测试

场景化测试通过周期性模拟执行 Terraform 模板,持续验证模板的可用性。该功能支持断言检查、定时触发、Terraform Provider 发布时自动触发等能力,用于在问题影响业务前发现并解决,为 Terraform Provider 回归测试和交付验证提供质量保障。

应用场景

Landing Zone:快速搭建云上初始环境

首次使用阿里云或新账号时,通常需要完成开通云产品、搭建 RAM 权限体系、配置网络环境等准备工作。当账号数量增加时,这些重复性工作的成本也随之增加。

通过自动化服务台的在线执行能力和预定义的 Landing Zone 模板,可快速完成初始化配置,搭建标准化的云上环境。

适用对象:首次使用阿里云或新开账号的用户、管理多账号的企业 IT 管理员。

GitOps 自动化流水线:代码变更驱动基础设施更新

将基础设施代码托管在 GitHub 或 GitLab,并在自动化服务台中进行配置。当代码变更时,系统将自动触发预览、确认和执行流程,实现基础设施变更的持续交付。

适用对象:具备 CI/CD 实践经验的 DevOps 团队。

环境克隆:从生产环境复制测试环境

预发环境与生产环境的不一致可能导致测试结果不可靠,而常驻的预发环境会产生额外资源成本。利用已有资源导出功能,可将生产环境的资源导出为模板,并基于该模板快速克隆出一致的测试环境,测试完成后可自动释放资源。

适用对象:需要管理多套环境的开发和测试团队。

账号迁移:跨账号资源自动化搬迁

将业务和资源从一个账号迁移至另一账号时,主要挑战在于如何在新账号中快速创建资源,并在旧账号中安全地清理资源。通过自动化服务台,可将源账号的资源导出为模板并共享给目标账号。目标账号基于该模板自动创建资源,源账号则可通过销毁功能自动清理资源。

适用对象:适用于企业合并、账号整合等跨账号迁移场景。

基本概念

自动化服务台的核心概念及其层级关系如下:

模板(Template)
  └── 模板版本(Template Version)
        └── 参数集(ParameterSet)  ← 也可绑定到模板或任务
              └── 任务(Task)
                    └── 作业(Job)

概念

定义

类比

模板(Template Version)

管理 Terraform 代码的逻辑单元,通过版本控制机制管理一个或多个 Terraform 模板文件。

代码仓库

模板版本(Template Version)

模板在特定时刻的代码快照。当模板的来源地址或版本发生变更时,会自动创建新的模板版本。

Git Commit

参数集(ParameterSet)

一组可复用的模板输入参数集合,可关联至模板、模板版本或任务。

环境变量配置文件

任务(Task)

将模板版本、参数集等配置关联起来的执行单元。每个任务绑定一个特定的模板版本。

CI/CD Pipeline

作业(Job)

任务的一次具体执行实例。作业负责实际调用 Terraform 命令(例如 Plan、Apply、Destroy)。

Pipeline 的一次运行(Run)

说明

每个模板可以创建多个任务,同一模板的不同任务之间完全隔离,对应的状态文件也是独立的。

安全保障

自动化服务台采用容器级别的安全隔离机制,保障执行环境的安全性。每次 Terraform 模板的执行都在一个独立的、隔离的容器中进行,不同用户和不同任务的执行环境互不影响。

主要安全措施如下:

  • 执行环境隔离:每次作业在独立容器中运行,执行完毕后容器自动销毁,不残留任何数据。

  • 凭证安全:AK/SK 等敏感凭证加密传输和存储,执行过程中通过安全通道注入,不落盘。

  • 网络隔离:执行容器的网络访问受到严格控制,仅允许访问必要的阿里云 API 端点。