如何通过 ec2 api 获取 InstanceID?
how to get InstanceID via ec2 api?
我需要一个告诉我实例 ID 的函数,我正在搜索 here 一个函数,但您总是需要 ID...是的,这就是问题所在。
我不允许使用控制台,需要通过脚本找到它。
我看到了AWS.MetadataService documentation,但我无法处理它。我只能看到单件,但我不知道如何正确匹配它们,以获得我想要的东西。目前我有这个
var meta = new AWS.MetadataService();
meta.request("http://169.254.169.254/latest/meta-data/", function(err, data){
console.log(data);
});
但是这不起作用...路径参数中需要包含什么?
如果您的脚本在您想要 ID 的 EC2 实例上 运行,您可以从实例元数据中获取 EC2 实例 ID。此命令将为您提供 EC2 实例 ID(例如 i-12345678):
curl http://169.254.169.254/latest/meta-data/instance-id
元数据的完整文档可在此处找到:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
更新:
对于 Node 中的某些东西,试试这个:
var meta = new AWS.MetadataService();
meta.request("/latest/meta-data/instance-id", function(err, data){
console.log(data);
});
不包括 http://
和主机部分。只是最后的路径。
如果您从 ec2 api 查看,您可以使用 aws ec2 describe-XXX
命令,例如
[xxx@IP-xxxx ~]# aws ec2 describe-addresses
{
"Addresses": [
{
"Domain": "vpc",
"InstanceId": "i-YOUR INSTANCE ID",
"NetworkInterfaceId": "eni-xxxx",
"AssociationId": "eipassoc-xxxx",
"NetworkInterfaceOwnerId": "xxxx",
"PublicIp": "xxxx",
"AllocationId": "eipalloc-xxxx",
"PrivateIpAddress": "xxxx"
}
]
}
您还可以使用 aws ec2 describe-instances
它非常完整 return 所有关于实例的信息都包括 InstanceId
我需要一个告诉我实例 ID 的函数,我正在搜索 here 一个函数,但您总是需要 ID...是的,这就是问题所在。
我不允许使用控制台,需要通过脚本找到它。
我看到了AWS.MetadataService documentation,但我无法处理它。我只能看到单件,但我不知道如何正确匹配它们,以获得我想要的东西。目前我有这个
var meta = new AWS.MetadataService();
meta.request("http://169.254.169.254/latest/meta-data/", function(err, data){
console.log(data);
});
但是这不起作用...路径参数中需要包含什么?
如果您的脚本在您想要 ID 的 EC2 实例上 运行,您可以从实例元数据中获取 EC2 实例 ID。此命令将为您提供 EC2 实例 ID(例如 i-12345678):
curl http://169.254.169.254/latest/meta-data/instance-id
元数据的完整文档可在此处找到:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
更新:
对于 Node 中的某些东西,试试这个:
var meta = new AWS.MetadataService();
meta.request("/latest/meta-data/instance-id", function(err, data){
console.log(data);
});
不包括 http://
和主机部分。只是最后的路径。
如果您从 ec2 api 查看,您可以使用 aws ec2 describe-XXX
命令,例如
[xxx@IP-xxxx ~]# aws ec2 describe-addresses
{
"Addresses": [
{
"Domain": "vpc",
"InstanceId": "i-YOUR INSTANCE ID",
"NetworkInterfaceId": "eni-xxxx",
"AssociationId": "eipassoc-xxxx",
"NetworkInterfaceOwnerId": "xxxx",
"PublicIp": "xxxx",
"AllocationId": "eipalloc-xxxx",
"PrivateIpAddress": "xxxx"
}
]
}
您还可以使用 aws ec2 describe-instances
它非常完整 return 所有关于实例的信息都包括 InstanceId