Лямбда-функция AWS в VPC не работает с конечной точкой S3 - PullRequest
0 голосов
/ 06 июня 2019

У меня есть лямбда-функция, которая находится в VPC (которая необходима для связи с RDS).Мне также нужно, чтобы выполнить s3.putObject.Он просто зависает, когда я вызываю эту функцию.Я понял, что это потому, что он находится в VPC.

Итак, я создал конечную точку под своим VPC.У него есть такая политика доступа:

У меня есть лямбда-функция, которая находится в VPC (для связи с RDS).Мне также нужно, чтобы выполнить s3.putObject.Он просто зависает, когда я вызываю эту функцию.Я понял, что это потому, что он находится в VPC.

Итак, я создал конечную точку под своим VPC.У него есть такая политика доступа:

{
    "Version": "2008-10-17",
    "Statement": [
        {
            "Sid": "Access-to-foo-bucket-only",
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::static.foo.com",
                "arn:aws:s3:::static.foo.com/*"
            ]
        }
    ]
}

Эта конечная точка связана с таблицей маршрутов, содержащей мои две подсети.Я вижу свою конечную точку в панели таблиц маршрутов моих подсетей.Я также вижу значение префикса S3 на панели Маршруты таблицы маршрутов.Группы безопасности имеют правила исходящих сообщений, указывающие на префикс Endpoint S3.

Тем не менее, он все еще не работает.Моя функция все еще висит в s3.putObject ().Когда я захожу на панель «Сеть» в Lambda, я не вижу конечную точку в списке Правило исходящих сообщений.Разве это не должно быть там?

Что еще может потребоваться сделать?Я нашел несколько страниц документации AWS, в которых упоминаются конечные точки S3, но нет пошагового руководства по использованию Lambda.

Спасибо за любую помощь, которую вы можете предоставить.

1 Ответ

0 голосов
/ 06 июня 2019

Я понял это с помощью комментариев @James Дина.

Мои корзины VPC и S3 находились в разных регионах, и они не будут работать. Я создал новый сегмент в том же регионе, что и VPC, но он все еще не работал, пока я не удалил старую конечную точку и не создал новую. Это работает сейчас!

...