Entrar Empieza gratis
Lambda

Cómo programar una función Lambda para que se ejecute sola cada noche

Tienes una tarea que debe ocurrir cada día a una hora: limpiar, enviar un resumen, comprobar algo. Cómo hacer que una función Lambda se ejecute sola con EventBridge Scheduler, en tu zona horaria, y cómo saber si se ejecutó. Explicado para quien nunca ha programado una tarea en la nube.

⏱ 15 minutos ◎ Para todos Actualizada el 26/10/2026

Hay tareas que no las lanza nadie: ocurren cada noche. Borrar ficheros temporales, enviar el resumen del día, comprobar que una web responde, hacer una copia. En un servidor clásico se usaba el cron; en AWS, cuando la tarea es un programa pequeño, la forma limpia es una función Lambda (el código) más un programador (el despertador) que la llame a la hora que digas. El programador se llama EventBridge Scheduler y es gratis en la práctica para unas pocas ejecuciones al día. Esta guía conecta las dos cosas.

Antes de empezar: qué significa cada cosa

Función Lambda
Un trozo de código tuyo guardado en Amazon que se ejecuta cuando algo lo llama. Pagas por ejecución, no por tener nada encendido.
EventBridge Scheduler
El despertador de AWS: ejecuta una acción (por ejemplo, llamar a tu función) a las horas que programes.
Programación
Cada "alarma" del despertador: cuándo y a quién llamar.
Expresión cron
La forma clásica de escribir horarios repetitivos con números: minuto, hora, día del mes, mes, día de la semana. La guía te da las expresiones hechas.
Zona horaria
Scheduler permite elegir la tuya (Europe/Madrid), así que las 3:00 son las 3:00 también con el cambio de hora.
Rol de ejecución
El permiso que el despertador necesita para llamar a tu función. Scheduler lo crea solo si se lo pides.
CloudWatch Logs
Donde la función escribe su diario cada vez que se ejecuta. Es cómo compruebas que funcionó.

Paso a paso

  1. Prepara la función para que funcione sin nadie delante

    Abre la función en la consola de Lambda y pruébala con el botón Probar con un evento vacío ({}): debe terminar sin error. Si necesita datos (una contraseña, una dirección), ponlos en las variables de entorno de la función (Configuración), no en el código. Y comprueba el tiempo de espera (Configuración general): si la tarea tarda dos minutos y el límite es tres segundos, fallará cada noche.

  2. Abre el programador

    Busca Amazon EventBridge en la consola y, en el menú de la izquierda, Programador, Programaciones, Crear programación. Nombre: limpieza-nocturna. Grupo: el predeterminado.

  3. Di cuándo

    Patrón: Programación recurrente, tipo Programación basada en cron. Para cada noche a las 3:00:

    cron(0 3 * * ? *)

    Para las 8:00 de lunes a viernes: cron(0 8 ? * MON-FRI *). Para el día 1 de cada mes a las 7:00: cron(0 7 1 * ? *). Debajo, Zona horaria: elige la tuya (Europe/Madrid). La pantalla te muestra las próximas diez ejecuciones para que compruebes que son las que esperas. Ventana flexible: Desactivada si quieres la hora exacta.

  4. Di a quién llamar

    Destino: Plantillas de destino, AWS Lambda - Invoke. Selecciona tu función en el desplegable. En Carga (payload) puedes dejar {} o pasar datos que la función lea del evento, por ejemplo {"modo": "nocturno"}: así la misma función puede hacer cosas distintas según quién la llame.

  5. Permisos y reintentos

    En Configuración, deja Crear un rol nuevo para esta programación: Scheduler le dará exactamente el permiso de invocar esa función. En la política de reintentos, 2 o 3 reintentos están bien para una tarea que no pasa nada por repetir; para una que envía correos, pon 0 para no enviar dos veces. Deja la acción tras completarse en NINGUNA (la programación recurrente no se borra). Siguiente, revisa y Crear programación.

  6. Comprueba la primera ejecución

    Al día siguiente (o pon una ejecución de prueba dentro de cinco minutos y luego cámbiala), abre la función, pestaña Monitorizar: la gráfica de invocaciones debe mostrar una a la hora programada, y Ver registros de CloudWatch enseña lo que escribió. Si no hay nada, mira la programación en Scheduler: su estado debe ser "Habilitada" y la pestaña de detalles muestra la última ejecución y si falló.

Qué puede salir mal

No se ejecutó a la hora que puse

Dejaste la zona horaria en UTC: en invierno es una hora menos que en España, en verano dos. Edita la programación y elige Europe/Madrid. O la expresión cron tiene los campos cambiados: en AWS el orden es minuto, hora, día del mes, mes, día de la semana, año, y uno de los dos "día" debe ser ?.

Se ejecuta pero la función falla

El problema es la función, no el despertador. Mira los registros de CloudWatch: la excepción está ahí. Lo habitual: le falta un permiso para hacer lo que hace (su propio rol de ejecución), o se agota el tiempo de espera.

Se ejecuta dos veces

Reintentos: la primera ejecución falló o tardó demasiado y Scheduler reintentó. Baja los reintentos a 0 si repetir es un problema, y haz que la función no tarde más que su límite.

Quiero parar la tarea unos días

En Scheduler, selecciona la programación y Deshabilitar. Se queda guardada; la vuelves a habilitar cuando quieras. No hace falta borrarla.

En Simplio

En Simplio cada función Lambda muestra su última ejecución, si fue bien y qué escribió, y programarla es elegir "cada día", "cada semana" o "cada mes" y una hora en tu zona horaria: Simplio crea la programación y el permiso. Si una ejecución falla, te avisa por correo. Y puedes ejecutarla ahora mismo con un botón y ver la respuesta, sin salir de la pantalla.

Lo mismo, en AWS y en Simplio

En la consola de AWSEn Simplio
Programar la funciónEventBridge Scheduler: expresión cron, zona horaria, destino, rol, reintentos: 6 pasosEn la función: "cada día a las 3:00" en un desplegable y una hora, en tu zona horaria
Saber si se ejecutóGráfica de Monitorizar y registros de CloudWatchÚltima ejecución, resultado y registros en la tarjeta de la función; aviso por correo si falla
Probarla a manoBotón Probar en Lambda con un evento JSONBotón Ejecutar ahora, con la respuesta y los registros en la misma pantalla

Probarlo gratis 15 días Ver cómo funciona

Todo esto, sin la consola de AWS

Simplio es un panel en español para manejar tus cuentas de AWS: máquinas, copias programadas, bases de datos, dominios, correo y lo que te cobra AWS, con permisos por persona y doble factor. Sin instalar nada en tus servidores.

Empieza gratis 15 días, sin tarjeta

¿Ya eres cliente? Acceso clientes.