我正在使用 Terraform 在亚马逊 ec2 上设置一个便宜的 postgres 服务器。
我知道我可以在设置 ec2 实例时添加用户数据文件。我知道使用 terraform,我可以使用该file(..)
函数提供该用户数据脚本文件。到目前为止,一切都很好。
我的问题是我还想自动化 pg 设置的最后步骤,即在同一用户数据脚本的执行期间修改pg_hba.conf
和文件。postgresql.conf
那可能吗?
即,如果我在我的其他 terraform 文件旁边创建一个pghbaconftpl.conf
文件,我可以cat pghbaconftpl.conf > /correct/path/to/pg_hba.conf
在 ec2 用户数据脚本中执行并期望它工作吗?我不明白这将如何工作。:-/
一般来说,是否可以注入其他可以从用户数据脚本启动的脚本文件?如果是这样,怎么做?
任何帮助表示赞赏。
您可以使用templatefile函数来创建所需文件的模板。
或者,您可以使用 remote-exec 在远程文件上运行您想要的任何内容
所以你可以做
或您想在远程实例上运行的任何其他内容。您可以指向一个 shell 脚本,从您的 terraform repo 复制一个文件,将其模板化到远程实例上的某个位置并运行它。
这两种方法将取决于您到底要做什么。