Я боролся с этой проблемой последние несколько дней.У меня есть экземпляр, который создается с использованием шаблона terraform с userdata, который указан из файла шаблона.Экземпляр использует AMI сообщества Debian Jessie, и я могу просматривать пользовательские данные на экземпляре через wget.Я попробовал копию AMI, я попытался использовать # cloud-boothook и попытался поместить скрипт userdata в основной шаблон TF.
Я проверил выход облака-init-output.Журналы регистрируются, и есть ошибка, которая показывает, что мое исследование указывает на проблему с переменными среды и sudo, но я все еще ожидаю, что временный файл будет создан, потому что нет никакого вызова sudo, предшествующего этой строке эха (отсюда: userСценарии данных не выполняются без объяснения причин ).
util.py[WARNING]: Running scripts-user (<module 'cloudinit.config.cc_scripts_user' from '/usr/lib/python2.7/dist-packages/cloudinit/config/cc_scripts_user.pyc'>) failed
Раздел моего шаблона TF, который создает экземпляр:
resource "aws_instance" "example" {
ami = "ami-116d857a"
instance_type = "t2.micro"
source_dest_check = "False"
subnet_id = "${aws_subnet.public.id}"
key_name = "my-generic-keyname"
vpc_security_group_ids = ["${aws_security_group.vpn-sg.id}"]
user_data = "${data.template_file.bootscript.rendered}"
depends_on = ["aws_subnet.public"]
}
Пользовательские данные, содержащиеся в файле шаблона:
#!/bin/bash
echo 'Running user data' > /tmp/user-script-output.txt
sudo apt install strongswan-starter -y
sudo apt install curl -y
# Write secrets file
[cat <<-EOF > /etc/ipsec.secrets
# This file holds shared secrets or RSA private keys for authentication.
# RSA private key for this host, authenticating it to any other host
# which knows the public part.
privateip : PSK "$clientPSK"
EOF
Ожидаемое поведение: Когда я вхожу в экземпляр SSH, я могу просмотреть метаданные без проблем, но файл в / tmp не создан, curl не установлен и не является пакетом strongswan.
Я ценю помощь!