【问题标题】:Python / Boto: How do I find out the details of the ec2 instance I just launched?Python / Boto:如何找到我刚刚启动的 ec2 实例的详细信息?
【发布时间】:2014-06-16 09:48:32
【问题描述】:

早安,

我对 Coding/Python 很陌生,所以请给出像你对一个愚蠢的人说话一样的答案......我绝对不会被冒犯。

我能够成功启动一个 ec2 实例,但我想要一种方法来查看我刚刚启动的实例的详细信息。我想取回任何类型的信息,例如实例 ID、IP 地址或类似的信息。这是我目前所拥有的:

#!/usr/bin/python

###Import the following arguments for the script
from sys import argv
script, base_ami, package = argv

print "Just launching a copy of", base_ami,"..."

import boto.ec2
conn = boto.ec2.connect_to_region("us-east-1",
    aws_access_key_id='<key>',
    aws_secret_access_key='<secret>')

conn.run_instances('ami-df091bb6')

如何找到有关我刚刚启动的实例的一些信息?

谢谢

【问题讨论】:

  • 什么样的信息?
  • 您已粘贴有效的 AWS 凭证。这些使任何人都能够控制您的 AWS 资源。您需要立即停用这些 - 我刚刚检查过,它们正在工作。

标签: amazon-web-services amazon-ec2 boto


【解决方案1】:

您首先需要在运行实例时获取reservation 对象,然后从预留中获取实例对象。获得实例对象后,您可以查询它,但只需调用它的属性。 conn.run_instances 方法返回其当前的保留,因此您可以执行以下操作:

#!/usr/bin/python

###Import the following arguments for the script
from sys import argv
script, base_ami, package = argv

print "Just launching a copy of", base_ami,"..."

import boto.ec2
conn = boto.ec2.connect_to_region("us-east-1",
   aws_access_key_id='<key>',
   aws_secret_access_key='<secret>')

reservation = conn.run_instances('ami-df091bb6')

myinstance = reservation.instances[0]

# The get the instance id
myid = instance.id

【讨论】:

  • 谢谢。这对我来说非常有效。我现在成功取回了实例 ID
  • 如何保证此行将始终将我的实例返回列表顶部? reservation = conn.run_instances('ami-df091bb6') 而且,如果我的帐户中有数千个实例在那个 AMI 上,它是否有效?
  • @Baskar 例如,如果您使用相同的 AMI 启动多个实例,您可以获得多个实例。如果您想要一组特定的实例,则必须根据它们的属性找到它们。如果您要启动单个实例,那么您的第一个实例将永远是您想要的。有关预订的更多信息请点击此处:stackoverflow.com/questions/15618825/…
  • 问题是关于获取您刚刚启动的实例。如果有并行的此类程序在运行,则不能保证您始终处于领先地位。这可能会有所帮助 - stackoverflow.com/questions/12096241/…
  • @Baskar 不。对了,你可以试试像你提到的问题/答案那样过滤
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-28
  • 2018-10-29
  • 2019-05-09
  • 1970-01-01
  • 2023-03-04
  • 2015-03-18
相关资源
最近更新 更多