Привет, есть требование, согласно которому учетные данные должны храниться в хранилище параметров SSM и будут считываться функцией Lambda, которая находится внутри VPC, а все подсети внутри моего VPC являются общедоступными подсетями. Поэтому, когда я вызываю хранилище SSM Param, используя приведенный ниже код, я получаю сообщение об ошибке тайм-аута.
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)
})
})
}
Поэтому я создал конечную точку vpc для Secrets Manager с включенным частным DNS-именем.
Тем не менее я получаю ошибку тайм-аута для кода выше.
Нужно ли мне изменить код Lambda, чтобы указать частную конечную точку DNS в функции Lambda?
Изображение ниже содержит правило исходящего трафика для NACL подсети Изображение ниже содержит правило исходящего трафика для группы безопасности