Conectar automaticamente uma função do Lambda e um cluster de banco de dados multi-AZ - Amazon Relational Database Service

Conectar automaticamente uma função do Lambda e um cluster de banco de dados multi-AZ

Você pode usar o console do RDS para simplificar a configuração de uma conexão entre uma função do Lambda e um cluster de banco de dados multi-AZ. Você pode usar o console do RDS para simplificar a configuração de uma conexão entre uma função do Lambda e um cluster de banco de dados multi-AZ. Muitas vezes, o cluster de banco de dados multi-AZ está em uma sub-rede privada dentro de uma VPC. A função do Lambda pode ser usada por aplicações para acessar o cluster de banco de dados multi-AZ privado.

A imagem a seguir mostra uma conexão direta entre o cluster de banco de dados multi-AZ e a função do Lambda.

Conecte automaticamente um cluster de banco de dados multi-AZ a uma função do Lambda.

Você pode configurar a conexão entre a função do Lambda e o banco de dados por meio do RDS Proxy para melhorar a performance e a resiliência do banco de dados. Em geral, as funções do Lambda fazem conexões curtas frequentes com o banco de dados que se beneficiam do grupo de conexões oferecido pelo RDS Proxy. É possível aproveitar qualquer autenticação do IAM que você já tenha para funções do Lambda, em vez de gerenciar credenciais de banco de dados no código de aplicação do Lambda. Para obter mais informações, consulte Usar o Amazon RDS Proxy.

Você pode usar o console para criar automaticamente um proxy para sua conexão. Também é possível selecionar proxies existentes. O console atualiza o grupo de segurança do proxy para permitir conexões do banco de dados e da função do Lambda. Você pode inserir suas credenciais do banco de dados ou selecionar o segredo do Secrets Manager necessário para acessar o banco de dados.

Conecte automaticamente um cluster de banco de dados multi-AZ a uma função do Lambda por meio do RDS Proxy.

Visão geral da conectividade automática com uma função do Lambda

Quando você configura uma conexão entre uma função do Lambda e um cluster de banco de dados multi-AZ, o Amazon RDS configura o grupo de segurança da VPC para a instância do Lambda e para o cluster de banco de dados.

Confira a seguir os requisitos para conectar uma instância do Lambda a um cluster de banco de dados multi-AZ:

  • A função do Lambda deve existir na mesma VPC que o cluster de banco de dados multi-AZ.

    Se não houver nenhuma função do Lambda na mesma VPC, o console fornecerá um link para que você crie uma.

  • O usuário que configura a conectividade deve ter permissões para realizar as seguintes operações do Amazon RDS, do Amazon EC2, do Lambda, do Secrets Manager e do IAM:

    • Amazon RDS

      • rds:CreateDBProxies

      • rds:DescribeDBInstances

      • rds:DescribeDBProxies

      • rds:ModifyDBInstance

      • rds:ModifyDBProxy

      • rds:RegisterProxyTargets

    • Amazon EC2

      • ec2:AuthorizeSecurityGroupEgress

      • ec2:AuthorizeSecurityGroupIngress

      • ec2:CreateSecurityGroup

      • ec2:DeleteSecurityGroup

      • ec2:DescribeSecurityGroups

      • ec2:RevokeSecurityGroupEgress

      • ec2:RevokeSecurityGroupIngress

    • Lambda

      • lambda:CreateFunctions

      • lambda:ListFunctions

      • lambda:UpdateFunctionConfiguration

    • Secrets Manager

      • sercetsmanager:CreateSecret

      • secretsmanager:DescribeSecret

    • IAM

      • iam:AttachPolicy

      • iam:CreateRole

      • iam:CreatePolicy

    • AWS KMS

      • kms:describeKey

Quando você configura uma conexão entre uma função do Lambda e um cluster de banco de dados multi-AZ, o Amazon RDS configura o grupo de segurança da VPC para sua instância e para o cluster de banco de dados multi-AZ. Se você usa o RDS Proxy, o Amazon RDS também configura o grupo de segurança da VPC para o proxy. O Amazon RDS atua de acordo com a configuração atual dos grupos de segurança associados ao cluster de banco de dados multi-AZ, à função do Lambda e ao proxy, conforme descrito na tabela a seguir.

