AWS Lambda не может подключиться к хранилищу параметров - PullRequest
0 голосов
/ 09 мая 2018

У меня есть AWS Lambda (java), и я пытаюсь выполнить тест, чтобы восстановить пароль, хранящийся в хранилище параметров. Вот мой кусок кода:

GetParameterRequest parameterRequest = new GetParameterRequest();
        AWSSimpleSystemsManagement client = AWSSimpleSystemsManagementClientBuilder.defaultClient();
        parameterRequest.withName("my-password-key")
                .setWithDecryption(true);
        GetParameterResult parameterResult = client.getParameter(parameterRequest);
        password = parameterResult.getParameter().toString();

security groupNACL), связанные с моей лямбдой, имеют все входящие и исходящие открытые (любой порт и любой IP-адрес).

Моя лямбда-версия запускается в частной подсети.

Когда я выполняю лямбду (запускаемую событием шлюза API), у меня появляется следующая ошибка:

Unable to execute HTTP request: Connect to ssm.eu-central-1.amazonaws.com:443 [ssm.eu-central-1.amazonaws.com] failed: connect timed out: com.amazonaws.SdkClientException

Поскольку ошибка связана с ошибкой тайм-аута, я думаю, что это не проблема роли.

Понятия не имею, где искать. Любая помощь приветствуется.

Спасибо.

C.C.

1 Ответ

0 голосов
/ 10 мая 2018

Требуется доступ в Интернет при вызове API AWS.

Существует два способа предоставления лямбда-функции доступа в Интернет:

  • Не присоединяйте лямбда-функцию к VPC или
  • Присоедините функцию Lambda к частной подсети и настройте частную подсеть для маршрутизации интернет-трафика через шлюз NAT (или экземпляр NAT) в общедоступной подсети

Итак, если лямбда-функции не требуется доступ к каким-либо ресурсам в VPC, просто удалите ее из VPC . Если ему нужен доступ, то добавит шлюз NAT .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...