有没有办法在ec2实例中获取实例ID

时间:2017-05-06 02:17:03

标签: python amazon-web-services amazon-ec2 backend

我尝试在ec2实例上启动服务。该服务应该发出实例的id。我知道这可以使用类似curl http://0.0.0.0/latest/meta-data的东西获得。有没有其他方法可以直接从实例shell或python中的某些API获取元数据?

1 个答案:

答案 0 :(得分:10)

Amazon EC2 instance metadata可通过以下方式访问:

<div class="row" >

    <div class="col col-50">
        <ion-list>
            <ion-item ng-repeat="item in items" item="item" href="#/item/{{item.id}}">
                Item {{ item.id }}
            </ion-item>
        </ion-list>
        <ion-infinite-scroll ng-if="!noMoreItemsAvailable" on-infinite="loadMore()" distance="10%" style="height:100%;"></ion-infinite-scroll>
     </div>

     <div class="col col-50">
         Very large column with variable height
     </div>
 </div>

要检索发出该请求的实例的ID:

http://169.254.169.254/latest/meta-data/

这可以通过curl,wget,网络浏览器或调用检索HTTP页面的任何内容来检索

如果您希望以编程方式执行此操作,请参阅boto3 equivalent to boto.utils.get_instance_metadata()?中的一些代码:

http://169.254.169.254/latest/meta-data/instance-id/

还有一个boto.utils.get_instance_metadata() call in boto(但不是boto3)将实例元数据作为嵌套的Python字典返回。