无法连接到EC2使用Python boto
问题描述:
我是一个完整的noob与Python和boto,并试图建立一个基本连接到ec2服务。 我运行下面的代码:无法连接到EC2使用Python boto
ec2Conn = boto.connect_ec2('username','password')
group_name = 'python_central'
description = 'Python Central: Test Security Group.'
group = ec2Conn.create_security_group(group_name, description)
group.authorize('tcp', 8888,8888, '<a href="http://0.0.0.0/0">0.0.0.0/0</a>')
,并得到以下错误: AWS无法验证所提供的访问凭据
我读过一些帖子,这可能是由于我的机器和EC2服务器,但根据日志之间的时间差,它们是相同的:
host:ec2.us-east-1.amazonaws.com x-amz-date:20161213T192005Z
host;x-amz-date 515db222f793e7f96aa93818abf3891c7fd858f6b1b9596f20551dcddd5ca1be 2016-12-13 19:20:05,132 boto [DEBUG]:StringToSign:
任何想法如何得到这个连接上运行?
谢谢!
答
对AWS API的调用需要通过验证密钥和密钥。这些可以从身份和访问管理(IAM)控制台,在用户的安全证书选项卡下获得。
请参见:Getting Your Access Key ID and Secret Access Key
如果您不熟悉使用Python,你可能会发现它更容易使用AWS Command-Line Interface (CLI)调用AWS服务。例如,该单行命令可以启动Amazon EC2实例:
aws ec2 run-instances --image-id ami-c2d687ad --key-name joe --security-group-id sg-23cb34f6 --instance-type t1.micro
您使用'boto'推出的情况下,无法连接到实例。你想'ssh'到你创建的实例吗? – helloV
你从哪里得到'username'和'password'? AWS API不接受用户名/密码,它需要访问密钥和密钥。您似乎混淆了AWS API访问和EC2 SSH访问。 –
@helloV我尝试启动实例。示例代码取自:http://pythoncentral.io/introduction-to-python-on-aws-with-boto/ – Urik