Ошибка: Тайм-аут бездействия рукопожатия при попытке получить доступ к RDS из Lambda - PullRequest
1 голос
/ 07 октября 2019

У меня есть лямбда-функция, использующая безсерверный фреймворк. Я создал группу безопасности и связал ее с лямбда-функцией, я также включил все 3 подсети, которые RDS использует в serverless.yml. Затем я связал новую лямбда-группу безопасности с группой безопасности, которую RDS говорит, что использует. Я установил его для MySQL \ Aurora на вкладке «Входящие», а источником был новый lambda sg.

Когда я запускаю лямбду, я получаю тайм-аут бездействия при попытке подключить мой пул к экземпляру. Я использую эту же группу безопасности, чтобы дать себе доступ к базе данных через IP, поэтому я знаю, что это должен быть правильный экземпляр. Чего мне не хватает?

Вот определение для функции в serverless.yml

consumer:
    handler: consumer/handler.testconsumer
    timeout: 29
    memorySize: 512
    vpc:
      securityGroupIds:
        - sg-lambda
      subnetIds:
        - subnet-1
        - subnet-2
        - subnet-3

У меня также есть следующий оператор роли IAM для разрешения работы в сети. Несмотря на то, что сервер не лает при этом:

Warned - iamRoleStatement предоставляя Resource = '*'. Ресурсы с подстановочными знаками в iamRoleStatements не разрешены.

iamRoleStatements:
    - Effect: "Allow"
      Action: 
        - "ec2:CreateNetworkInterface"
        - "ec2:DescribeNetworkInterfaces"
        - "ec2:DeleteNetworkInterface"
      Resource: "*"

Это вызывает проблему? Я бью головой об стену об этом.

...