O uso doAWS LambdaCom o Amazon RDS - AWS Lambda

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

O uso doAWS LambdaCom o Amazon RDS

Você pode conectar uma função do Lambda a um banco de dados do Amazon Relational Database Service (Amazon RDS) diretamente e por meio de um Amazon RDS Proxy. As conexões diretas são úteis em cenários simples e os proxies são recomendados para produção. Um proxy de banco de dados gerencia um pool de conexões de banco de dados compartilhadas, o que permite que sua função atinja altos níveis de simultaneidade sem esgotar as conexões de banco de dados.

Recomendamos o uso do Amazon RDS Proxy para funções do Lambda que fazem conexões curtas e frequentes com o banco de dados ou que abrem e fecham um grande número de conexões de banco de dados.

Configurar a função

No console do Lambda, você pode configurar e até mesmo criar determinadas instâncias de banco de dados e recursos de proxy. Consulte Bancos de dados do RDS em Configuração. Como alternativa, você também pode criar e configurar conexões com funções do Lambda no console do Amazon RDS.

  • Para se conectar a um banco de dados, a função deve estar na mesma Amazon VPC em que o banco de dados é executado.

  • Você pode usar bancos de dados do Amazon RDS com mecanismos MySQL, MariaDB, PostgreSQL ou Microsoft SQL Server.

  • Você também pode usar clusters de banco de dados do Aurora com mecanismos MySQL ou PostgreSQL.

  • Você precisa fornecer um segredo do Secrets Manager para a autenticação do banco de dados.

  • Um perfil do IAM deve fornecer permissão para usar o segredo e uma política de confiança deve permitir que o Amazon RDS assuma o perfil.

O Amazon RDS cobra uma taxa horária por proxies com base no tamanho da instância do banco de dados. Consulte Preço do RDS Proxy para obter detalhes. Para obter mais informações sobre conexões de proxy, consulte Usar o Amazon RDS Proxy no Guia do usuário do Amazon RDS.

Configuração do Lambda e do Amazon RDS

Os consoles do Lambda e do Amazon RDS ajudarão você a configurar automaticamente alguns dos recursos necessários para fazer uma conexão entre o Lambda e o Amazon RDS.

Processar notificações de eventos do Amazon RDS

Você pode usar o Lambda para processar notificações de eventos em um banco de dados do Amazon RDS. O Amazon RDS envia notificações para um tópico do Amazon Simple Notification Service (Amazon SNS), que você pode configurar para invocar uma função do Lambda. O Amazon SNS envolve a mensagem do Amazon RDS em seu próprio documento de evento e a envia para sua função.

Para obter mais informações sobre como configurar um banco de dados do Amazon RDS para enviar notificações, consulte Trabalhar com a notificação de eventos do Amazon RDS.

exemplo Mensagem do Amazon RDS em um evento do Amazon SNS
{ "Records": [ { "EventVersion": "1.0", "EventSubscriptionArn": "arn:aws:sns:us-east-2:123456789012:rds-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "EventSource": "aws:sns", "Sns": { "SignatureVersion": "1", "Timestamp": "2023-01-02T12:45:07.000Z", "Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "SigningCertUrl": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-ac565b8b1a6c5d002d285f9598aa1d9b.pem", "MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "Message": "{\"Event Source\":\"db-instance\",\"Event Time\":\"2023-01-02 12:45:06.000\",\"Identifier Link\":\"https://console.aws.amazon.com/rds/home?region=eu-west-1#dbinstance:id=dbinstanceid\",\"Source ID\":\"dbinstanceid\",\"Event ID\":\"http://docs.amazonwebservices.com/AmazonRDS/latest/UserGuide/USER_Events.html#RDS-EVENT-0002\",\"Event Message\":\"Finished DB Instance backup\"}", "MessageAttributes": {}, "Type": "Notification", "UnsubscribeUrl": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:test-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "TopicArn":"arn:aws:sns:us-east-2:123456789012:sns-lambda", "Subject": "RDS Notification Message" } } ] }

Tutorial sobre Lambda e Amazon RDS

  • Usar uma função do Lambda para acessar um banco de dados do Amazon RDS: no Guia do usuário do Amazon RDS, saiba como usar uma função do Lambda para gravar dados em um banco de dados do Amazon RDS por meio do Amazon RDS Proxy. A função do Lambda lerá registros de uma fila do Amazon SQS e gravará novos itens em uma tabela no banco de dados sempre que uma mensagem for adicionada.