New user sign up using AWS Builder ID
New user sign up using AWS Builder ID is currently unavailable on re:Post. To sign up, please use the AWS Management Console instead.
Como soluciono erros de tempo limite de conexão do Lambda ao tentar acessar uma instância de banco de dados do Amazon RDS?
Minha função do AWS Lambda recebe erros de tempo limite de conexão quando tenta acessar uma instância de banco de dados do Amazon Relational Database Service (Amazon RDS). Como soluciono esses erros?
Resolução
Solucionar erros de tempo limite de conexão intermitente e transitória
Capturar os eventos da função do Lambda e fazer nova tentativa como parte do tratamento de erros de sua função
Para mais informações, consulte Error handling and automatic retries in AWS Lambda (Tratamento de erros e novas tentativas automáticas no AWS Lambda).
Verificar se há erros de DNS
Confirme se há algum erro relacionado ao Sistema de Nomes de Domínio (DNS). Se houver erros de DNS, detecte-os. Em seguida, repita a solicitação de DNS usando um recuo exponencial. Para mais informações, consulte Error retries and exponential backoff in AWS (Tentativas de erro e recuo exponencial na AWS).
Observação: verifique se você é capaz de resolver os endpoints de entrada e saída antes de tentar novamente a solicitação de DNS.
Solucionar erros consistentes de tempo limite de conexão
Verificar os logs do Amazon CloudWatch da função do Lambda
Se você ainda não fez isso, conceda permissões de log do CloudWatch à sua função do Lambda. Em seguida, revise os logs de sua função para identificar erros específicos de tempo limite de conexão.
Para mais informações, consulte Monitoring and troubleshooting Lambda applications (Monitoramento e solução de problemas de aplicativos do Lambda).
Verificar a configuração da VPC
Para bancos de dados privados, faça o seguinte, com base no seu caso de uso:
Coloque sua função do Lambda na mesma Amazon Virtual Private Cloud (Amazon VPC) do banco de dados.
-ou-
Crie uma conexão de emparelhamento da VPC entre a Amazon VPC que inclui sua função e a Amazon VPC que inclui seu banco de dados.
Para bancos de dados públicos, faça o seguinte:
(Para funções em uma Amazon VPC) Roteie o tráfego público por meio de um gateway de conversão de endereços de rede (NAT) ou instância NAT. Para mais informações, consulte How do I give internet access to my Lambda function that's connected to an Amazon VPC? (Como conceder acesso à Internet para minha função do Lambda conectada a uma Amazon VPC?)
Observação: se o banco de dados estiver acessível ao público e não houver restrições baseadas em endereço IP no banco de dados, siga as instruções em Tutorial: configurar uma função do Lambda para acessar o Amazon RDS em uma Amazon VPC.
Verificar as regras do grupo de segurança
Para bancos de dados privados, faça o seguinte:
Adicione uma regra de entrada ao seu grupo de segurança de banco de dados que permita o tráfego do intervalo CIDR das sub-redes ou do grupo de segurança da VPC.
Para bancos de dados públicos, faça o seguinte:
Adicione uma regra de entrada ao seu grupo de segurança de banco de dados que permita o tráfego do gateway NAT ou da instância NAT da VPC.
Atualizar o manipulador de funções do Lambda
Atualize o código da função do Lambdapara que a função abra a conexão do banco de dados fora do manipulador da função e não feche a conexão.
**Observação:**devido à forma como o Lambda reutiliza contêineres, ele não reinicializa o código que está fora de um manipulador de função quando o contêiner é reutilizado. A prática recomendada é criar a conexão que você planeja reutilizar fora do manipulador para que ela ainda esteja presente em cada invocação seguinte. Certifique-se de confirmar que há uma conexão válida antes de tentar usar a conexão. Se não houver uma conexão válida, crie uma nova conexão antes de continuar.
Conectar-se usando uma instância do EC2
Como teste, iniciar uma instância do Amazon Elastic Compute Cloud (Amazon EC2) com a mesma configuração da Amazon VPC da sua função do Lambda. Em seguida, tente se conectar à instância de banco de dados do Amazon RDS a partir da instância do EC2.
Se você conseguir se conectar ao banco de dados, siga as instruções em Solucionar problemas de rede no Lambda.
-ou-
Se você não conseguir se conectar ao banco de dados, siga as instruções em How do I resolve problems connecting to my Amazon RDS DB instance? (Como resolvo problemas de conexão com minha instância de banco de dados do Amazon RDS?)
Usar o Amazon RDS Proxy
Crie um endpoint proxy do Amazon Relational Database Service (Amazon RDS) para seu banco de dados do RDS para lidar com o tráfego do banco de dados de sua função do Lambda. Para mais informações, consulte How do I resolve problems connecting to my Amazon RDS DB instance? (Como usar o Amazon RDS Proxy com o AWS Lambda).
Observação: o suporte do Amazon RDS Proxy para MySQL e PostgreSQL agora está disponível ao público em geral.
Informações relacionadas
Configurar o acesso ao banco de dados para uma função do Lambda
Vídeos relacionados


Conteúdo relevante
- feita há 22 diaslg...
- feita há um mêslg...
- feita há um mêslg...
- feita há 2 meseslg...
- feita há 14 horaslg...
- AWS OFICIALAtualizada há 2 meses
- AWS OFICIALAtualizada há 3 anos
- AWS OFICIALAtualizada há 2 anos