Tutorial: Uso de AWS Lambda con eventos programados - AWS Lambda

Tutorial: Uso de AWS Lambda con eventos programados

En este tutorial, aprenderá a hacer lo siguiente:

  • Crear una función de Lambda utilizando el proyecto lambda-canary. También configurará la función de Lambda para que se ejecute cada minuto. Tenga en cuenta que si la función devuelve un error, AWS Lambda registra las métricas de error en CloudWatch.

  • Configure una alarma de CloudWatch en la métrica Errors de la función de Lambda para que publique un mensaje en el tema de Amazon SNS cuando AWS Lambda envíe las métricas de error a CloudWatch. Debe suscribirse a los temas de Amazon SNS para obtener notificaciones por correo electrónico. En este tutorial, hará lo siguiente para configurar esto:

    • Cree un tema de Amazon SNS.

    • Suscribirse al tema para poder recibir notificaciones por correo electrónico cuando se publique un mensaje nuevo en el tema.

    • En Amazon CloudWatch, configure una alarma en la métrica Errors de la función de Lambda para publicar un mensaje en el tema de SNS cuando se produzcan errores.

Prerequisites

En este tutorial, se presupone que tiene algunos conocimientos sobre las operaciones básicas de Lambda y la consola de Lambda. Si aún no lo ha hecho, siga las instrucciones de Introducción al Lambda para crear su primera función de Lambda.

Creación de una función de Lambda

  1. Inicie sesión en la AWS Management Console y abra la consola de AWS Lambda en https://console.aws.amazon.com/lambda/.

  2. Elija Create function (Crear función).

  3. Seleccione Use a blueprint (Utilizar un proyecto).

  4. Escriba canary en la barra de búsqueda. Elija proyecto lambda-canary y, a continuación, elija Configure (Configurar).

  5. Configure los siguientes ajustes.

    • Nombrelambda-canary.

    • Rol: cree un nuevo rol a partir de plantillas de políticas de AWS.

    • Nombre de rol: lambda-apigateway-role.

    • Plantillas de política: simple microservice permissions (Permisos de microservicio simples).

    • Regla: crear nueva regla.

    • Nombre de la reglaCheckWebsiteScheduledEvent.

    • Rule description (Descripción de reglaCheckWebsiteScheduledEvent trigger.

    • Schedule expression (Expresión de programaciónrate(1 minute).

    • Habilitado: cierto (comprobado).

    • Variables de entorno

      • sitiohttps://docs.aws.amazon.com/lambda/latest/dg/welcome.html.

      • expected (esperadoWhat is AWS Lambda?.

  6. Elija Create function (Crear función).

CloudWatch Events emite un evento cada minuto basado en la expresión de programación. El evento desencadena la función de Lambda, la cual verifica que la cadena esperada aparezca en la página especificada. Para obtener más información sobre las expresiones de programación, consulte Programación de expresiones con rate o cron.

Probar la función de Lambda

Compruebe la función con un evento de muestra proporcionado por la consola de Lambda.

  1. Abra la página de Functions (Funciones) en la consola de Lambda.

  2. Elija la función lambda-canary.

  3. Seleccione Test (Probar).

  4. Cree un evento nuevo usando la plantilla de evento de CloudWatch Events.

  5. Elija Create event (Crear evento).

  6. Elija Invoke (Invocar).

La salida de la ejecución de función aparece en la parte superior de la página.

Crear un tema de Amazon SNS y suscribirse a él.

Cree un tema de Amazon Simple Notification Service (Amazon SNS) para recibir notificaciones cuando la función de valor canary devuelva un error.

Para crear un tema

  1. Abra la consola de Amazon SNS.

  2. Elija Create new topic.

  3. Cree un tema con la siguiente configuración:

    • Nombrelambda-canary-notifications.

    • Nombre que mostrarCanary.

  4. Seleccione Create subscription.

  5. Cree una suscripción con la siguiente configuración:

    • ProtocoloEmail.

    • Punto de enlace: su dirección de email.

Amazon SNS envía un email desde Canary <no-reply@sns.amazonaws.com>, que refleja el nombre intuitivo del tema. Use el enlace del correo electrónico para verificar la dirección.

Configure una alarma

Configure una alarma en Amazon CloudWatch que monitorice la función de Lambda que envía una notificación cuando falla.

Para crear una alarma

  1. Abra la consola de CloudWatch.

  2. Elija Alarms (Alarmas).

  3. Elija Create alarm (Crear alarma).

  4. Elija Alarms (Alarmas).

  5. Cree una alarma con la siguiente configuración:

    • Métricas: errores lambda-canary.

      Buscar lambda canary errors para encontrar la métrica.

    • Estadístic – Sum.

      Elija la estadística en el menú desplegable sobre el menú gráfico de previsualización.

    • Nombrelambda-canary-alarm.

    • DescriptionLambda canary alarm.

    • Umbral: Whenever Errors is (Cuando el error sea) >=1.

    • Enviar notificación alambda-canary-notifications.

Pruebe la alarma

Actualice la configuración de función para hacer que la función devuelva un error, lo que activa la alarma.

Para activar una alarma

  1. Abra la página de Functions (Funciones) en la consola de Lambda.

  2. Elija la función lambda-canary.

  3. Desplácese hacia abajo. En Environment variables (Variables de entorno), elija Edit (Editar).

  4. Establezca expected en 404.

  5. Seleccione Save.

Espere un minuto y busque en su correo electrónico un mensaje de Amazon SNS.

Limpiar los recursos de

A menos que desee conservar los recursos que creó para este tutorial, puede eliminarlos ahora. Si elimina los recursos de AWS que ya no utiliza, evitará gastos innecesarios en su cuenta de AWS.

Para eliminar la función de Lambda

  1. .Abra la página de Functions (Funciones) en la consola de Lambda.

  2. Seleccione la función que ha creado.

  3. Elija Actions (Acciones), Delete (Eliminar).

  4. Elija Eliminar.

Para eliminar una alarma de CloudWatch

  1. Abra la página de Alarmas de la consola de CloudWatch.

  2. Seleccione la alarma que creó.

  3. Elija Actions (Acciones), Delete (Eliminar).

  4. Elija Eliminar.

Para eliminar la suscripción a Amazon SNS

  1. Abra la página Suscriptions (Suscripciones) en la consola de Amazon SNS.

  2. Seleccione la suscripción que creó.

  3. Elija Delete (Eliminar), Delete (Eliminar).

Para eliminar el tema de Amazon SNS

  1. Abra la página Topics (Temas) en la consola de Amazon SNS.

  2. Seleccione el tema que creó.

  3. Elija Eliminar.

  4. Escriba delete me en el cuadro de texto.

  5. Elija Eliminar.