我想使用Javascript的aws-sdk获取EC2实例的公网ip。在执行下面的代码时,返回的结果是{ Reservations: [] }。
'use strict';
const AWS = require('aws-sdk');
AWS.config.loadFromPath('./aws.json');
AWS.config.update({ region: 'ap-northeast-1' });
const ec2 = new AWS.EC2({ apiVersion: '2016-11-15' });
const params = {
Filters: [
{
Name: 'ip-address',
Values: [
'ip-address'
]
}
],
InstanceIds: [
"i-0acf483a5cbdfdbeb"
]
};
ec2.describeInstances(params, function (err, data) {
if (err) {
console.log(err);
}
console.log(data);
});使用的凭据已在IAM上进行验证,并允许访问EC2实例。为什么无法取回其公网ip?
节点: 7.1.0
操作系统:Windows7.3/ CentOS 10
发布于 2018-05-11 17:21:18
我认为你不需要在你的params对象中使用'Filters‘部分。使用以下命令:
const params = {
InstanceIds: [
"i-0acf483a5cbdfdbeb"
]
};使用data.Reservations.Instances.PublicIpAddress获取公网ip
https://stackoverflow.com/questions/42739524
复制相似问题