Python使用Fabric连接到EC2实例
我正在学习织物。我想实现以下功能:将ssh连接到我的EC2机器中,并将ls连接到主目录中 我从以下几点开始:Python使用Fabric连接到EC2实例,python,amazon-ec2,fabric,Python,Amazon Ec2,Fabric,我正在学习织物。我想实现以下功能:将ssh连接到我的EC2机器中,并将ls连接到主目录中 我从以下几点开始: from boto import ec2 from fabric.colors import green as _green, yellow as _yellow class EC2Conn: def __init__(self): print(_green("Started...")) self.ec2conn = None
from boto import ec2
from fabric.colors import green as _green, yellow as _yellow
class EC2Conn:
def __init__(self):
print(_green("Started..."))
self.ec2conn = None
self.user = 'fabUser'
self.access_key = 'xxxx'
self.secret_key = 'xxxx'
def connect(self):
print(_green("Connecting..."))
ec2.connect_to_region("eu-west-1a")
self.ec2conn = ec2.connection.EC2Connection(self.access_key, self.secret_key)
print(self.get_instances())
def get_instances(self):
return self.ec2conn.get_all_instances()
def run_me():
a = EC2Conn()
a.connect()
但这给了我一个空白列表[]我确实有一个实例正在运行,因此这是不正确的。请尝试在代码中做如下更改
self.ec2conn = ec2.connect_to_region('eu-west-1',
aws_access_key_id=self.access_key,
aws_secret_access_key=self.secret_key)
print(self.get_instances())
或
记住
ec2.connect\u到\u区域
和ec2.connection.EC2Connection
都返回ec2.connection.EC2Connection
对象。参考是否显示任何错误?无错误它与详细信息连接,但显示为空[]。当它应该有2个实例时。我设置了一个新用户,并给了他们正确的权限(完全管理)顶级代码给了我非类型对象没有属性“get_all_instances”,第二个用户做了相同的[]blank你检查了区域了吗?对吗?使用aws控制台进行检查。在控制台中,它说明实例的可用区域为eu-west-1a。将eu-west-1a
更改为eu-west-1
。现在应该可以了。
region = ec2.get_region('eu-west-1')
self.ec2conn = ec2.connection.EC2Connection(self.access_key,
self.secret_key, region=region)
print(self.get_instances())