当前位置: 首页 > 知识库问答 >
问题:

如何从Lamda函数节点使用私有DNSendpoint调用SSM Param Store

冯敏达
2023-03-14

Hi要求证书需要存储在SSM Param store中,并由位于VPC内部的Lambda函数读取,并且VPC内部的所有子网都是公共子网。因此,当我使用下面的代码调用SSM Param store时,我会收到超时错误。

const AWS = require('aws-sdk');

AWS.config.update({
  region: 'us-east-1'
})

const parameterStore = new AWS.SSM();

exports.handler = async (event, context, callback) => {
    console.log('calling param store'); 
    const param = await getParam('/my/param/name')
    console.log('param : ',param);

    
    //Send API Response
    return {
        statusCode: '200',
        body: JSON.stringify('able to connect to param store'),
        headers: {
            'Content-Type': 'application/json',
        },
    };
};


const getParam = param => {
  return new Promise((res, rej) => {
    parameterStore.getParameter({
      Name: param
    }, (err, data) => {
        if (err) {
          return rej(err)
        }
        return res(data)
    })
  })
}

所以我为秘密管理器创建了vpcendpoint,它启用了私有DNS名称。

我仍然得到超时错误的上面的代码。

在Lambda函数中指定私有DNSendpoint是否需要更改Lambda代码

共有1个答案

东门玺
2023-03-14

我设法解决了这个问题。这个问题的根本原因是所有的子网都是公共子网。由于VPCendpoint是在没有internet的情况下私有访问的,因此与Lambda函数相关联的子网应该是私有子网。

下面是我为解决此问题所采取的步骤

  1. 在side VPC中创建了NAT网关,并为其分配了一个弹性IP
  2. 创建了新的路由表,并将所有流量指向在步骤1中创建的NAT网关
  3. 将新路由表附加到几个子网(使它们私有)
  4. 然后只将专用子网附加到Lambda函数
    null
 类似资料:
  • 问题内容: 我正在通过有关如何创建lambda函数的基本AWS: http://docs.aws.amazon.com/lambda/latest/dg/walkthrough-s3-events-adminuser- create-test-function-create- function.html 在此示例中,我们正在创建图像调整大小服务,触发该服务的一种方法是侦听一些要推送到S3存储桶的图

  • 请帮我解决以下问题。我创建了默认节点。使用Visual Studio nodejs工具和express的js应用程序,现在我尝试调用在node中声明的setTimeout函数。d、 ts.代码如下: 但是代码没有编译,表示无法将“Number”转换为“NodeTimer” 据我所知,问题是它需要标准的setTimeout函数,而不是从节点获取函数。d、 ts。 我尝试指定对节点的引用。d、 带<代

  • 问题内容: 如何从PHP调用JavaScript函数? 以下代码来自 xyz.html (单击按钮时),它在外部 xyz.js中 调用a 。这将调用wait.php。 和 wait.php 从那里以同样的方式从另一个PHP文件调用代码。 该否则工作正常,但它不会被调用我想要的方式。 问题答案: 就PHP而言(或者实际上,通常是一个Web服务器),HTML页面只不过是一个大字符串而已。 您可以使用P

  • 问题内容: 我正在做一个网络抓取项目。我正在使用的网站之一的数据来自Javascript。 在我之前的一个问题中,有人建议我可以直接从Python调用Javascript,但是我不确定如何实现。 例如:如果JavaScript函数定义为: 如何从Python调用JavaScript函数? 问题答案: 查找具有Python绑定的JavaScript解释器。(尝试Rhino?V8?SeaMonkey?

  • 问题内容: 我熟悉如何使ajax转到php页面并执行一系列操作,然后返回json数据。但是,可以调用驻留在给定页面中的特定函数吗? 基本上我想要的是减少项目中的文件数。因此,我可以将很多常用功能放在一页中,然后立即调用我想要的任何功能。 问题答案: 对于ajax请求 1.在您的网页中包含Jquery库。例如: 2.点击按钮调用功能 3.点击按钮,调用JavaScript创建函数。 在服务器端的te

  • 问题内容: 我想从JavaScript 调用,这是一个C#函数。我尝试了下面的代码,但是无论JavaScript条件是还是,都被调用了! JavaScript代码: 后面的C#代码: 如何从JavaScript调用C#函数? 问题答案: 您可以使用Web方法和Ajax: