如何使用 AWS Lambda 脚本通过 Terraform 部署 AWS 基础设施

How can you use AWS Lambda scripts to deploy AWS Infrastructure with Terraform

我已经在 Terraform 中设置了整个 AWS 基础设施,一切正常。所以现在,我不想从我的本地机器 运行 terraform apply 部署它,而是想使用 AWS Lambda 脚本完全无服务器地部署我的基础设施。有没有人知道如何做到这一点或在哪里阅读这个概念?直到现在在互联网上没有找到任何有用的东西。

我认为我的源代码可能位于 S3 Bucket 上,Lambda 函数获取它,并在函数本身中设置的 terraform 中运行它,我猜是因为 terraform 是一个很小的程序。

我会尝试如下:

  1. 创建 lambda container image which would include official terraform binary. The actual lambda function code would use, lets say, python's python-terraform package to interact with the binary. Or directly invoke the binary using subprocess.run.
  2. 使用创建资源所需的所有权限设置 lambda 执行角色。
  3. 使用容器映像创建 lambda 函数。

我还没有亲自尝试过,但我认为它应该有效。