Terraform Cloud-Init AWS

У меня есть сценарий Terraform для развертывания Ubuntu.

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 и не могу найти файл user-data.log в / var / log, чтобы понять, почему пользовательские данные не работают.


person mleaf    schedule 16.08.2019    source источник
comment
Почему сон? Вы можете опубликовать соответствующую часть /var/log/cloud-init-output.log? Если вы просматриваете пользовательские данные для экземпляра в консоли AWS, что они показывают?   -  person ydaetskcoR    schedule 16.08.2019
comment
Я использую сон для ожидания завершения обновления, в /var/log/cloud-init-output.log у меня есть это: E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?   -  person mleaf    schedule 16.08.2019
comment
Кстати, есть. также packages, который также запускается apt-get update автоматически для тебя.   -  person StephenKing    schedule 16.08.2019


Ответы (1)


Cloud-init имеет специальную команду для обновления системы, которая обеспечивает согласованность.

#cloud-config
package_update: true
package_upgrade: true
packages: ['awscli']

runcmd:
  - aws --version

Затем вы можете увидеть вывод команды в файле журнала, для Ubuntu это /var/log/cloud-init-output.log

person Roman Shishkin    schedule 22.04.2021