是否有系统文件可以权威地告诉我主机是否是 Amazon AWS EC2 实例?
加分点:在不安装任何新东西的情况下,是否有一个命令可以告诉我 EC2 实例的一些基本参数?
上下文:~~~~~~~~ 我有一个收集信息的脚本。
如果我在 EC2 实例上运行脚本,则某些“标准”命令不可用,例如:dmidecode(这实际上什么也没给我)或 virt-what。
我知道/usr/bin/ec2-describe-instances,或者元数据脚本的wget,或者元数据报告的单个组件的wget,但我不想安装任何新的东西,我需要这个工具来描述主机本身(因为脚本在本地运行),而不是询问另一个主机,或者传递我必须从另一个必须首先安装的脚本获取的密钥。也许针对特定元数据信息的 wget 是我可以使用的最佳工具?
谢谢
我不能保证这适用于 Ubuntu 12.04 以外的任何其他 AMI(我使用的是 ami-8e987ef9) - 请自行测试。
如果您真的想避免从@Rico 建议的魔法IP169.254.169.254
和元数据中获取此信息,您可能需要检查以下内容:
### Datasource EC2
ubuntu@ip-10-33-59-70:~$ cat /var/lib/cloud/instance/datasource
cloudinit.DataSourceEc2.DataSourceEc2: DataSourceEc2
ubuntu@ip-10-33-59-70:~$ cat /var/lib/cloud/data/previous-datasource
cloudinit.DataSourceEc2.DataSourceEc2: DataSourceEc2
### Hostname
ubuntu@ip-10-33-59-70:~$ cat /var/lib/cloud/data/previous-hostname
ip-10-33-59-70
### Instance ID
ubuntu@ip-10-33-59-70:~$ cat /var/lib/cloud/data/previous-instance-id
i-280ace69
### Instance ID also (check out instance symlink)
ubuntu@ip-10-33-59-70:/var/lib/cloud$ ls -al | grep instance
lrwxrwxrwx 1 root root 22 Jan 29 22:00 instance -> ./instances/i-280ace69
drwxr-xr-x 3 root root 4096 Jan 29 22:00 instances
Run Code Online (Sandbox Code Playgroud)
也许环顾四周/var/lib/cloud
会为您提供一些您需要的信息,而无需使用curl
.
我宁愿建议使用带有元数据的魔法 IP。
在 Ubuntu 12.04 上还有/usr/bin/ec2metadata
一个用 Python 编写的实用程序,它实际上查询169.254.169.254
.
归档时间: |
|
查看次数: |
1992 次 |
最近记录: |