使用Python Boto程序化启动新的EC2实例

1 投票
1 回答
4284 浏览
提问于 2025-04-18 00:15

我想要做的是,不想每次都通过AWS.Amazon.com网站手动创建新的EC2实例,而是想用Python的boto模块来编程自动启动新的实例,这些实例是基于一个特定的AMI(亚马逊机器镜像)来创建的。

import boto.ec2
conn = boto.ec2.connect_to_region("us-west-2",
    aws_access_key_id='<aws access key>',
    aws_secret_access_key='<aws secret key>')

#how to now spin up new instances based off a snapshot (already) preconfigured on ec2?

就像我在评论中提到的,我想要根据一个特定的AMI ID来启动新的实例?

我找不到一个好的方法来做到这一点。有人能帮忙吗?

谢谢

1 个回答

3

来自文档

你使用EC2最重要和最常见的任务可能就是启动、停止和终止实例。最简单的启动实例的方法如下:

conn.run_instances('<ami-image-id>') 

这段代码会在指定的区域启动一个实例,并使用默认的参数。不过,你无法通过SSH远程登录到这个机器,因为它没有设置安全组。想了解如何创建安全组,可以查看EC2安全组的相关内容。

假设你已经有了密钥对,想要一个特定类型的实例,并且安全组也已经设置好了。在这种情况下,我们可以使用关键字参数来实现:

conn.run_instances(
    '<ami-image-id>',
    key_name='myKey',
    instance_type='c1.xlarge',
    security_groups=['your-security-group-here'])

<ami-image-id>是你需要填写你的ami ID的地方。

撰写回答