请求到期时终止专色实例

时间:2017-10-23 14:05:45

标签: amazon-web-services boto3

我正在使用boto3来部署spot实例。我的请求在一段时间后过期(如我所定义)。当请求到期时,我预计机器将终止。 为了创建现场请求,我使用了这个脚本:

client = boto3.client('ec2', region_name=regions[idx][:-1])    
client.request_spot_instances(
                        DryRun=False,
                        SpotPrice=price_bids,
                        InstanceCount=number_of_instances_to_deploy,
                        LaunchSpecification=
                        {
                            'ImageId': amis_id[idx],
                            'KeyName': 'MyKey',
                            'SecurityGroups': ['SG'],
                            'InstanceType': machine_type,
                            'Placement':
                                {
                                    'AvailabilityZone': regions[idx],
                                },
                        },
                        ValidUntil=new_date,
                )

如果请求无效,我该如何终止现场实例?

2 个答案:

答案 0 :(得分:4)

在竞价型实例请求中,ValidUntil仅确定请求处于活动状态的时间长度。在ValidUntil时间之后,请求将过期,并且将无法完成。

但是,如果您的请求在请求到期之前完成,那么启动的EC2实例将一直运行,直到其中一个发生:

  • 当前现货价格超过最高现货价格且您已超出出价,或
  • 终止您的EC2实例。

如果您希望EC2实例在出价之前终止,那么您需要自行终止它们。

答案 1 :(得分:2)

如果请求仍处于活动状态,则不会启动专色实例,因此不存在终止您的专色实例的问题。达到ValidUntil时,您的请求将会过期。您没有指定此点请求的类型:

Type='one-time'|'persistent'

默认情况下,该值为one-time。在这种情况下,一旦达到ValidUntil时间,请求就会过期并删除。如果您未指定ValidUntil,则请求将无限期生效。

来自:request_spot_instances

  

ValidUntil (datetime) - 请求的结束日期。如果这是一个   一次性请求,请求在所有实例之前保持活动状态   启动,请求被取消或达到此日期。如果   请求是持久的,它一直有效,直到它被取消或这个   达到日期和时间。

     

默认:请求无限期有效。