在Boto2中使用密钥对创建EC2实例

2024-10-01 05:07:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码使用BOTECO公司从python连接到amazonec2,但是我正在努力处理.pem文件。如果我将None作为键名传递给run_instances调用,我就可以毫无问题地创建实例。但是,如果我传递任何键名称(无论是否使用控制台创建,还是手动创建,如下所示),当我尝试运行实例时,系统地会出现以下错误

EC2ResponseError: 400 Bad Request
<?xml version="1.0" encoding="UTF-8"?>
<Response><Errors><Error><Code>InvalidKeyPair.NotFound</Code><Message>The key pair 'newkey.pem' does not exist</Message></Error></Errors><RequestID>e4da5b1e-a8ec-42fb-b3ce-20aa883a0615</RequestID></Response>

当我在控制台上检查适当的区域时,确实创建了密钥(它也在我的主目录中创建,但我仍然得到密钥不存在错误)

有什么想法吗?在

下面是我当前的Python测试代码

^{pr2}$

Tags: 文件实例代码messageresponse错误密钥code
1条回答
网友
1楼 · 发布于 2024-10-01 05:07:05

这段代码(源于你的代码)对我有用:

>>> import boto.ec2
>>> conn = boto.ec2.connect_to_region('ap-southeast-2')
>>> key_res = conn.get_all_key_pairs(keynames=['class'])[0]
>>> key_res
KeyPair:class
>>> key_res.name
u'class'
>>> conn.run_instances('ami-ced887ad', key_name=key_res.name, instance_type='t1.micro', security_group_ids=['sg-94cb39f6'])
Reservation:r-0755a9700e3886841

然后我尝试了你的密钥创建代码:

^{pr2}$

它看起来很好用!在

相关问题 更多 >