Amazon EC2中"预订"的目的是什么?

Vor*_*Vor 41 amazon-ec2 amazon-web-services

我刚刚开始探索亚马逊ec2.我想听一些解释,或者可能是一些简短的例子,说明你如何以及为什么需要在亚马逊ec2中进行"预订".我正在使用python框架boto来管理亚马逊服务.到目前为止,我还没有看到任何理由为什么我们为了获取您的实例而采取额外的步骤,例如:

reservations = ec2.get_all_instances()
instances = [instance for res in reservations for instance in res.instances]
Run Code Online (Sandbox Code Playgroud)

这就是我获取所有实例的方式,有时我这样做:

reservation = ec2.run_instances(image_id, min_count, max_count, key_name .....)
instance = reservation.instances[0]
Run Code Online (Sandbox Code Playgroud)

而且我使用这些实例来附加卷,添加标签,添加安全组等等......但是目的是什么boto.ec2.instance.Reservation(我不是只询问boto框架,当然它是首选,但是在整个意义上亚马逊EC2中的这个)

>>> reservation = reservations[0]
>>> reservation
Reservation:r-74d11509
>>> dir(reservation)
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'connection', 'endElement', 'groups', 'id', 'instances', 'item', 'owner_id', 'region', 'startElement', 'stop_all']
>>> reservation.__class__
<class 'boto.ec2.instance.Reservation'>
Run Code Online (Sandbox Code Playgroud)

我找不到任何有用的方法.请解释一下我们为什么需要这个?它在那里的原因是什么?在什么情况下你会使用它?

geo*_*org 37

根据我的理解,保留是启动实例的行为.基本上,保留就是你所做的,而实例就是你得到的.如果您通过run_instances()一个预约从一个图像启动多个实例,但获得多个实例.

run_instances与...一起Reservation.stop_all()允许您运行一堆实例,等待它们完成任务,然后立即停止它们.

  • @RyanParman:看看你的个人资料我想你知道你在说什么,但是......你确定你不会混淆"保留实例"和`ReservationInfoType` API响应,又名`boto.ec2.instance.Reservation `? (18认同)

Ros*_*one 9

boto文档:

保留对应于启动实例的命令.您可以查看与预订关联的实例:

>>> instances = reservations[0].instances
>>> instances
[Instance:i-00000000]
Run Code Online (Sandbox Code Playgroud)


Nea*_*gee 5

这是Ryan ParmanRose Perrone的一个有趣的主题和评论- 我可能会问Mitch关于re:今年晚些时候(2015年)的历史,但如果你做任何正常的aws ec2 describe-instances(或等同于boto,sdks,等等.你会看到所有实例在一般意义上都被列为"保留":

{
    "Reservations": [
        {
            "OwnerId": "123456789012",
            "ReservationId": "r-9aa12345",
            "Groups": [],
            "Instances": [
Run Code Online (Sandbox Code Playgroud)

在该数据是ReservationId一个的r-12345bc8值类型,但无处这是否对应于你付出的较低速率(计费方便,而不是实际的类型实例,你旋转起来的)锁定保留.所以我的预感是,当他们第一次创建系统时,这是一个有趣的小残留 - 每个实例都需要"保留"一个可以运行的插槽.直到后来他们才提出了使用相同术语的定价模型.

但同样,这只是猜测.

看起来这里显然有两个含义的重叠,看起来并不相互关联.