У меня есть лямбда за VPC. Когда я пытаюсь получить объект S3, я получаю ошибку «connect ETIMEDOUT». Я настроил конечную точку и все еще имею эту проблему.
Я могу получить объект, если удаляю VPC, так что я знаю, что проблема связана с VPC, а не с разрешениями.
У меня былоуже настроил интернет-шлюз для связи с внешним миром (и я подтвердил, что это работает). После переполнения стека и этих инструкций (https://aws.amazon.com/blogs/aws/new-vpc-endpoint-for-amazon-s3/), я создал конечную точку для обслуживания "com.amazonaws.us-east-1.s3" с "полным доступом" и связал ее с таблицей маршрутов, которую я создал, чтобы выйти наружу-world access.
Снимок экрана: создана конечная точка шлюза VPC
Все VPC, лямбда и S3 находятся в одном регионе (лямбда и S3 создаются черезSAM.)
Первоначально у меня были объекты AWS и S3 по умолчанию. Я попытался установить область для обоих без удачи.
AWS.config.update({ region: 'us-east-1'});
const s3 = new AWS.S3({ region: 'us-east-1' });
const s3FileParams = {
Bucket: srcBucket,
Key: srcKey,
};
const resp = await s3.getObject(s3FileParams).promise();
Я также попытался явно указать конечную точку s3 как s3 = new AWS.S3({ endpoint: 'https://s3.us-east-1.amazonaws.com' });
Сообщите мне любую другую информацию, которую я могу предоставить, и спасибо заранее.