EC2 runInstances函数不接受SourceDestCheck选项

时间:2019-01-25 21:19:54

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

使用图像ID从AWS开发工具包(用于Node.js)创建实例时,我需要添加“源目标检查”,以使所有创建的实例都为假。

在参数下添加了网络接口,但是它不起作用:

const params = {
  ImageId: image,
  InstanceType: instanceType,
  MaxCount: 1,
  MinCount: 1,
  UserData: launchScriptHost
   };

 // .. some other parameters too, all works ok

 params.NetworkInterfaces=[{SourceDestCheck:false}]; // <----- tried this
 params.UserData = Buffer.from(params.UserData).toString("base64"); // launch scripts
    ec2.runInstances(params, function(err, data) {
        if (err)
        {
            console.log(err, err.stack);
            return callback("error");
        }
        else
        {
            console.log(data);
            return callback(data);
        }
    });

这是错误:

UnexpectedParameter: Unexpected key 'SourceDestCheck' found in
params.NetworkInterfaces[0]

没有NetworkInterfaces[0].SourceDestCheck元素,它创建实例,但是默认情况下启用此选项(对于G3实例类型)。然后,这会导致所有HTTP POST请求失败,并在Node.js http模块上失败,出现“ econnrefused”错误。

我阅读了文档,但未在定义runInstances的部分显示此选项。支持吗?如果是,为什么它不接受此选项?

如果不允许这种方式,我可以在启动脚本部分(当实例启动时,在任何http请求到达之前)执行此操作吗?

我需要这些实例处理lightail或任何其他作为主要服务器的Internet源(使用EC2作为计算源)之间的传入和传出数据。此源目标位置检查切换使其true无法从外部访问。

如果在打开连接之前无法执行此操作,那么是否存在变通方法来启用对入站和出站http / tcp的访问?尝试了安全组设置的所有组合,但是在启用此选项(默认情况下,在G3上)时它们不起作用。

0 个答案:

没有答案