【发布时间】:2020-10-24 16:49:55
【问题描述】:
我正在尝试决定是否将 Ansible 或 Terraform 用于项目。该项目正在云服务器上进行科学计算。我想说“这是一个输入文件,去拿一台 16vCPU 的计算机。当一切都完成后,将输出文件复制回来并销毁资源”。 我有没有办法告诉 terraform“当您检测到命令已完成或某些 api 被命中时销毁/对此资源采取行动”?
【问题讨论】:
-
据我所知,没有办法做到这一点。 Terraform 应用将始终以特定状态结束,该状态将被记住在您的状态文件中。我对如何实现这一点的第一个猜测是使用 lambda 函数。该函数可以使用 AWS 开发工具包来预置 EC2 实例、管理它们的状态(开始/终止)以及开始执行您的作业。您还可以记住在某处(例如在 SSM 中)启动的实例/正在运行的作业,因此您的 lambda 函数可以在作业完成后处理终止。
标签: terraform