Amazon web services 在节点中查找与已知公共IP地址关联的EC2资源ID

Amazon web services 在节点中查找与已知公共IP地址关联的EC2资源ID,amazon-web-services,amazon-ec2,aws-sdk,aws-sdk-js,aws-sdk-nodejs,Amazon Web Services,Amazon Ec2,Aws Sdk,Aws Sdk Js,Aws Sdk Nodejs,给定已知的公共IP地址(例如弹性IP),如何在节点中查找与其关联的EC2实例的资源ID 我的最终目的是从运行在同一AWS帐户的另一个EC2实例中的节点启动/停止与给定公共IP地址关联的EC2实例。我假设首先必须找到要启动/停止的实例的资源ID,以便使用资源ID调用ec2.startInstances(),但在运行时,我只知道要启动/停止的实例的公共IP地址。使用descripbeAddresses节点API。它将列出您的ElasticIPs以及每个InstanceID分配给哪个InstanceI

给定已知的公共IP地址(例如弹性IP),如何在节点中查找与其关联的EC2实例的资源ID


我的最终目的是从运行在同一AWS帐户的另一个EC2实例中的节点启动/停止与给定公共IP地址关联的EC2实例。我假设首先必须找到要启动/停止的实例的资源ID,以便使用资源ID调用
ec2.startInstances()
,但在运行时,我只知道要启动/停止的实例的公共IP地址。

使用
descripbeAddresses
节点API。它将列出您的ElasticIPs以及每个InstanceID分配给哪个InstanceID。您可以从此调用
startInstances()


对于非elasticIP,您也许可以添加一个启动脚本,使实例将其环境详细信息发送到您可以存储和引用的地方?

使用
描述地址
节点API。它将列出您的ElasticIPs以及每个InstanceID分配给哪个InstanceID。您可以从此调用
startInstances()

对于非elasticIP,您可以添加一个启动脚本,使实例将其环境详细信息发送到您可以存储和引用的地方。

您可以使用
“ip地址”
过滤器查找您正在查找的实例。然后,您可以使用实例id停止该实例或执行您可能需要的任何其他操作

var AWS = require('aws-sdk');
var ec2 = new AWS.EC2();
ec2.describeInstances(
    {
        Filters: [
            {
                Name: "ip-address",
                Values: [
                    "5.5.5.5"
                ]
            }
        ]
    },
    function (err, data) {
        if (err) console.log(err, err.stack); // an error occurred
        else { // successful response
            data.Reservations.forEach(r => {
                r.Instances.forEach(i => {
                    console.log(i.InstanceId);
                })
            })
        }
    }
);
您可以与
“ip地址”
过滤器一起使用,以查找您正在查找的实例。然后,您可以使用实例id停止该实例或执行您可能需要的任何其他操作

var AWS = require('aws-sdk');
var ec2 = new AWS.EC2();
ec2.describeInstances(
    {
        Filters: [
            {
                Name: "ip-address",
                Values: [
                    "5.5.5.5"
                ]
            }
        ]
    },
    function (err, data) {
        if (err) console.log(err, err.stack); // an error occurred
        else { // successful response
            data.Reservations.forEach(r => {
                r.Instances.forEach(i => {
                    console.log(i.InstanceId);
                })
            })
        }
    }
);
您可以使用ec2 API查找给定节点的详细信息。您可以使用ec2 API查找给定节点的详细信息。