管理任务
需要重复执行一份Terraform配置并持续维护资源状态时,可以创建任务。任务关联一个已发布的模板版本及其执行配置;每次执行任务都会创建一个作业,由作业完成Terraform Plan、Apply、状态刷新或销毁等操作。
创建任务
创建任务前,完成以下准备工作:
创建模板并发布至少一个版本。
如果选择非手动触发模式,创建一个信任自动化服务台的RAM角色,并为该角色授予模板中涉及的云资源操作权限。自动化服务台使用该角色在无人值守场景下执行任务。
如果需要集中管理任务变量,提前创建参数集。
按照以下步骤创建任务:
登录自动化服务台控制台。
登录中国站自动化服务台控制台。
配置任务的基础信息。
配置项
必填
说明
模板ID和版本
是
选择模板及其已发布版本。创建任务后可以切换版本,但不能更换模板。
任务名称
是
输入账号内唯一的任务名称。
任务描述
否
输入任务用途等说明。
关联参数集
否
最多关联5个参数集。变量值会在执行时合并到任务参数中。
执行模式
是
选择Plan完成后等待人工确认,或自动执行Apply。默认值为手动执行。
触发模式
是
选择创建作业的触发条件。默认值为手动触发。
展开高级选项,按需配置以下选项:
RAM角色:使用非手动触发模式时必填。角色需要信任自动化服务台,并具备管理目标云资源的权限。
资源保护策略:按需拦截Plan中的删除、原地变更或删除重建操作。
跳过Terraform属性验证:跳过Terraform执行前的资源属性校验。仅在确认校验结果不适用于当前配置时开启。
跳过Terraform地域校验:跳过Alicloud Provider的地域校验。仅在确认目标地域可用,但尚未通过校验时开启。
Terraform版本:指定任务使用的Terraform引擎版本。不配置时使用系统默认版本。
警告开启跳过验证后,系统不再执行对应的前置检查,但不代表资源属性或目标地域一定可用。配置问题可能在Terraform或Provider执行阶段才被发现。
单击提交。
任务创建后的行为取决于触发模式。手动触发、模板发布新版本时触发和参数集变更时触发不会在创建任务后立即执行;自动触发会在任务创建成功后创建作业。
配置触发模式
触发模式决定系统何时创建作业。
触发模式 | 触发条件 | RAM角色 |
手动触发 | 单击执行任务或调用创建作业接口 | 不需要 |
自动触发 | 创建任务、修改任务关联的模板版本,或将触发模式切换为自动触发 | 需要 |
模板发布新版本时触发 | 关联模板发布新版本 | 需要 |
参数集变更时触发 | 已关联参数集的内容或绑定关系发生变化 | 需要 |
模板发布新版本触发任务后,任务会切换到新发布的模板版本。参数集变更时触发要求任务至少关联一个参数集。
自动触发事件发生时,任务必须处于可执行状态。如果任务正在执行或等待确认,系统不会为该事件创建新的作业。
配置执行模式
执行模式决定Plan完成后的处理方式:
手动执行:Plan检测到变更后,作业进入等待确认状态。查看变更内容后,选择确认执行或放弃执行。
自动执行:Plan检测到变更后,系统自动执行Apply。
执行模式和触发模式相互独立。例如,“手动触发 + 自动执行”表示手动启动任务,但Plan完成后自动执行Apply。
配置资源保护策略
资源保护策略在Plan完成后检查本次作业包含的变更类型。如果Plan包含被保护策略禁止的操作,作业执行失败,不会进入Apply阶段。
保护策略 | 拦截的变更 |
删除保护 | 常规Plan中删除资源的操作 |
变更保护 | 原地修改资源属性的操作 |
删除重建保护 | 先删除现有资源再创建新资源的操作 |
资源保护策略不代替销毁操作的人工确认。显式执行销毁资源时,删除保护不会阻止资源销毁。执行销毁前,检查销毁计划并确认数据备份和依赖关系。
要取消保护,修改任务并取消选中对应策略。新策略从下一次作业开始生效。
管理关联参数集
可以在创建或修改任务时关联参数集,也可以在任务详情页的关联参数集页签中添加或解除关联。每个任务最多关联5个参数集。
如果触发模式为自动触发或参数集变更时触发,修改参数集内容或绑定关系会自动创建作业。任务正在执行或等待确认时,不能修改参数集关联。
执行任务
手动触发任务时,按照以下步骤执行:
在任务列表中找到目标任务,或进入任务详情页。
单击执行任务。
填写本次作业的描述和模板变量,然后提交。
查看作业的Plan结果。
手动执行模式下,确认变更符合预期后,单击确认并执行;要取消本次变更,单击放弃执行。
自动执行模式下,Plan完成后系统自动执行Apply,无需人工确认。
任务执行期间不能再次执行、修改或删除该任务。
修改任务
在任务列表或任务详情页单击修改任务,可以修改以下配置:
任务名称和描述
模板版本
关联参数集
触发模式和执行模式
RAM角色
资源保护策略
跳过Terraform属性验证
跳过Terraform地域校验
Terraform版本
创建任务后不能更换模板。标签通过任务列表中的标签操作单独管理。
如果任务使用手动触发模式,修改模板版本不会自动执行任务。如果任务使用其他触发模式,修改模板版本后系统会创建作业。将触发模式从其他模式切换为自动触发时,系统也会创建作业。
任务正在执行或等待确认时不能修改。等待当前作业结束或放弃执行后再操作。
克隆任务
要基于已有任务创建配置相似的新任务,在任务列表中单击克隆任务并确认操作。克隆任务的名称以Clone_开头。
克隆操作会复制模板及版本、任务参数、参数集关联、触发模式、执行模式、RAM角色、资源保护策略、Terraform校验配置和Terraform版本等配置,但不会复制标签、历史作业、Terraform状态文件或已创建的云资源。
刷新资源状态
状态刷新用于检查云资源的实际配置,并将结果同步到Terraform状态文件。该操作不会创建、修改或删除云资源。
按照以下步骤刷新状态:
进入任务详情页。
选择。
确认操作。
在作业详情中查看刷新结果。
状态刷新会创建一个新的作业。任务使用的Terraform版本必须不低于0.15.4。
销毁资源
销毁资源会删除任务状态文件中管理的云资源。相关云产品可能存在释放保护、依赖关系或数据保留规则,实际结果以销毁作业为准。
销毁资源可能造成服务中断和数据永久丢失。执行前备份重要数据,并检查Plan中所有待删除资源。显式执行销毁时,任务的删除保护不会阻止资源删除。
按照以下步骤销毁资源:
进入任务详情页。
选择。
确认创建销毁作业。
查看销毁计划。
手动执行模式下,确认计划后单击确认并执行。
自动执行模式下,计划完成后系统自动执行销毁。
等待作业完成,并确认任务的资源列表中不再包含需要释放的资源。
删除任务
删除任务前,确认任务没有正在执行或等待确认的作业,并且资源列表中没有管理中的云资源。如果仍有资源,先执行销毁资源并确认销毁成功。
按照以下步骤删除任务:
进入任务详情页。
选择。
确认删除。
删除任务会删除任务记录和历史作业,解除参数集关联,并使相关状态无法再通过该任务管理。删除后无法恢复。删除任务不会删除云资源;控制台会在任务仍管理资源时阻止删除。
配额与限制
任务存在以下配额和限制:
限制项 | 默认值 | 可申请上限 |
单个阿里云账号的任务数 | 100个 | 1,500个 |
同时运行的作业数 | 100个 | 500个 |
单个任务关联的参数集数 | 5个 | 不可调整 |
任务名称长度 | 2~129个字符 | 不可调整 |
任务名称支持中文、英文字母、数字、短划线(-)、下划线(_)和半角句号(.),首尾必须是中文、英文字母或数字。同一阿里云账号下的任务名称不能重复。实际配额以控制台显示为准。
常见问题
任务和资源栈有什么区别?
任务执行一份普通Terraform模板,适合管理单一配置。资源栈关联一个资源栈模板版本,可以在该模板中组织多个相互依赖的组件,并定义多个部署实例。
为什么非手动触发模式需要RAM角色?
非手动触发事件可能在当前用户离线时发生。自动化服务台需要使用RAM角色读取Terraform状态并操作模板中定义的云资源。角色必须信任自动化服务台,并具备目标云资源的相关权限。
触发模式和执行模式有什么区别?
触发模式决定何时创建作业,执行模式决定Plan完成后是否自动执行Apply。两者可以独立组合。
删除任务后,云资源会怎样?
删除任务本身不会删除云资源。控制台要求先销毁任务管理的资源,再删除任务。如果通过其他方式使云资源脱离任务管理,仍需在对应云产品中检查并清理不再使用的资源。