Saltar al contenido

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

5 minutos de lectura
0

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

Resolución

Requisitos previos: Amazon RDS Proxy debe estar en la misma VPC de Amazon Virtual Private Cloud (Amazon VPC) que la base de datos de Amazon RDS.

Para configurar la función de Lambda de modo que utilice Amazon RDS Proxy para conectarse a una base de datos de Amazon RDS, sigue estos pasos.

Creación de las credenciales de la base de datos en Secrets Manager

Sigue estos pasos:

  1. Abre la consola de AWS Secrets Manager.
  2. Selecciona Almacenar un secreto nuevo.
  3. En Tipo de secreto, selecciona Credenciales para base de datos RDS.
  4. Introduce el nombre de usuario y la contraseña de tu instancia de base de datos de RDS.
  5. En Clave de cifrado, selecciona la clave de AWS Key Management Service (AWS KMS) que Secrets Manager utiliza para cifrar el valor del secreto.
  6. En Base de datos, selecciona tu base de datos y, a continuación, selecciona Siguiente.
  7. En Nombre del secreto, introduce un nombre y, a continuación, selecciona Siguiente.
  8. Selecciona Siguiente y, a continuación, Almacenar.
  9. En Secretos, selecciona el secreto de Secrets Manager.
  10. En ARN del secreto, anota el ARN del secreto.

Para obtener más información, consulta Creación de un secreto de AWS Secrets Manager.

Creación de una política y un rol de IAM para Amazon RDS Proxy

Crea un rol de AWS Identity and Access Management (IAM) con permisos para usar el secreto. Ejemplo:

{
  "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": "*"
    }
  ]
}

Nota: Sustituye Secret_ARN por el ARN de tu secreto.

A continuación, crea una política de confianza que permita a Amazon RDS asumir el rol. Ejemplo:

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

Creación y vinculación de un proxy a una función de Lambda

En primer lugar, crea un proxy de RDS. Luego, completa los siguientes pasos para configurar la función de modo que se conecte al punto de enlace del proxy en lugar de al punto de enlace de la base de datos:

  1. Abre la consola de Lambda.
  2. Selecciona Funciones y, a continuación, selecciona la función de Lambda.
  3. Selecciona Configuración y, a continuación, Bases de datos de RDS.
  4. Selecciona Conectarse a la base de datos de RDS.
  5. Selecciona tu base de datos de RDS. Alternativamente, selecciona Crear una nueva base de datos y, a continuación, configura las siguientes opciones:
    En Tipo de motor, selecciona el tipo de motor.
    En Identificador de instancia de base de datos, introduce un nombre para la instancia de base de datos.
    En Nombre de usuario maestro, introduce el ID de inicio de sesión del usuario principal.
    En VPC, usa la configuración predeterminada. De forma predeterminada, Lambda configura la base de datos de RDS en la misma VPC que la función.
  6. Elige la conexión a la base de datos y, a continuación, selecciona Agregar proxy.
  7. En Proxies existentes, selecciona tu proxy de RDS.
  8. Selecciona Agregar.

La conexión de proxy tarda unos minutos en completarse. Para obtener más información sobre cómo configurar una instancia de base de datos de RDS para usarla con Lambda, consulta Configuración de la función para que funcione con los recursos de RDS.

(Opcional) Comprobación de que Amazon RDS Proxy utilice la autenticación de IAM

Si usas el rol de ejecución de Lambda para autenticarte en Amazon RDS Proxy, completa los pasos siguientes:

  1. Abre la consola de RDS y Aurora.
  2. En el panel de navegación, selecciona Proxies y, a continuación, selecciona tu proxy.
  3. Selecciona Acciones y, a continuación, selecciona Modificar.
  4. En Autenticación, comprueba que Autenticación con IAM esté establecido en Obligatorio.

Si tienes problemas de conexión, consulta ¿Por qué no puedo conectarme a mi instancia de base de datos de Amazon RDS o Amazon Aurora a través de Amazon RDS Proxy?

Para obtener más información, consulta Using Amazon RDS Proxy with AWS Lambda (Uso de Amazon RDS Proxy con AWS Lambda).

Información relacionada

¿Cómo soluciono los errores de tiempo de espera de conexión de Lambda al intentar acceder a una instancia de base de datos de Amazon RDS?

¿Cómo configuro una función de Lambda para que se conecte a una instancia de RDS?

¿Cómo puedo solucionar el error "Lambda could not update the function's execution role" al adjuntar Amazon RDS Proxy a una función de Lambda?

OFICIAL DE AWSActualizada hace 2 años