【发布时间】:2015-08-26 11:21:58
【问题描述】:
我在与 AutoScale 组关联的 AWS 启动配置中有一个 UserData 脚本(在 python 中)。当新 (ubuntu) 实例启动时,此脚本会在它们上运行以执行所需的任何设置。
直到现在,我的安全组配置都比较松散。允许从这些实例到 Internet 上任何地方的出站流量。 UserData 脚本运行良好。但我只是关闭了该出站规则以提高安全性。现在 UserData 脚本随机根本不会执行,或者有时当它执行时,它会失败。我可以通过检查/var/log/cloud-init-output.log 文件看到这一点。有没有人见过这种行为?有什么建议的解决方案吗?
当脚本失败时,我可以看出它在某些执行网络发现的 Boto 调用(例如 boto.vpc.VPCConnection().get_all_vpcs())上失败了。如果出站流量规则阻止它查询此信息,这将失败似乎是合理的。但是我应该将什么 CIDR 和端口添加到允许 Boto 执行此操作的安全组规则中?
以下是我的安全组的出口规则不起作用时的样子。 IP 地址很敏感,所以我把它们涂黑了。
以下是我的安全组的 Egress 规则在运行时的样子。正如你所看到的,我允许它向全世界开放。我觉得那是不安全的。我想把它锁起来。
失败时可以看到/var/log/cloud-init-output.log文件here。
你可以看到关联的/var/log/cloud-init.log文件here。
【问题讨论】:
-
你能分享你在安全组上使用的出站规则吗?
-
你能发布你的用户数据脚本吗?
-
也分享云端初始化日志中的错误
-
我认为它只需要 443。我也不会那么担心出站流量,除非您认为您不能相信在您的实例上运行的应用程序不会打开与坏事。
-
我已在原始帖子中添加了
/var/log/cloud-init-ouput.log文件(敏感数据已编辑)。不幸的是,我不能发布 UserData 脚本本身,因为它是专有的。
标签: python amazon-web-services boto