У меня очень простая функция python в лямбде, которая работает нормально, если я оставлю VPC отключенным.
import json
import boto3
import botocore
def lambda_handler(event, context):
s3 = boto3.client('s3', 'us-east-1', config=botocore.config.Config(s3={'addressing_style':'path'}))
keys = []
resp = s3.list_objects_v2(Bucket='[BUCKET_NAME]')
for obj in resp['Contents']:
print(obj['Key'])
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
Когда VPC включен, соединение S3 постоянно истекает.
У меня естья просмотрел множество документов, учебных пособий, веток форума и сообщений о переполнении стека, но ни одно из них не помогло мне.
Мой сетевой ACL имеет сопоставления 0.0.0.0/0 для портов 80, 443 и 5439 (Redshift).
Моя единственная группа безопасности имеет сопоставления 0.0.0.0/0 для портов 80, 443 и 5439 (Redshift).
У меня настроен только один VPC.
У меня есть1 настроенный шлюз NAT.
У меня настроен 1 интернет-шлюз.
У меня есть 6 подсетей в VPC:
- Подсети A и B указывают на основной маршруттаблица.
- Подсети C и D указывают на таблицу маршрутов 'lambda_rt_table_gateway'.
- Подсети E и F указывают на таблицу маршрутов 'lambda_rt_table_nat'.
Iиметь 2 конечных точки в VPC:
- Определена конечная точка VPCE-AРедактируется для службы com.amazonaws.us-east-1.s3 и сопоставляется со всеми тремя таблицами маршрутов.
- Конечная точка VPCE-B определена для службы com.amazonaws.us-east-1.Dynamodb 'и отображается на все 3 таблицы маршрутов.
Наконец, у меня есть 3 таблицы маршрутов:
Основная таблица маршрутов имеет следующие маршруты:
- 172.31.0.0 / 1 -> локальный
- pl-02cd2c6b (com.amazonaws.us-east-1.dynamodb, 52.94.0.0/22, 52.119.224.0/20) -> vpce-07a6eb423bbbea151
- pl-63a5400a (com.amazonaws.us-east-1.s3, 54.231.0.0/17, 52.216.0.0/15) -> vpce-0fd10c890bb176b5a
- 0.0.0.0 / 0 -> igw-04b6aa7c
В таблице маршрутов 'lambda_rt_table_gateway' есть маршруты, идентичные основным.
- Таблица маршрутов 'lambda_rt_table_nat' также имеет идентичные маршруты, за исключением последней записи:
- 0.0.0.0 / 0 -> nat-0a5c0a76e3c12c42f
Я почти уверен, что мне чего-то не хватает.Пожалуйста, помогите.
Большое спасибо.