Configuração atual do grupo de segurança do RDS Configuração do grupo de segurança do Lambda atual Configuração do grupo de segurança de proxy atual Ação do RDS

O Amazon RDS não executa nenhuma ação porque os grupos de segurança de todos os recursos seguem o padrão de nomenclatura correto e têm as regras corretas de entrada e saída.

Há um ou mais grupos de segurança associados ao cluster de banco de dados multi-AZ com um nome correspondente ao padrão rds-lambda-n (em que n é um número) ou se TargetHealth de um proxy associado estiver AVAILABLE.

Um grupo de segurança que corresponde ao padrão não foi modificado. Esse grupo de segurança tem apenas uma regra de entrada com o grupo de segurança da VPC da função do Lambda ou do proxy como origem.

Há um ou mais grupos de segurança associados à função do Lambda com um nome correspondente ao padrão lambda-rds-n ou lambda-rdsproxy-n (em que n é um número).

Um grupo de segurança que corresponde ao padrão não foi modificado. Esse grupo de segurança tem apenas uma regra de saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ ou do proxy como destino.

Há um ou mais grupos de segurança associados ao proxy com um nome correspondente ao padrão rdsproxy-lambda-n (em que n é um número).

Um grupo de segurança que corresponde ao padrão não foi modificado. Esse grupo de segurança tem regras de entrada e saída com os grupos de segurança da VPC da função do Lambda e do cluster de banco de dados multi-AZ.

Qualquer uma das seguintes condições se aplica:

  • Não há nenhum grupo de segurança associado ao cluster de banco de dados multi-AZ com um nome correspondente ao padrão rds-lambda-n ou se o TargetHealth de um proxy associado estiver AVAILABLE.

  • Há um ou mais grupos de segurança associados ao cluster de banco de dados multi-AZ com um nome correspondente ao padrão rds-lambda-n ou se o TargetHealth de um proxy associado estiver AVAILABLE. No entanto, o Amazon RDS não pode usar nenhum desses grupos de segurança para a conexão com a função do Lambda.

O Amazon RDS não pode usar um grupo de segurança que não tenha uma regra de entrada no grupo de segurança da VPC da função do Lambda ou do proxy como origem. O Amazon RDS também não pode usar um grupo de segurança que tenha sido modificado. São exemplos de modificação a adição de uma regra ou a alteração da porta de uma regra existente.

Qualquer uma das seguintes condições se aplica:

  • Não há um grupo de segurança associado à função do Lambda com um nome correspondente ao padrão lambda-rds-n ou lambda-rdsproxy-n.

  • Há um ou mais grupos de segurança associados à função do Lambda com um nome correspondente ao padrão lambda-rds-n ou lambda-rdsproxy-n. No entanto, o Amazon RDS não pode usar nenhum desses grupos de segurança para a conexão com o cluster de banco de dados multi-AZ.

O Amazon RDS não poderá usar um grupo de segurança se não tiver uma regra de saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ como origem. O Amazon RDS também não pode usar um grupo de segurança que tenha sido modificado.

Qualquer uma das seguintes condições se aplica:

  • Não há um grupo de segurança associado ao proxy com um nome correspondente ao padrão rdsproxy-lambda-n.

  • Há um ou mais grupos de segurança associados ao proxy com um nome correspondente ao rdsproxy-lambda-n. No entanto, o Amazon RDS não pode usar nenhum desses grupos de segurança para a conexão com o cluster de banco de dados multi-AZ ou a função do Lambda.

O Amazon RDS não pode usar um grupo de segurança que não tenha regras de entrada e saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ ou a função do Lambda. O Amazon RDS também não pode usar um grupo de segurança que tenha sido modificado.
RDS action: create new security groups

Há um ou mais grupos de segurança associados ao cluster de banco de dados multi-AZ com um nome correspondente ao padrão rds-lambda-n ou se o TargetHealth de um proxy associado estiver AVAILABLE.

