【问题标题】:Get the next (Private) Ip address from the Amazon AWS SDK for an EC2 instance从 EC2 实例的 Amazon AWS 开发工具包中获取下一个(私有)IP 地址
【发布时间】:2017-02-08 19:24:03
【问题描述】:

过去几天我一直在使用亚马逊 AWS 开发工具包(用于 NodeJS),尤其是 EC2 部分。我想知道是否有可能在启动新实例之前知道您的 IP 地址。

我检查了文档和谷歌,但我找不到答案。 因此,在我运行 runInstances 函数之前,我有一个函数可以返回下一个 n ip 地址,如果我现在创建 n 新实例,它将分配给我。

我不知道这是否可行,但我找不到任何相关信息。

【问题讨论】:

  • 为什么你需要知道这个?尽可能避免固定 ips。就可扩展性和云的所有出色功能而言,这将使您的生活更加艰难。
  • 我基本上只是在尝试一些东西,这就是为什么我想知道这是否可能。我在网上没有找到任何关于此的信息,所以我在这里问:-)

标签: node.js amazon-ec2 aws-sdk


【解决方案1】:

您无法预测将分配的私有 IP 地址,但您可以指定实例启动时的 IP 地址。

Amazon SDK for node.js 中的runInstances() 命令有一个PrivateIpAddress 参数,可以指定分配给实例的IP 地址:

var params = {
  ImageId: 'STRING_VALUE', /* required */
  MaxCount: 0, /* required */
  MinCount: 0, /* required */
  NetworkInterfaces: [
    {
      PrivateIpAddress: 'STRING_VALUE'
    }
  /* etc */
};
ec2.runInstances(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

【讨论】:

  • 是的,我已经看到了那个字段,但是我怎么知道在那个字段中填写什么:) 我怎么知道我指定的 IP 地址还没有被占用
  • 您需要保留自己的列表并分配一个未使用的列表,或者使用 DescribeInstances 获取当前实例的列表,然后选择一个未使用的地址。
猜你喜欢
  • 2019-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-15
  • 2015-12-01
  • 2018-08-14
  • 1970-01-01
  • 2016-10-02
  • 2015-06-21
相关资源
最近更新 更多