我启动了EC2 Wowza AMI(LINUX)的默认实例,然后通过'ec2-bundle-vol'捆绑/快照它,将其上传到s3并注册了AMI。
当我使用脚本启动带有用户数据(zip文件)的捆绑AMI时,它似乎无法执行它。
但是当我使用相同的用户数据(zip文件)启动默认实例时,它可以正常工作。
有谁知道为什么捆绑的AMI没有执行我指定的用户数据?
感谢。
答案 0 :(得分:1)
我不熟悉wowza或他们如何设置AMI但是......
ec2用户数据本身没有任何作用 - 它只有相关性,因为在该机器上运行的脚本会检查用户数据是否存在并对其执行某些操作。
有时这些脚本被设置为只在实例的首次启动时执行操作,然后将文件放在某处,以便在后续重启时启动脚本不会重新运行。
如果wowza amis在此基础上工作,那么当您第一次启动ami时,会遵循此过程,因此您保存到新AMI中的数据包括“不运行启动”脚本再次"文件。如果是这种情况,您需要在创建ami之前删除该文件。
答案 1 :(得分:1)
EC2上的用户数据机制允许图像上的脚本通过HTTP从链接本地地址(169.254.something)下载启动包作为文件 - 如果它是纯文本,它将直接执行。如果是压缩数据,wowza startup会将其解压缩到/ opt / working - Wowza启动过程会记录到Wowza日志目录中的wowzamediaserver_startup.log。
答案 2 :(得分:0)
我有同样的问题。看看我们的脚本,我发现我们正在删除脚本中的cloud init依赖性,使其成为一次运行操作。有问题的依赖是boto。