¿Cómo puedo configurar mi función de Lambda para conectarme a una base de datos de Amazon RDS mediante Amazon RDS Proxy?

5 minutos de lectura
0

Quiero configurar mi función de AWS Lambda para conectarme a una base de datos de Amazon Relational Database Service (Amazon RDS) mediante Amazon RDS Proxy.

Descripción breve

Puede crear una base de datos de Amazon RDS Proxy para su función de Lambda. Un proxy de base de datos administra un conjunto de conexiones a bases de datos y retransmite las consultas de una función. Esto permite que una función alcance altos niveles de concurrencia sin agotar las conexiones a la base de datos.

Para obtener más información, consulte Configurar el acceso a la base de datos para una función de Lambda.

Resolución

Siga estas instrucciones para configurar Amazon RDS Proxy con una función de Lambda.

Nota: Amazon RDS Proxy debe estar en la misma Amazon Virtual Private Cloud (Amazon VPC) que la base de datos de Amazon RDS. Configure la función de Lambda con Amazon VPC para acceder a Amazon RDS Proxy.

Paso 1: Crear credenciales de la base de datos en AWS Secrets Manager

1.    Abra la consola de Secrets Manager y, a continuación, seleccione Store a new secret (Guardar un nuevo secreto).

2.    En Secret type (Tipo de secreto), elija Credentials for RDS Database (Credenciales para la base de datos RDS).

3.    Ingrese el nombre de usuario y la contraseña de la instancia de base de datos de Amazon RDS.

4.    Para la clave de cifrado, elija la clave de AWS Key Management Service (AWS KMS) que Secrets Manager utiliza para cifrar el valor secreto**.**

5.    En Database (Base de datos), elija su base de datos y, a continuación, elija Next (Siguiente).

6.    En Secret name (Nombre secreto), ingrese un nombre, seleccione Next (Siguiente), elija Next (Siguiente) de nuevo y, a continuación, seleccione Store (Tienda).

7.    En Secrets (Secretos), elija el secreto Secrets Manager (Gestor de Secretos) que creó.

8.    En Secret ARN (ARN secreto), copie el ARN para usarlo en otro paso.

Para obtener más información, consulte Crear un secreto de base de datos de AWS Secrets Manager.

Paso 2: Cree una política y un rol de AWS Identity and Access Management (IAM) para Amazon RDS Proxy

Cree un rol de IAM con permiso para usar el secreto y, a continuación, cree una política de confianza que permita a Amazon RDS asumir el rol.

Ejemplo de política de IAM Secrets Manager

Nota: Sustituya Secret_ARN por el ARN de Secrets Manager que copió anteriormente**.**

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:GetResourcePolicy",
        "secretsmanager:GetSecretValue",
        "secretsmanager:DescribeSecret",
        "secretsmanager:ListSecretVersionIds"
      ],
      "Resource": [
        "[Secret_ARN]"
      ]
    },
    {
      "Sid": "VisualEditor1",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:GetRandomPassword",
        "secretsmanager:ListSecrets"
      ],
      "Resource": "*"
    }
  ]
}

Ejemplo de política de confianza de IAM RDS

{
 "Version": "2012-10-17",
 "Statement": [
  {
   "Sid": "",
   "Effect": "Allow",
   "Principal": {
    "Service": "rds.amazonaws.com"
   },
   "Action": "sts:AssumeRole"
  }
 ]
}

Paso 3: Crear y adjuntar un proxy de RDS a una función de Lambda

1.    Abra la página de funciones en la consola de Lambda.

2.    En Functions (Funciones), elija su función de Lambda.

3.    Elija Configuration (Configuración) y, a continuación, elija Add database proxies (Agregar proxies de base de datos).

4.    Ingrese las siguientes variables:
Identificador de proxy: el nombre del proxy.
Instancia de base de datos de RDS: una instancia o un clúster de base de datos de MySQL o PostgreSQL compatible.
Secreto: el Secrets Manager que creó.
Rol de IAM: el rol de IAM que creó.
Autenticación: elija Password (Contraseña) para conectarse con las credenciales de la base de datos o elija Execution role (Rol de ejecución) para usar las credenciales de IAM de la función para la autenticación.

5.    Elija Add (Agregar).

La creación del proxy tarda unos minutos en completarse. Cuando el proxy esté disponible, configure la función para conectarse al punto de conexión del proxy en lugar del punto de conexión de la base de datos. Para obtener más información, consulte Crear un proxy de base de datos (consola).

Paso 4: (opcional) Confirme que su Amazon RDS Proxy utiliza la autenticación de IAM

Los siguientes pasos solo son necesarios si utiliza el rol de ejecución de Lambda para autenticarse en Amazon RDS Proxy.

1.    Abra la consola de Amazon RDS.

2.    En el panel de navegación, elija Proxies y luego elija su proxy.

3.    Elija Actions (Acciones) y, a continuación, elija Modify (Modificar).

4.    En el módulo de conectividad, asegúrese de que IAM Authentication (Autenticación de IAM) esté configurada como Required (Obligatoria).

Nota: Si tiene problemas de conexión, consulte ¿Por qué no puedo conectarme a mi instancia de base de datos de Amazon RDS o Amazon Aurora mediante RDS Proxy? Para obtener más información, consulte Utilizar Amazon RDS Proxy con AWS Lambda.


Información relacionada

¿Cómo resuelvo los tiempos de espera en la conexión de Lambda cuando accedo a una instancia de base de datos de Amazon RDS?

¿Cómo puedo configurar una función de Lambda para conectarse con una instancia RDS?

¿Cómo resuelvo el error “Lambda no pudo actualizar el rol de ejecución de la función” al adjuntar Amazon RDS Proxy a una función de Lambda?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año