Terraform 云初始化 AWS
Posted
技术标签:
【中文标题】Terraform 云初始化 AWS【英文标题】:Terraform Cloud-Init AWS 【发布时间】:2019-12-22 13:40:28 【问题描述】:我有一个用于部署 Ubuntu 的 Terraform 脚本。
resource "aws_instance" "runner"
instance_type = "$var.instance_type"
ami = "$var.ami"
user_data = "$data.template_file.deploy.rendered"
data "template_file" "deploy"
template = "$file("cloudinit.tpl")"
我的 cloudinit.tpl:
#cloud-config
runcmd:
- apt-get update
- sleep 30
- apt-get install -y awscli
我在 cloud-init.log 上找不到任何问题,并且在 /var/log 中找不到 user-data.log 文件以了解为什么 user-data 不起作用。
【问题讨论】:
为什么要睡觉?可以发/var/log/cloud-init-output.log
的相关部分吗?如果您在 AWS 控制台中查看实例的用户数据,它会显示什么?
我使用睡眠等待更新完成,在/var/log/cloud-init-output.log
我有这个:E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
顺便说一句。还有packages
,它也会自动为你运行apt-get update
。
【参考方案1】:
Cloud-init 有一个用于系统更新的特殊命令,它进行一致性操作
#cloud-config
package_update: true
package_upgrade: true
packages: ['awscli']
runcmd:
- aws --version
您可能会在日志文件中看到命令输出,对于 Ubuntu,它是 /var/log/cloud-init-output.log
【讨论】:
以上是关于Terraform 云初始化 AWS的主要内容,如果未能解决你的问题,请参考以下文章