[英]Python using Fabric to connect to an EC2 instance
我正在学习Fabric 。 我要实现以下目标: ssh进入我的EC2机器并进入主目录 。
我从以下内容开始:
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()
但这给了我一个空白列表[]我确实有1个实例在运行,所以这是不正确的。
尝试如下更改代码中的一些内容
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())
要么
region = ec2.get_region('eu-west-1')
self.ec2conn = ec2.connection.EC2Connection(self.access_key,
self.secret_key, region=region)
print(self.get_instances())
请记住, ec2.connect_to_region
和ec2.connection.EC2Connection
都返回ec2.connection.EC2Connection
对象。 请参考这里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.