Conexión automática de una función de Lambda y una instancia de base de datos
Puede utilizar la consola de Amazon RDS para simplificar la configuración de una conexión entre una función de Lambda y una instancia de base de datos. A menudo, la instancia de base de datos se encuentra en una subred privada dentro de una VPC. Las aplicaciones pueden utilizar la función de Lambda para acceder a su instancia de base de datos privada.
Para obtener instrucciones sobre cómo configurar una conexión entre una función de Lambda y un clúster de base de datos Multi-AZ, consulte Conexión automática de una función de Lambda y un clúster de base de datos Multi-AZ.
La siguiente imagen muestra una conexión directa entre su instancia de base de datos y su función de Lambda.
Puede configurar la conexión entre la función de Lambda y su instancia de 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 AWS Identity and Access Management (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 .
Cuando utiliza la consola para conectarse con un proxy existente, Amazon RDS actualiza el grupo de seguridad del proxy para permitir las conexiones desde su instancia de base de datos y la función de Lambda.
También puede crear un nuevo proxy desde la misma página de la consola. Al crear un proxy en la consola, para acceder a la instancia de base de datos, debe introducir las credenciales de la base de datos o seleccionar un secreto de AWS Secrets Manager.
Temas
Información general de la conectividad automática con una función de Lambda
Estos son los requisitos para conectar una función de Lambda a una base de datos de RDS:
-
La función de Lambda debe encontrarse en la misma VPC que la instancia de base de datos.
-
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
-
secretsmanager:CreateSecret
-
secretsmanager:DescribeSecret
-
-
IAM
-
iam:AttachPolicy
-
iam:CreateRole
-
iam:CreatePolicy
-
-
AWS KMS
-
kms:describeKey
-
-
nota
Si la instancia de base de datos y la función de Lambda se encuentran en diferentes zonas de disponibilidad, su cuenta podría incurrir en costes cruzados de la zona de disponibilidad.
Cuando se configura una conexión entre una función de Lambda y una base de datos de RDS, Amazon RDS configura el grupo de seguridad de la VPC para su función y su instancia de base de datos. 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 a la instancia de base de datos, 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 |
---|---|---|---|
Hay uno o más grupos de seguridad asociados a la instancia de base de datos con un nombre que coincide con el patrón 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 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 de la instancia de base de datos 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 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 la instancia de base de datos. |
Amazon RDS no realiza ninguna acción. Ya se configuró automáticamente una conexión entre la función de Lambda, el proxy (opcional) y la instancia de base de datos. Como ya existe una conexión entre la función, el proxy y la base de datos, los grupos de seguridad no se modifican. |
Se aplica alguna de las siguientes condiciones:
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:
Amazon RDS no puede utilizar un grupo de seguridad que no tenga una regla de salida con el grupo de seguridad de la VPC de la instancia de base de datos 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:
|
RDS action: create new security groups |
Hay uno o más grupos de seguridad asociados a la instancia de base de datos con un nombre que coincida con el patrón 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 Sin embargo, Amazon RDS no puede usar ninguno de estos grupos de seguridad para la conexión con la instancia de base de datos. Amazon RDS no puede utilizar un grupo de seguridad que no tenga una regla de salida con el grupo de seguridad de la VPC de la instancia de base de datos 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 Sin embargo, Amazon RDS no puede usar ninguno de estos grupos de seguridad para la conexión con la instancia de base de datos 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 de la instancia de base de datos 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 a la instancia de base de datos con un nombre que coincida con el patrón 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 |
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 |
RDS action: associate Lambda security group |
Se aplica alguna de las siguientes condiciones:
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 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 de la instancia de base de datos 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 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 de la instancia de base de datos y la función de Lambda. |
RDS action: create new security groups |
Se aplica alguna de las siguientes condiciones:
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. |
Se aplica alguna de las siguientes condiciones:
Amazon RDS no puede utilizar un grupo de seguridad que no tenga una regla de salida con el grupo de seguridad de la VPC de la instancia de base de datos 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:
|
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-
on
rds-rdsproxy-
(si elige utilizar RDS Proxy). 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 a la instancia de base de datos y permite que la función o el proxy accedan a la instancia de base datos.n
-
Crea un nuevo grupo de seguridad que coincide con el patrón
lambda-rds-
on
lambda-rdsproxy-
. Este grupo de seguridad tiene una regla de salida bien con el grupo de seguridad de la VPC de la instancia de base de datos o el proxy como destino. Este grupo de seguridad está asociado a la función de Lambda y permite que la función envíe tráfico a la instancia de base de datos o que envíe tráfico a través de un proxy.n
-
Crea un nuevo grupo de seguridad que coincide con el patrón
rdsproxy-lambda-
. Este grupo de seguridad tiene reglas de entrada y salida con el grupo de seguridad de la VPC de la instancia de base de datos y la función de Lambda.n
Acción de RDS : 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 a la instancia de base de datos o que envíe tráfico a través de un proxy.
Conexión automática de una función de Lambda y una base de datos de RDS
Puede utilizar la consola de Amazon RDS para conectar automáticamente una función de Lambda a su instancia de base de datos. 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 una instancia de base de datos existente a funciones de Lambda nuevas y existentes mediante la página de configuración de conexiones 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 una instancia de base de datos, asegúrese de que:
-
Su función de Lambda y la instancia de base de datos estén en la misma VPC.
-
Tiene los permisos adecuados para su cuenta de usuario. Para obtener más información acerca de los requisitos, consulte Información general de la conectividad automática con una función de Lambda.
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 la instancia de base de datos.
nota
Puede configurar automáticamente una conexión entre la instancia de base de datos y una función de Lambda solo en la AWS Management Console. Para conectar una función de Lambda, la instancia de base de datos debe estar en estado Disponible.
Para conectar automáticamente una función de Lambda y una instancia de base de datos
Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/
. -
En el panel de navegación, elija Bases de datos y, a continuación, seleccione la instancia de base de datos que desea conectar a una función de Lambda.
-
En Acciones, elija Configurar la conexión de Lambda.
-
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 instancia de base de datos, 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.
-
-
(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:
-
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 instancia de base de datos.
-
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.
-
-
-
(Opcional) Amplíe Resumen de conexión y verifique las actualizaciones destacadas de sus recursos.
-
Elija Set up (Configurar).
Visualización de los recursos de computación conectados
Puede utilizar la AWS Management Console para ver las funciones de Lambda que están conectadas a su instancia de base de datos. 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 a la instancia de base de datos. Por ejemplo, para permitir que un recurso de computación acceda manualmente a su instancia de base de datos puede añadir una regla al grupo de seguridad de la VPC asociado a la base de datos.
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-
on
lambda-rdsproxy-
(donden
es un número).n
-
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 la instancia de base de datos o un proxy asociado. El destino de la regla de salida debe establecerse en un grupo de seguridad asociado a la instancia de base de datos o un proxy asociado.
-
Si la configuración incluye un proxy, el nombre del grupo de seguridad adjunto al proxy asociado a la base de datos coincide con el patrón
rdsproxy-lambda-
(donden
es un número).n
-
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 la instancia de base de datos o un proxy asociado. El destino debe establecerse en un grupo de seguridad asociado a la instancia de base de datos o un proxy asociado.
Para ver los recursos de computación conectados automáticamente a una instancia de base de datos
Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/
. -
En el panel de navegación, elija Bases de datos y, a continuación, elija la instancia de bases de datos.
-
En la pestaña Conectividad y seguridad, consulte los recursos de computación en Recursos de computación conectados.