如何在命令行(公共 dns、AMI 等)上登录时获取 ec2 Linux 实例信息

Rob*_*ark 9 linux ubuntu redhat amazon-ec2

当我通过 ssh 进入 Linux ec2 实例时,我想要某种方式来识别我所在的实例。我希望能够从命令行唯一标识实例并将其关联到http://console.aws.amason.com

以下任何一项都会有所帮助:

  AMI
  Private DNS
  Public DNS
  Tags
Run Code Online (Sandbox Code Playgroud)

我正在使用 Ubuntu 和 Red Hat 实例。

cas*_*cas 17

我假设您想从 bash shell 执行此操作,而不是使用 boto python 库或类似库...

您应该能够在 169.254.169.254 上查询元数据服务。

例如

AMI_ID=$(curl http://169.254.169.254/latest/meta-data/ami-id)

您可以获得可用元数据的列表:

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

这记录在http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html

注意:我更熟悉 openstack 的元数据服务,但它以 Amazon EC2 服务为模型。可用数据的数量和类型不同,但访问它是相同的。