【问题标题】:Manipulate a file before provisioning in terraform在 terraform 中进行配置之前操作文件
【发布时间】:2019-01-20 05:26:59
【问题描述】:

所以我创建了一个执行以下操作的 terraform 脚本:

  1. 启动 EC2 实例
  2. 复制一些文件
  3. 运行一些远程命令从 repos 安装东西
  4. 创建弹性搜索服务域

现在我需要使用从 elasticsearch 域返回的端点配置 ec2 实例,因此应用程序正在使用正确的端点(目前它具有一些默认值)。

如何将端点值传递到文件中,然后将其复制到 ec2 实例。推荐的方法是什么?

提前致谢。

【问题讨论】:

  • 这个范围很广..到目前为止您尝试了什么?
  • 我已经在使用文件配置将本地文件复制到 ec2 实例。我真正追求的是在将文件发送到 ec2 实例之前更改应用程序配置文件的某种方式。如果我将其转换为盐堆栈,我希望在使用托管文件功能时实现与使用 jinja 模板相同的效果。基本上是根据变量改变部分文件内容。
  • Terraform 的重点更多地放在基础设施层面,而不是操作系统和应用程序配置。你可以执行shell命令并使用好老的sed、grep等朋友。
  • 使用remote-exec...

标签: templates terraform file-copying terraform-provider-aws


【解决方案1】:

当您引用某个资源的输出时,Terraform 将自动得出顺序。您可以使用file provisioner 在 EC2 实例上创建文件。

【讨论】:

  • 文件配置是否也可以替换部分文件内容?
  • 我不知道。
【解决方案2】:

如果不需要在 Elasticsearch 域之前创建 EC2 实例,您可以使用template 提供程序并根据 Elasticsearch 资源的值渲染文件,然后渲染并复制到 EC2 实例。

【讨论】:

    猜你喜欢
    • 2021-11-20
    • 1970-01-01
    • 2021-09-09
    • 2021-11-04
    • 2017-10-12
    相关资源
    最近更新 更多