Conexión automática de una función de Lambda y un  clúster de base de datos Multi-AZ - Amazon Relational Database Service

Conexión automática de una función de Lambda y un  clúster de base de datos Multi-AZ

Puede utilizar la consola de RDS para simplificar la configuración de una conexión entre una función de Lambda y un clúster de base de datos Multi-AZ. Puede utilizar la consola de RDS para simplificar la configuración de una conexión entre una función de Lambda y un clúster de base de datos Multi-AZ. A menudo, el clúster de base de datos Multi-AZ se encuentra en una subred privada dentro de una VPC. Las aplicaciones pueden utilizar la función de Lambda para acceder a su clúster de base de datos Multi-AZ privado.

La siguiente imagen muestra una conexión directa entre su clúster de base de datos Multi-AZ y su función de Lambda.

Conecte automáticamente un  clúster de base de datos Multi-AZ y una función de Lambda.

Puede configurar la conexión entre la función de Lambda y su base de datos a través de RDS Proxy para mejorar el rendimiento y la resiliencia de la base de datos. A menudo, las funciones de Lambda hacen frecuentes conexiones cortas a la base de datos que aprovechan el grupo de conexiones que ofrece RDS Proxy. Puede aprovechar cualquier autenticación de IAM que ya tenga para las funciones de Lambda, en lugar de administrar las credenciales de la base de datos en el código de la aplicación de Lambda. Para obtener más información, consulte Uso de Amazon RDS Proxy .

Puede utilizar la consola para crear automáticamente un proxy para su conexión. También puede seleccionar los proxies existentes. La consola actualiza el grupo de seguridad del proxy para permitir las conexiones entre la base de datos y la función de Lambda. Puede introducir las credenciales de la base de datos o seleccionar el secreto de Secrets Manager que necesita para acceder a la base de datos.

Conecte automáticamente un  clúster de base de datos Multi-AZ y una función de Lambda a través de RDS Proxy.

Información general de la conectividad automática con una función de Lambda

Cuando se configura una conexión entre una función de Lambda y un clúster de base de datos Multi-AZ automáticamente, Amazon RDS configura el grupo de seguridad de la VPC para su función de Lambda y su clúster de base de datos.

Estos son los requisitos para conectar una función de Lambda a un clúster de base de datos Multi-AZ:

  • La función de Lambda debe encontrarse en la misma VPC que el clúster de base de datos Multi-AZ.

    Si no existen funciones de Lambda en la misma VPC, la consola proporciona un enlace para crear una.

  • El usuario que configure la conectividad debe tener permisos para realizar las siguientes operaciones de Amazon RDS, Amazon EC2, Lambda, Secrets Manager e 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

Cuando se configura una conexión entre una función de Lambda y un clúster de base de datos Multi-AZ, Amazon RDS configura el grupo de seguridad de la VPC para su función y su clúster de base de datos Multi-AZ. Si usa RDS Proxy, Amazon RDS también configura el grupo de seguridad de la VPC para el proxy. Amazon RDS realiza una acción de acuerdo con la configuración actual de los grupos de seguridad asociados al clúster de base de datos Multi-AZ, la función de Lambda y el proxy, tal como se describe en la siguiente tabla.

Configuración del grupo de seguridad de RDS actual Configuración actual del grupo de seguridad de Lambda Configuración actual del grupo de seguridad del proxy Acción de RDS

Amazon RDS no toma ninguna medida porque los grupos de seguridad de todos los recursos siguen el patrón de nomenclatura correcto y tienen las reglas de entrada y salida correctas.

Hay uno o más grupos de seguridad asociados al clúster de base de datos Multi-AZ con un nombre que coincide con el patrón rds-lambda-n (donde n es un número) o si el valor de TargetHealth de un proxy asociado es AVAILABLE.

No se ha modificado ningún grupo de seguridad que coincida con el patrón. Este grupo de seguridad tiene solo una regla de entrada con el grupo de seguridad de la VPC de la función de Lambda o el proxy como origen.

Hay uno o más grupos de seguridad asociados a la función de Lambda con un nombre que coincide con el patrón lambda-rds-n o lambda-rdsproxy-n (donde n es un número).

No se ha modificado ningún grupo de seguridad que coincida con el patrón. Este grupo de seguridad solo tiene una regla de salida bien con el grupo de seguridad de la VPC del clúster de base de datos Multi-AZ o el proxy como destino.

Hay uno o más grupos de seguridad asociados al proxy con un nombre que coincide con el patrón rdsproxy-lambda-n (donde n es un número).

No se ha modificado ningún grupo de seguridad que coincida con el patrón. Este grupo de seguridad tiene reglas de entrada y salida con los grupos de seguridad de la VPC de la función de Lambda y el clúster de base de datos Multi-AZ.

Se aplica alguna de las siguientes condiciones:

  • No hay ningún grupo de seguridad asociado al clúster de base de datos Multi-AZ con un nombre que coincida con el patrón rds-lambda-n o si el valor de TargetHealth de un proxy asociado es AVAILABLE.

  • Hay uno o más grupos de seguridad asociados al clúster de base de datos Multi-AZ con un nombre que coincide con el patrón rds-lambda-n o si el valor de TargetHealth de un proxy asociado es AVAILABLE. Sin embargo, Amazon RDS no puede usar ninguno de estos grupos de seguridad para la conexión con la función de Lambda.

Amazon RDS no puede usar un grupo de seguridad que no tengan una regla de entrada con el grupo de seguridad de la VPC de la función de Lambda o el proxy como origen. Amazon RDS tampoco puede usar un grupo de seguridad que se haya modificado. Los ejemplos de modificaciones incluyen agregar una regla o cambiar el puerto de una regla existente.

Se aplica alguna de las siguientes condiciones:

  • No hay ningún grupo de seguridad asociado a la función de Lambda con un nombre que coincida con el patrón lambda-rds-nlambda-rdsproxy-n.

  • Hay uno o más grupos de seguridad asociados a la función de Lambda con un nombre que coincide con el patrón lambda-rds-nlambda-rdsproxy-n. Sin embargo, Amazon RDS no puede usar ninguno de estos grupos de seguridad para la conexión con el clúster de base de datos Multi-AZ.

Amazon RDS no puede usar un grupo de seguridad que no tenga una regla de salida con el grupo de seguridad de la VPC del clúster de base de datos Multi-AZ o el proxy como origen. Amazon RDS tampoco puede usar un grupo de seguridad que se haya modificado.

Se aplica alguna de las siguientes condiciones:

  • No hay ningún grupo de seguridad asociado al proxy con un nombre que coincida con el patrón rdsproxy-lambda-n.

  • Hay uno o más grupos de seguridad asociados al proxy con un nombre que coincide con rdsproxy-lambda-n. Sin embargo, Amazon RDS no puede usar ninguno de estos grupos de seguridad para la conexión con el clúster de base de datos Multi-AZ o la función de Lambda.

Amazon RDS no puede utilizar un grupo de seguridad que no tenga reglas de entrada y salida con el grupo de seguridad de la VPC del clúster de base de datos Multi-AZ y la función de Lambda. Amazon RDS tampoco puede usar un grupo de seguridad que se haya modificado.
RDS action: create new security groups

Hay uno o más grupos de seguridad asociados al clúster de base de datos Multi-AZ con un nombre que coincide con el patrón rds-lambda-n o si el valor de TargetHealth de un proxy asociado es AVAILABLE.

No se ha modificado ningún grupo de seguridad que coincida con el patrón. Este grupo de seguridad tiene solo una regla de entrada con el grupo de seguridad de la VPC de la función de Lambda o el proxy como origen.

Hay uno o más grupos de seguridad asociados a la función de Lambda con un nombre que coincide con el patrón lambda-rds-nlambda-rdsproxy-n.

Sin embargo, Amazon RDS no puede usar ninguno de estos grupos de seguridad para la conexión con el clúster de base de datos Multi-AZ. Amazon RDS no puede utilizar un grupo de seguridad que no tenga una regla de salida con el grupo de seguridad de la VPC del clúster de base de datos Multi-AZ o el proxy como destino. Amazon RDS tampoco puede usar un grupo de seguridad que se haya modificado.

Hay uno o más grupos de seguridad asociados al proxy con un nombre que coincide con el patrón rdsproxy-lambda-n.

Sin embargo, Amazon RDS no puede usar ninguno de estos grupos de seguridad para la conexión con el clúster de base de datos Multi-AZ o la función de Lambda. Amazon RDS no puede utilizar un grupo de seguridad que no tenga reglas de entrada y salida con el grupo de seguridad de la VPC del clúster de base de datos Multi-AZ y la función de Lambda. Amazon RDS tampoco puede usar un grupo de seguridad que se haya modificado.

RDS action: create new security groups

Hay uno o más grupos de seguridad asociados al clúster de base de datos Multi-AZ con un nombre que coincide con el patrón rds-lambda-n o si el valor de TargetHealth de un proxy asociado es AVAILABLE.

No se ha modificado ningún grupo de seguridad que coincida con el patrón. Este grupo de seguridad tiene solo una regla de entrada con el grupo de seguridad de la VPC de la función de Lambda o el proxy como origen.

Existe un grupo de seguridad de Lambda válido para la conexión, pero no está asociado a la función de Lambda. Este grupo de seguridad tiene un nombre que coincide con el patrón lambda-rds-nlambda-rdsproxy-n. No se ha modificado. Solo tiene una regla de salida con el grupo de seguridad de la VPC del clúster de base de datos Multi-AZ o el proxy como destino.

Existe un grupo de seguridad del proxy válido para la conexión, pero no está asociado al proxy. Este grupo de seguridad tiene un nombre que coincide con el patrón rdsproxy-lambda-n. No se ha modificado. Este grupo de seguridad tiene reglas de entrada y salida con el grupo de seguridad de la VPC del clúster de base de datos Multi-AZ y la función de Lambda.

RDS action: associate Lambda security group

Se aplica alguna de las siguientes condiciones:

  • No hay ningún grupo de seguridad asociado al clúster de base de datos Multi-AZ con un nombre que coincida con el patrón rds-lambda-n o si el valor de TargetHealth de un proxy asociado es AVAILABLE.

  • Hay uno o más grupos de seguridad asociados al clúster de base de datos Multi-AZ con un nombre que coincide con el patrón rds-lambda-n o si el valor de TargetHealth de un proxy asociado es AVAILABLE. Sin embargo, Amazon RDS no puede usar ninguno de estos grupos de seguridad para la conexión con la función de Lambda o el proxy.

    Amazon RDS no puede usar un grupo de seguridad que no tengan una regla de entrada con el grupo de seguridad de la VPC de la función de Lambda o el proxy como origen. Amazon RDS tampoco puede usar un grupo de seguridad que se haya modificado.

Hay uno o más grupos de seguridad asociados a la función de Lambda con un nombre que coincide con el patrón lambda-rds-nlambda-rdsproxy-n.

No se ha modificado ningún grupo de seguridad que coincida con el patrón. Este grupo de seguridad solo tiene una regla de salida con el grupo de seguridad de la VPC del clúster de base de datos Multi-AZ o el proxy como destino.

Hay uno o más grupos de seguridad asociados al proxy con un nombre que coincide con el patrón rdsproxy-lambda-n.

No se ha modificado ningún grupo de seguridad que coincida con el patrón. Este grupo de seguridad tiene reglas de entrada y salida con el grupo de seguridad de la VPC del clúster de base de datos Multi-AZ y la función de Lambda.

RDS action: create new security groups

Hay uno o más grupos de seguridad asociados al clúster de base de datos Multi-AZ con un nombre que coincide con el patrón rds-rdsproxy-n (donde n es un número).

Se aplica alguna de las siguientes condiciones:

  • No hay ningún grupo de seguridad asociado a la función de Lambda con un nombre que coincida con el patrón lambda-rds-nlambda-rdsproxy-n.

  • Hay uno o más grupos de seguridad asociados a la función de Lambda con un nombre que coincide con el patrón lambda-rds-nlambda-rdsproxy-n. Sin embargo, Amazon RDS no puede usar ninguno de estos grupos de seguridad para la conexión con el clúster de base de datos Multi-AZ.

Amazon RDS no puede utilizar un grupo de seguridad que no tenga una regla de salida con el grupo de seguridad de la VPC del clúster de base de datos Multi-AZ o el proxy como destino. Amazon RDS tampoco puede usar un grupo de seguridad que se haya modificado.

Se aplica alguna de las siguientes condiciones:

  • No hay ningún grupo de seguridad asociado al proxy con un nombre que coincida con el patrón rdsproxy-lambda-n.

  • Hay uno o más grupos de seguridad asociados al proxy con un nombre que coincide con rdsproxy-lambda-n. Sin embargo, Amazon RDS no puede usar ninguno de estos grupos de seguridad para la conexión con el clúster de base de datos Multi-AZ o la función de Lambda.

Amazon RDS no puede utilizar un grupo de seguridad que no tenga reglas de entrada y salida con el grupo de seguridad de la VPC del clúster de base de datos Multi-AZ y la función de Lambda. Amazon RDS tampoco puede usar un grupo de seguridad que se haya modificado.
RDS action: create new security groups
Acción de RDS de
: crear nuevos grupos de seguridad

Amazon RDS realiza las siguientes acciones:

  • Crea un nuevo grupo de seguridad que coincide con el patrón rds-lambda-n. Este grupo de seguridad tiene una regla de entrada con el grupo de seguridad de la VPC de la función de Lambda o el proxy como origen. Este grupo de seguridad está asociado al clúster de base de datos Multi-AZ y permite que la función o el proxy acceda al clúster de base de datos Multi-AZ.

  • Crea un nuevo grupo de seguridad que coincide con el patrón lambda-rds-n. Este grupo de seguridad tiene una regla de salida con el grupo de seguridad de la VPC del clúster de base de datos Multi-AZ o el proxy como destino. Este grupo de seguridad está asociado a la función de Lambda y permite que la función de Lambda envíe tráfico al clúster de base de datos Multi-AZ o que envíe tráfico a través de un proxy.

  • Crea un nuevo grupo de seguridad que coincide con el patrón rdsproxy-lambda-n. Este grupo de seguridad tiene reglas de entrada y salida con el grupo de seguridad de la VPC del clúster de base de datos Multi-AZ y la función de Lambda.

Acción de RDS de 
: asociar un grupo de seguridad de Lambda

Amazon RDS asocia el grupo de seguridad de Lambda válido y existente a la función de Lambda. Este grupo de seguridad permite que la función envíe tráfico al clúster de base de datos Multi-AZ o que envíe tráfico a través de un proxy.

Conexión automática de una función de Lambda y un  clúster de base de datos Multi-AZ

Puede utilizar la consola de Amazon RDS para conectar automáticamente una función de Lambda a su clúster de base de datos Multi-AZ. Esto simplifica el proceso de establecer una conexión entre estos recursos.

También puede usar RDS Proxy para incluir un proxy en la conexión. Las funciones de Lambda hacen frecuentes conexiones cortas a la base de datos que aprovechan el grupo de conexiones que ofrece RDS Proxy. Puede aprovechar cualquier autenticación de IAM que ya tenga para sus funciones de Lambda, en lugar de administrar las credenciales de la base de datos en el código de la aplicación de Lambda.

Puede conectar un clúster de base de datos Multi-AZ existente a funciones de Lambda nuevas y existentes mediante la página Configurar la conexión de Lambda. El proceso de configuración configura automáticamente los grupos de seguridad necesarios en su nombre.

Antes de configurar una conexión entre una función de Lambda y un clúster de base de datos Multi-AZ, asegúrese de que:

Si realiza cambios en los grupos de seguridad después de configurar la conectividad, los cambios podrían afectar a la conexión entre la función de Lambda y el clúster de base de datos Multi-AZ.

nota

Puede configurar automáticamente una conexión entre el clúster de base de datos Multi-AZ y una función de Lambda solo en la AWS Management Console. Para conectar una función de Lambda, todas las instancias del clúster de base de datos Multi-AZ deben estar en estado Disponible.

Para conectar automáticamente una función de Lambda y un  clúster de base de datos Multi-AZ
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, elija Bases de datos y, a continuación, seleccione el clúster de base de datos Multi-AZ que desea conectar a una función de Lambda.

  3. En Acciones, elija Configurar la conexión de Lambda.

  4. En la página Configurar la conexión de Lambda, en Seleccionar la función de Lambda, realice una de las siguientes acciones:

    • Si ya tiene una función de Lambda en la misma VPC que su clúster de base de datos Multi-AZ, elija Elegir una función existente y, a continuación, seleccione la función.

    • Si no tiene una función de Lambda en la misma VPC, elija Crear función nueva y, a continuación, introduzca un Nombre de la función. El tiempo de ejecución predeterminado está establecido en Nodejs.18. Puede modificar la configuración de la nueva función de Lambda en la consola de Lambda después de completar la configuración de la conexión.

  5. (Opcional) En RDS Proxy, seleccione Conexión mediante RDS Proxy y, a continuación, realice una de las siguientes acciones:

    • Si ya tiene un proxy que quiere usar, elija Elegir un proxy existente y, a continuación, elija el proxy.

    • Si no dispone de un proxy y desea que Amazon RDS lo cree automáticamente, elija Crear un proxy nuevo. A continuación, para Credenciales de la base de datos, realice una de las siguientes acciones:

      1. Elija Nombre de usuario y contraseña de la base de datos y, a continuación, introduzca el Nombre de usuario y la Contraseña para su clúster de base de datos Multi-AZ.

      2. Elija Secreto de Secrets Manager. A continuación, para Seleccionar secreto, elija un secreto de AWS Secrets Manager. Si no tiene ningún secreto de Secrets Manager, elija Crear un nuevo secreto de Secrets Manager para crear un nuevo secreto. Después de crear el secreto, en Seleccionar secreto, elija el nuevo secreto.

      Después de crear el nuevo proxy, elija Elegir un proxy existente y, a continuación, elija el proxy. Tenga en cuenta que el proxy puede tardar algún tiempo en estar disponible para la conexión.

  6. (Opcional) Amplíe Resumen de conexión y verifique las actualizaciones destacadas de sus recursos.

  7. Elija Set up (Configurar).

Visualización de los recursos de computación conectados

Puede utilizar la AWS Management Console para ver los recursos de computación que están conectados a su clúster de base de datos Multi-AZ. Los recursos que se muestran incluyen las conexiones de los recursos de computación que Amazon RDS configuró automáticamente.

Los recursos de computación de la lista no incluyen los que se conectan manualmente al clúster de base de datos Multi-AZ. Por ejemplo, para permitir que un recurso de computación acceda manualmente a su clúster de base de datos Multi-AZ puede añadir una regla al grupo de seguridad de la VPC asociado al clúster.

Para que la consola muestre una función de Lambda, se deben cumplir las siguientes condiciones:

  • El nombre del grupo de seguridad asociado al recurso de computación coincide con el patrón lambda-rds-nlambda-rdsproxy-n (donde n es un número).

  • El grupo de seguridad asociado al recurso de computación tiene una regla de salida con el rango de puertos establecido en el puerto utilizado por el clúster de base de datos Multi-AZ o un proxy asociado. El destino de la regla de salida debe establecerse en un grupo de seguridad asociado al clúster de base de datos Multi-AZ o un proxy asociado.

  • El nombre del grupo de seguridad adjunto al proxy asociado a la base de datos coincide con el patrón rds-rdsproxy-n (donde n es un número).

  • El grupo de seguridad asociado a la función tiene una regla de salida con el rango de puertos establecido en el puerto utilizado por el clúster de base de datos Multi-AZ o un proxy asociado. El destino debe establecerse en un grupo de seguridad asociado al clúster de base de datos Multi-AZ o un proxy asociado.

Para ver los recursos de computación conectados automáticamente  un clúster de base de datos Multi-AZ
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, elija Bases de datos y, a continuación, elija el clúster de base de datos Multi-AZ.

  3. En la pestaña Conectividad y seguridad, consulte los recursos de computación en Recursos de computación conectados.