AWS元数据:检查EC2实例是否是现货?

有一个AWS元数据服务,提供有关EC2实例的一些信息,该信息向http://169.254.169.254/发出请求。 我想知道是否有一种方法可以从该元数据知道实例是“Spot”还是“On Demand”?

信息在元数据中不可用。

但是,您可以从元数据中获取实例ID,然后调用ec2-describe-instances获取有关您的实例的实例信息。 里面的实例描述是现货实例请求ID。 如果空白,那么它不是一个现货实例,否则,它是一个现货实例。

我不相信他们在元数据中有这个信息。

您可以为作为专题实例启动的实例分配不同的configuration文件,并使用configuration文件名称来确定实例的types。 如果这看起来不是一个干净的或可行的解决scheme,您可以随时从元数据中获取实例id,然后运行命令ec2-describe-spot-instance-requests --filter instance-id=<instanceid>返回空,而不是实例不是实例,如果该命令返回数据,那么它是一个现货实例。