Um grupo de segurança que corresponde ao padrão não foi modificado. Esse grupo de segurança tem apenas uma regra de entrada com o grupo de segurança da VPC da função do Lambda ou do proxy como origem.

Há um ou mais grupos de segurança associados à função do Lambda com um nome correspondente ao padrão lambda-rds-n ou lambda-rdsproxy-n.

No entanto, o Amazon RDS não pode usar nenhum desses grupos de segurança para a conexão com o cluster de banco de dados multi-AZ. O Amazon RDS não pode usar um grupo de segurança que não tenha uma regra de saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ ou do proxy como destino. O Amazon RDS também não pode usar um grupo de segurança que tenha sido modificado.

Há um ou mais grupos de segurança associados ao proxy com um nome correspondente ao padrão rdsproxy-lambda-n.

No entanto, o Amazon RDS não pode usar nenhum desses grupos de segurança para a conexão com o cluster de banco de dados multi-AZ ou a função do Lambda. O Amazon RDS não pode usar um grupo de segurança que não tenha regras de entrada e saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ ou a função do Lambda. O Amazon RDS também não pode usar um grupo de segurança que tenha sido modificado.

RDS action: create new security groups

Há um ou mais grupos de segurança associados ao cluster de banco de dados multi-AZ com um nome correspondente ao padrão rds-lambda-n ou se o TargetHealth de um proxy associado estiver AVAILABLE.

Um grupo de segurança que corresponde ao padrão não foi modificado. Esse grupo de segurança tem apenas uma regra de entrada com o grupo de segurança da VPC da função do Lambda ou do proxy como origem.

Existe um grupo de segurança do Lambda válido para a conexão, mas ele não está associado à função do Lambda. Esse grupo de segurança tem um nome correspondente ao padrão lambda-rds-n ou lambda-rdsproxy-n. Não foi modificado. Ele tem apenas uma regra de saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ ou do proxy como destino.

Existe um grupo de segurança do proxy válido para a conexão, mas ele não está associado ao proxy. Esse grupo de segurança tem um nome que corresponde ao padrão rdsproxy-lambda-n. Não foi modificado. Ele tem regras de entrada e saída com os grupos de segurança da VPC do cluster de banco de dados multi-AZ e da função do Lambda.

RDS action: associate Lambda security group

Qualquer uma das seguintes condições se aplica:

  • Não há nenhum grupo de segurança associado ao cluster de banco de dados multi-AZ com um nome correspondente ao padrão rds-lambda-n ou se o TargetHealth de um proxy associado estiver AVAILABLE.

  • Há um ou mais grupos de segurança associados ao cluster de banco de dados multi-AZ com um nome correspondente ao padrão rds-lambda-n ou se o TargetHealth de um proxy associado estiver AVAILABLE. No entanto, o Amazon RDS não pode usar nenhum desses grupos de segurança para a conexão com a função do Lambda ou o proxy.

    O Amazon RDS não pode usar um grupo de segurança que não tenha uma regra de entrada no grupo de segurança da VPC da função do Lambda ou do proxy como origem. O Amazon RDS também não pode usar um grupo de segurança que tenha sido modificado.

Há um ou mais grupos de segurança associados à função do Lambda com um nome correspondente ao padrão lambda-rds-n ou lambda-rdsproxy-n.

Um grupo de segurança que corresponde ao padrão não foi modificado. Esse grupo de segurança tem apenas uma regra de saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ ou do proxy como destino.

Há um ou mais grupos de segurança associados ao proxy com um nome correspondente ao padrão rdsproxy-lambda-n.

Um grupo de segurança que corresponde ao padrão não foi modificado. Esse grupo de segurança tem regras de entrada e saída com os grupos de segurança da VPC do cluster de banco de dados multi-AZ e da função do Lambda.

RDS action: create new security groups

Há um ou mais grupos de segurança associados ao cluster de banco de dados multi-AZ com um nome que corresponde ao padrão rds-rdsproxy-n (em que n é um número).

Qualquer uma das seguintes condições se aplica:

  • Não há um grupo de segurança associado à função do Lambda com um nome correspondente ao padrão lambda-rds-n ou lambda-rdsproxy-n.

  • Há um ou mais grupos de segurança associados à função do Lambda com um nome correspondente ao padrão lambda-rds-n ou lambda-rdsproxy-n. No entanto, o Amazon RDS não pode usar nenhum desses grupos de segurança para a conexão com o cluster de banco de dados multi-AZ.

O Amazon RDS não pode usar um grupo de segurança que não tenha uma regra de saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ ou do proxy como destino. O Amazon RDS também não pode usar um grupo de segurança que tenha sido modificado.

Qualquer uma das seguintes condições se aplica:

  • Não há um grupo de segurança associado ao proxy com um nome correspondente ao padrão rdsproxy-lambda-n.

  • Há um ou mais grupos de segurança associados ao proxy com um nome correspondente ao rdsproxy-lambda-n. No entanto, o Amazon RDS não pode usar nenhum desses grupos de segurança para a conexão com o cluster de banco de dados multi-AZ ou a função do Lambda.

O Amazon RDS não pode usar um grupo de segurança que não tenha regras de entrada e saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ ou a função do Lambda. O Amazon RDS também não pode usar um grupo de segurança que tenha sido modificado.
RDS action: create new security groups
Ação
do RDS: criar grupos de segurança

O Amazon RDS realiza as seguintes ações:

  • Cria um grupo de segurança correspondente ao padrão rds-lambda-n. Esse grupo de segurança tem uma regra de entrada com o grupo de segurança da VPC da função do Lambda ou do proxy como origem. Esse grupo de segurança está associado ao cluster de banco de dados multi-AZ e permite que a função ou o proxy acesse o cluster de banco de dados multi-AZ.

  • Cria um grupo de segurança que corresponde ao padrão lambda-rds-n. Esse grupo de segurança tem uma regra de saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ ou do proxy como destino. Esse grupo de segurança está associado à função do Lambda e permite que ela envie tráfego para o cluster de banco de dados multi-AZ ou envie tráfego por meio de um proxy.

  • Cria um grupo de segurança que corresponde ao padrão rdsproxy-lambda-n. Esse grupo de segurança tem regras de entrada e saída com os grupos de segurança da VPC do cluster de banco de dados multi-AZ e da função do Lambda.

Ação
 do RDS: associar o grupo de segurança do Lambda

O Amazon RDS associa o grupo de segurança do Lambda válido e existente à função do Lambda. Esse grupo de segurança permite que a função envie tráfego para o cluster de banco de dados multi-AZ ou envie tráfego por meio de um proxy.

Conectar automaticamente uma função do Lambda e um cluster de banco de dados multi-AZ

Você pode usar o console do Amazon RDS para conectar automaticamente uma função do Lambda ao cluster de banco de dados multi-AZ. Isso simplifica o processo de configuração de uma conexão entre esses recursos.

Você também pode usar o RDS Proxy para incluir um proxy em sua conexão. As funções do Lambda fazem conexões curtas frequentes com o banco de dados que se beneficiam do grupo de conexões oferecido pelo RDS Proxy. Também é possível usar qualquer autenticação do IAM que você já tenha para funções do Lambda, em vez de gerenciar credenciais de banco de dados no código da aplicação do Lambda.

Você pode conectar um cluster de banco de dados multi-AZ existente a funções do Lambda novas e existentes usando a página Configurar conexão do Lambda. O processo de configuração define automaticamente os grupos de segurança necessários para você.

Antes de configurar uma conexão entre uma função do Lambda e um cluster de banco de dados multi-AZ, garanta que:

Se você alterar os grupos de segurança depois de configurar a conectividade, as alterações poderão afetar a conexão entre a função do Lambda e o cluster de banco de dados multi-AZ.

nota

Você possa configurar automaticamente uma conexão entre um cluster de banco de dados multi-AZ e uma função do Lambda somente no AWS Management Console. Para conectar uma função do Lambda, todas as instâncias no cluster de banco de dados multi-AZ devem estar no estado Disponível.

Como conectar automaticamente uma função do Lambda e um cluster de banco de dados multi-AZ
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, selecione Bancos de dados e, depois, o cluster de banco de dados multi-AZ que você deseja conectar a uma função do Lambda.

  3. Em Ações, selecione Configurar conexão do Lambda.

  4. Na página Configurar conexão do Lambda, em Selecionar função do Lambda, faça o seguinte:

    • Se você tiver uma função do Lambda na mesma VPC que o cluster de banco de dados multi-AZ, escolha Selecionar função existente e, depois, escolha a função.

    • Se você não tiver uma função do Lambda na mesma VPC, selecione Criar função do Lambda e, depois, insira um Nome da função. O runtime padrão é definido como Nodejs.18. Você pode modificar as configurações de sua nova função do Lambda no console do Lambda depois de concluir a configuração da conexão.

  5. (Opcional) Em RDS Proxy, selecione Conectar usando o RDS Proxy e, depois, faça o seguinte:

    • Se você tiver um proxy que deseja usar, escolha Selecionar um proxy existente e, depois, escolha o proxy.

    • Se você não tiver um proxy e quiser que o Amazon RDS crie um automaticamente para você, selecione Criar um proxy. Então, para Credenciais de banco de dados, faça o seguinte:

      1. Selecione Nome de usuário e senha do banco de dados e, depois, insira o Nome do usuário e a Senha para o cluster de banco de dados multi-AZ.

      2. Selecione Segredo do Secrets Manager. Então, em Selecionar segredo, escolha um segredo do AWS Secrets Manager. Se você não tiver um segredo do Secrets Manager, selecione Criar um segredo do Secrets Manager para criar um segredo. Depois de criar o segredo, em Selecionar segredo, escolha o novo segredo.

      Depois de criar o proxy, escolha Selecionar proxy existente e, depois, escolha o proxy. Observe que pode levar algum tempo até que o proxy esteja disponível para conexão.

  6. (Opcional) Expanda Resumo da conexão e verifique as atualizações destacadas para seus recursos.

  7. Escolha Set up (Configurar).

Visualizar recursos de computação conectados

Você pode usar o AWS Management Console para visualizar os recursos de computação conectados a um cluster de banco de dados multi-AZ. Os recursos mostrados incluem conexões de recursos de computação que o Amazon RDS configurou automaticamente.

Os recursos de computação listados não incluem aqueles que são conectados manualmente ao cluster de banco de dados multi-AZ. Por exemplo, você pode permitir que um recurso de computação acesse o cluster de banco de dados multi-AZ manualmente adicionando uma regra ao grupo de segurança da VPC associado ao cluster.

Para que o console liste uma função do Lambda, as seguintes condições devem ser aplicadas:

  • O nome do grupo de segurança associado ao recurso de computação corresponde ao padrão lambda-rds-n ou lambda-rdsproxy-n (em que n é um número).

  • O grupo de segurança associado ao recurso de comutação tem uma regra de saída com o intervalo de portas definido como a porta do cluster de banco de dados multi-AZ ou de um proxy associado. O destino da regra de saída deve ser definido como um grupo de segurança associado ao cluster de banco de dados multi-AZ ou a um proxy associado.

  • O nome do grupo de segurança anexado ao proxy associado ao banco de dados corresponde ao padrão rds-rdsproxy-n (em que n é um número).

  • O grupo de segurança associado à função tem uma regra de saída com a porta definida como a porta que o cluster de banco de dados multi-AZ ou o proxy associado usa. O destino deve ser definido como um grupo de segurança associado ao cluster de banco de dados multi-AZ ou ao proxy associado.

Como visualizar os recursos de computação conectados automaticamente a um cluster de banco de dados multi-AZ
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, selecione Bancos de dados e, depois, o cluster de banco de dados multi-AZ.

  3. Na guia Conectividade e segurança, veja os recursos de computação em Recursos de computação conectados.