【发布时间】:2019-04-19 20:20:53
【问题描述】:
我正在通过 cloudformation 模板启动 EC2,但几分钟后它一直关闭,可能是我的公司可能有一些限制。我没有任何迹象表明它为什么会关闭,是否有任何地方可以查看日志以找出答案? 谢谢
【问题讨论】:
标签: amazon-web-services amazon-ec2 amazon-cloudformation
我正在通过 cloudformation 模板启动 EC2,但几分钟后它一直关闭,可能是我的公司可能有一些限制。我没有任何迹象表明它为什么会关闭,是否有任何地方可以查看日志以找出答案? 谢谢
【问题讨论】:
标签: amazon-web-services amazon-ec2 amazon-cloudformation
首先,您是否确认这不是您自己的堆栈中的启动错误?检查堆栈状态,如果显示“回滚完成”,则错误是你的。通常这是由错误的 cloud-init 脚本引起的,并且它们可能很难诊断,因为当实例终止时日志会消失(另一个答案告诉您如何检索系统日志,但这只是使用的日志之一在启动期间)。
要验证是否是关闭日志的自动化过程,您可以使用CloudTrail(假设您有访问权限)。您正在寻找引用您的实例的TerminateInstances 事件;事件详细信息将显示执行该操作的用户的名称。
【讨论】:
尝试使用 AWS cli?
aws ec2 describe-instances --output table --instance-id youInstanceID
aws cli 命令的详尽列表HERE
【讨论】:
您可以使用此命令与aws-cli 一起查看StateReason:
aws ec2 describe-instances --instance-id i-xxxxxxx --query "Reservations[*].Instances[*].StateReason"
也可以从控制台获得:
【讨论】:
对于 ec2 实例日志:- 选择您的 EC2 实例,转至 Actions 在操作下转至 Instance settings,然后选择 Get system logs。在这里,您将获得 ec2 实例的日志。
对于 cloudformation 日志:- 选择您的 cloudformation 堆栈,然后在 Events 下,您将获得 cloudformation 的所有日志。
要解决此检查您的 IAM 用户的访问权限。
【讨论】:
您可以在 cloudformation 控制台本身中轻松找到原因。
在控制台中为您的 EC2 选择堆栈。在底部检查中,您可以看到一个名为 EVENTS 的选项卡。点击那个。您将在那里找到所有信息。
【讨论】: