

# Conexión automática de una función de Lambda y una instancia de base de datos
<a name="lambda-rds-connect"></a>

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](multiaz-lambda-rds-connect.md).

La siguiente imagen muestra una conexión directa entre su instancia de base de datos y su función de Lambda.

![\[Conexión automática de una instancia de base de datos con una función de Lambda\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/auto-connect-rds-lambda.png)


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 [Amazon RDS Proxy ](rds-proxy.md).

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.

![\[Conexión automática de una instancia de base de datos con una función de Lambda a través de RDS Proxy\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/auto-connect-rds-lambda-Proxy.png)


**sugerencia**  
Para conectar rápidamente una función de Lambda a una instancia de base de datos, también puede utilizar el asistente guiado integrado en la consola. Para abrir el asistente, haga lo siguiente:  
Abra la página de [Funciones](https://console.aws.amazon.com/lambda/home#/functions) en la consola de Lambda.
Seleccione la función a la que desea conectar una base de datos.
En la pestaña **Configuración**, seleccione **Bases de datos de RDS**.
Seleccione **Conectar a la base de datos de RDS**.
Después de haber conectado la función a una base de datos, podrá crear un proxy. Para ello, elija **Agregar proxy**.

**Topics**
+ [Información general de la conectividad automática con una función de Lambda](#lambda-rds-connect-overview)
+ [Conexión automática de una función de Lambda y una base de datos de RDS](#lambda-rds-connect-connecting)
+ [Visualización de los recursos de computación conectados](#lambda-rds-connect-viewing)

## Información general de la conectividad automática con una función de Lambda
<a name="lambda-rds-connect-overview"></a>

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 `rds-lambda-n` o si un proxy ya está conectado a su instancia de base de datos, RDS comprueba 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 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 `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 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: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/lambda-rds-connect.html) 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: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/lambda-rds-connect.html) 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:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/lambda-rds-connect.html)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](#rds-lam-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 `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-n` o `lambda-rdsproxy-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 `rdsproxy-lambda-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](#rds-lam-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 `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-n` o `lambda-rdsproxy-n`. No se ha modificado. 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.  |  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. 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: associate Lambda security group](#rds-lam-action-associate-lam-security-group)  | 
|  Se aplica alguna de las siguientes condiciones: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/lambda-rds-connect.html) 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-n` o `lambda-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 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 `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 de la instancia de base de datos y la función de Lambda.  |  [RDS action: create new security groups](#rds-lam-action-create-new-security-groups) | 
|  Se aplica alguna de las siguientes condiciones: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/lambda-rds-connect.html) 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: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/lambda-rds-connect.html) 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:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/lambda-rds-connect.html)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](#rds-lam-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` o `rds-rdsproxy-n` (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.
+ Crea un nuevo grupo de seguridad que coincide con el patrón `lambda-rds-n` o `lambda-rdsproxy-n`. 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.
+ 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 de la instancia de base de datos y la función de Lambda.

**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
<a name="lambda-rds-connect-connecting"></a>

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](#lambda-rds-connect-overview).

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 Consola de administración de AWS. 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**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. 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.

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

1. 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.

1. (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 instancia de base de datos.

     1. 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](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html). 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.

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

1. Elija **Configurar**.

Tras confirmar la configuración, Amazon RDS inicia el proceso de conexión de su función de Lambda, RDS Proxy (si ha utilizado un proxy) e instancia de base de datos. La consola muestra el cuadro de diálogo **Detalles de la conexión**, que muestra los cambios del grupo de seguridad que permiten las conexiones entre los recursos.

## Visualización de los recursos de computación conectados
<a name="lambda-rds-connect-viewing"></a>

Puede utilizar la Consola de administración de AWS 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-n` o `lambda-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 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-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 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**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, elija **Bases de datos** y, a continuación, elija la instancia de bases de datos.

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