我们烘烤AMI,最近我想运行一些用户数据脚本,以便在实例启动并投入使用时通知云的形成。 我正在使用cfn-signal来做到这一点。 在原始的ubuntu映像上,脚本将会执行,但是在烘烤我们的自定义AMI之后,用户数据脚本不能运行。
如果我将“#cloud-boothook”放在它执行的脚本的顶部,但因为它执行得太早,所以对于通知机器何时启动无用。 我希望有人知道标志或文件的位置,它指示cloudinit它是一台机器的第一启动。
我也尝试修改configuration,像这里所build议的
我知道必须有一个标志或文件,我可以在AMI创build过程之前删除,但无法find有关该标志或文件可能的任何信息。
正如我testing的那样, /var/lib/cloud目录中有一些引导数据。 在我清除该目录后, 用户数据脚本正常工作。
rm -rf /var/lib/cloud/*
您需要确保在此期间cloud-init没有运行。 否则,您需要再次删除它。
如果您尝试删除/var/lib/cloud/用户数据内部,则尤其如此。 在这种情况下,你应该使用类似于:
echo "rm -rf /var/lib/cloud/*" | at now + 1 min
在用户数据脚本的末尾。