Terraform 复制但 (cloud-init) 没有 运行 user_data Bitnami EC2 实例上的脚本

Terraform copies but (cloud-init) doesn't run user_data script on Bitnami EC2 instance

在部署我的 Bitnami EC2 实例(AMI:ami-0f185ef928bf37528)后,我正在尝试让 Terraform 运行 我的 bash 脚本。我可以在 /var/lib/cloud/instance/scripts/part-001 找到该文件,但它不是 运行.

我想要的脚本有点复杂,但即使这样也不是 运行:

#!/bin/sh
set -x
echo "Hello World.  The time is now $(date -R)!" | tee /root/output.txt
mkdir /opt/bitnami/projects
exit

main.tf 包含

resource "aws_instance" "app_server" {
  ami             = "ami-0f185ef928bf37528"
  instance_type   = "t2.micro"
  key_name        = "app_server"
  security_groups = [aws_security_group.ec2_sg.name]
  user_data       = file("init.sh")
}

我在 /var/log/cloud-init-output.log/var/log/cloud-init.log

中没有看到任何明显的问题或指标

我试图重现您的问题,但您的代码 完美运行

      ___ _ _                   _
      | _ |_) |_ _ _  __ _ _ __ (_)
      | _ \ |  _| ' \/ _` | '  \| |
      |___/_|\__|_|_|\__,_|_|_|_|_|
  
  *** Welcome to the Node.js packaged by Bitnami 17.8.0-2                 ***
  *** Documentation:  https://docs.bitnami.com/aws/infrastructure/nodejs/ ***
  ***                 https://docs.bitnami.com/aws/                       ***
  *** Bitnami Forums: https://community.bitnami.com/                      ***
bitnami@ip-172-31-37-75:~$ sudo su -
root@ip-172-31-37-75:~# ls
output.txt
root@ip-172-31-37-75:~# cat output.txt 
Hello World.  The time is now Sat, 02 Apr 2022 22:53:55 +0000!
root@ip-172-31-37-75:~# cd /opt/bitnami/
apache/       bncert/       common/       gonit/        node/         python/       scripts/      var/          
apache2/      bndiagnostic/ git/          nami/         projects/     redis/        stats/        
root@ip-172-31-37-75:~# cd /opt/bitnami/p
projects/ python/   
root@ip-172-31-37-75:~# cd /opt/bitnami/p
projects/ python/   
root@ip-172-31-37-75:~# cd /opt/bitnami/projects/

因此,您使用的真实代码可能与问题中的不同。