从图像创建ec2实例 - 使用boto查找内核id属性

时间:2013-03-08 21:33:19

标签: amazon-ec2 kernel boto

我从正在运行的计算机上获得了EC2快照。当我创建一个图像然后从中创建一个实例时,它无法通过可达性测试,我无法连接到它。我检查了音量,并且通过连接到另一台机器没有错误。

我现在怀疑我必须选择正确的内核ID,并且默认可能不兼容。

查看我的其他EC2实例,它们正在运行内核标识aki-427d952b,但是下拉列表中没有此内核(即使在相同的可用区域中)。

如何找到次佳的内核ID?是否有一些内核ID列表以及它们支持哪些版本/体系结构?

编辑:可以例如python boto或其他库用于列出所有内核ID和属性,以允许从aki-427d952b中选择不同的内核ID(在下拉列表中缺少)。

1 个答案:

答案 0 :(得分:0)

Boto当然可以用于列出图像,您可以获取有关其配置的数据。这是否是搜索替换的最佳方式是另一个问题,但是,如果你想这样做,这里是python / boto代码

# use your AWS id and Secret here
conn = EC2Connection(awsid, awssecret)

# returns array of all images your account can use
all_images = conn.get_all_images() 

for img in all_images:
    attrs = img.__dict__
    # attrs will be a dictionary of key-value pairs associated 
    # with the image.  Look through them to find what you want.

    if img.kernel_id == 'aki-427d952b':
        print "found aki-427d952b:  imgid=" + img.id