您好我跟随This Tutorial关于使用EC2实例运行shell命令,但后来我尝试了This Method(第一个答案)。
它仍然无法运作。首先我得到了错误 意外关键字参数keypath
然后错误 '保留'对象没有属性dns_name
所以现在我真的很困惑。我将实例假脱机,并且我也使用了正确的实例ID。
如果有直观的方法在AWS实例上运行shell命令,我想知道。我已经设置了帐户和密钥,并且我已通过CLI运行shell命令,但我希望自动执行此过程。织物正在证明是一个挑战。
答案 0 :(得分:4)
您可以尝试kitten,这是一个在 aws 上自动化/管理多个服务器的 Python 工具。
例如
kitten run uptime ubuntu 18.105.107.20
您还可以同时在多个服务器上运行命令。 e.克
kitten run uptime ubuntu 18.105.107.20 34.229.135.48
答案 1 :(得分:2)
我为你提到的第二种方法提供了示例代码中的一个错误。我已经更正了示例代码,但基本上你需要更改它:
# Find the instance object related to my instanceId
instance = conn.get_all_instances(['i-12345678'])[0]
到此:
# Find the instance object related to my instanceId
instance = conn.get_all_instances(['i-12345678'])[0].instances[0]
感谢您找到问题所在。我很惊讶以前没有人提到它。