Reglas de Lambda personalizadas (ejemplo de Amazon EC2) - AWS Config

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Reglas de Lambda personalizadas (ejemplo de Amazon EC2)

Este procedimiento lo guía a través del proceso de creación de una regla Lambda personalizada que evalúe si cada una de las instancias EC2 es del tipo t2.micro. AWS Config realizará evaluaciones basadas en eventos para esta regla, lo que significa que comprobará las configuraciones de la instancia cada vez que AWS Config detecte un cambio de configuración en una instancia. AWS Config marcará las instancias t2.micro como conformes y todas las demás instancias como no conformes. El estado de conformidad aparecerá en la consola de AWS Config .

Para obtener los mejores resultados con este procedimiento, debe tener una o más instancias EC2 en su equipo. Cuenta de AWS Sus instancias deben incluir una combinación de al menos una instancia de t2.micro y otros tipos.

Para crear esta regla, primero debe crear una AWS Lambda función personalizando un plano en la consola. AWS Lambda A continuación, creará una regla Lambda personalizada en AWS Config y asociará la regla a la función.

Creación de una función AWS Lambda para una regla de configuración personalizada

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

  2. En el AWS Management Console menú, compruebe que el selector de regiones esté configurado en una región que admita AWS Config reglas. Para ver una lista de las regiones admitidas, consulte Regiones y puntos de enlace de AWS Config en la Referencia general de Amazon Web Services.

  3. En la AWS Lambda consola, elija Crear una función Lambda.

  4. Elija Utilizar un esquema. En la barra de búsqueda, escriba config-rule-change-triggered. Seleccione el esquema en los resultados filtrados y elija Configurar.

  5. En la página Configure triggers, elija Next.

  6. En la página Basic information, realice los siguientes pasos:

    1. En Function name (Nombre de función), escriba InstanceTypeCheck.

    2. En Función de ejecución, elija Crear una nueva función a partir de plantillas de AWS políticas.

    3. Para Runtime (Tiempo de ejecución), mantenga Node.js.

    4. En Nombre del rol, escriba un nombre.

    5. En Plantillas de política, elija Permisos de reglas de AWS Config .

    6. En Función de código de la función de Lambda, conserve el código preconfigurado. El código de Node.js de su función se proporciona en el editor de código. Para este procedimiento, no es necesario cambiar el código.

    7. Verifique los detalles y, a continuación, seleccione Crear una función. La AWS Lambda consola muestra su función.

  7. Para verificar que su función está configurada correctamente, pruébela con los siguientes pasos:

    1. Seleccione Probar en el menú que aparece debajo de Información general de la función y, a continuación, elija Configurar un evento de prueba.

    2. En Plantilla, elija Notificación de cambio de elemento de configuración de AWS Config .

    3. En Name (Nombre), escriba un nombre.

    4. Selecciona Probar. AWS Lambda prueba la función con el evento de ejemplo. Si la función funciona según lo previsto, aparecerá un mensaje de error similar al siguiente en Execution result (Resultado de la ejecución):

      { "errorType": "InvalidResultTokenException," "errorMessage": "Result Token provided is invalid", . . .

      Esto InvalidResultTokenException es lo esperado porque la función solo se ejecuta correctamente cuando recibe un token de resultado de AWS Config. El token de resultados identifica la regla de AWS Config y el evento que ha causado la evaluación y el token de resultados asocia una evaluación con una regla. Esta excepción indica que la función tiene el permiso que necesita para enviar resultados a AWS Config. De lo contrario, aparece el siguiente mensaje de error: not authorized to perform: config:PutEvaluations. Si se produce este error, actualice el rol que ha asignado a su función para permitir la acción config:PutEvaluations y probar la función de nuevo.

Creación de una regla de Lambda personalizada para evaluar las instancias de Amazon EC2

  1. Abra la AWS Config consola en https://console.aws.amazon.com/config/.

  2. En el AWS Management Console menú, compruebe que el selector de regiones esté configurado en la misma región en la que creó la AWS Lambda función para la regla Lambda personalizada.

  3. En la página Rules (Reglas), seleccione Add rule (Añadir regla).

  4. En la página Especificar tipo de regla, elija Cree una regla personalizada.

  5. En la página Configure rule (Configurar regla), siga los pasos que se describen a continuación:

    1. En Name (Nombre), escriba InstanceTypesAreT2micro.

    2. En Description (Descripción), escriba Evaluates whether EC2 instances are the t2.micro type.

    3. Para AWS Lambda function ARN, especifique el ARN que AWS Lambda ha asignado a su función.

      nota

      El ARN que se especifica en este paso no debe incluir el calificativo $LATEST. Puede especificar un ARN sin un calificador de versión o con cualquier otro calificador adicional. $LATEST AWS Lambda admite el control de versiones de funciones y a cada versión se le asigna un ARN con un calificador. AWS Lambda utiliza el $LATEST calificador de la última versión.

    4. Para Tipo de desencadenador, elija Cuando cambia la configuración.

    5. Para Scope of changes (Ámbito de cambios), elija Resources (Recursos).

    6. En Recursos, elija Instancia de AWS EC2 en la lista desplegable de Tipo de recurso.

    7. En la sección Parámetros, debe especificar el parámetro de regla que evalúa AWS Lambda la función y el valor deseado. La función de este procedimiento evalúa el parámetro desiredInstanceType.

      En Key (Clave), escriba desiredInstanceType. En Value, escriba t2.micro.

  6. Elija Siguiente. En la página Revisar y crear, compruebe los datos de la regla y seleccione Añadir función de reglas. La nueva regla se muestra en la página Rules.

    Cumplimiento mostrará Evaluando... hasta que AWS Config reciba los resultados de la evaluación de su AWS Lambda función. Si la regla y la función funcionan según lo previsto, aparece un resumen de los resultados pasados unos minutos. Por ejemplo, el resultado 2 noncompliant resource(s) (2 recursos no conformes) indica que dos de las instancias no son instancias t2.micro y el resultado Compliant (Conforme) que indica que todas las instancias son t2.micro. Puede actualizar los resultados con el botón de actualizar.

    Si la regla o la función no funcionan según lo previsto, puede que vea una de las siguientes opciones para Compliance (Conformidad):

    • No se informó de ningún resultado: AWS Config evaluó sus recursos según la regla. La regla no se ha aplicado a los recursos de AWS en su ámbito, los recursos especificados se han eliminado o los resultados de la evaluación se han eliminado. Para obtener los resultados de la evaluación, actualice la regla, cambie su ámbito o bien seleccione Re-evaluate (Volver a evaluar).

      Compruebe que el ámbito incluya Instancia de AWS EC2 para Recursos y vuelva a intentarlo.

    • No hay recursos dentro del alcance: AWS Config no puede evaluar AWS los recursos registrados según esta regla porque ninguno de sus recursos está dentro del alcance de la regla. Para obtener los resultados de la evaluación, edite la regla y cambie su alcance, o añada recursos AWS Config para registrarlos mediante la página de configuración.

      Compruebe que AWS Config esté grabando instancias de EC2.

    • Evaluations failed (Error en las evaluaciones): para obtener información que le ayude a determinar el problema, elija el nombre de la regla para abrir la página de detalles y ver el mensaje de error.

Si la regla funciona correctamente y AWS Config proporciona resultados de evaluación, puede saber qué condiciones afectan al estado de cumplimiento de la regla. Puede saber qué recursos, si hay alguno, no cumplen las reglas y por qué. Para obtener más información, consulte Visualización de la información de cumplimiento y los resultados de la evaluación.