Instalación de Guard como AWS Lambda función - AWS CloudFormation Guard

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.

Instalación de Guard como AWS Lambda función

Puede instalarlo AWS CloudFormation Guard a través de Cargo, el administrador de paquetes de Rust. Guard as an AWS Lambda function (cfn-guard-lambda) es un envoltorio ligero alrededor de Guard (cfn-guard) que se puede utilizar como función Lambda.

Requisitos previos

Antes de poder instalar Guard como una función Lambda, debe cumplir los siguientes requisitos previos:

Instale el administrador de paquetes Rust

Cargo es el administrador de paquetes de Rust. Complete los siguientes pasos para instalar Rust, que incluye Cargo.

  1. Ejecute el siguiente comando desde una terminal y, a continuación, siga las instrucciones que aparecen en pantalla para instalar Rust.

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    1. (Opcional) Para entornos Ubuntu, ejecuta el siguiente comando.

      sudo apt-get update; sudo apt install build-essential
  2. Configure la variable de PATH entorno y ejecute el siguiente comando.

    source $HOME/.cargo/env

Instalar Guard como una función Lambda (Linux, macOS o Unix)

Para instalar Guard como una función Lambda, complete los siguientes pasos.

  1. Desde su terminal de comandos, ejecute el siguiente comando.

    cargo install cfn-guard-lambda
    1. (Opcional) Para confirmar la instalación de Guard como función Lambda, ejecute el siguiente comando.

      cfn-guard-lambda --version

      El comando devuelve el resultado siguiente.

      cfn-guard-lambda 3.0.0
  2. Para instalar el musl soporte, ejecute el siguiente comando.

    rustup target add x86_64-unknown-linux-musl
  3. Compile con musl el siguiente comando y, a continuación, ejecútelo en su terminal.

    cargo build --release --target x86_64-unknown-linux-musl

    Para un tiempo de ejecución personalizado, AWS Lambda requiere un ejecutable con el nombre del bootstrap archivo .zip del paquete de implementación. Cambie el nombre del cfn-lambda ejecutable generado a bootstrap y, a continuación, agréguelo al archivo.zip.

    1. Para entornos macOS, cree su archivo de configuración de carga en la raíz del proyecto Rust o en~/.cargo/config.

      [target.x86_64-unknown-linux-musl] linker = "x86_64-linux-musl-gcc"
  4. Cambia al directorio cfn-guard-lambda raíz.

    cd ~/.cargo/bin/cfn-guard-lambda
  5. Ejecute el siguiente comando en su terminal.

    cp ./../target/x86_64-unknown-linux-musl/release/cfn-guard-lambda ./bootstrap && zip lambda.zip bootstrap && rm bootstrap
  6. Ejecute el siguiente comando para enviarlo cfn-guard como una función Lambda a su cuenta.

    aws lambda create-function --function-name cfnGuard \ --handler guard.handler \ --zip-file fileb://./lambda.zip \ --runtime provided \ --role arn:aws:iam::444455556666:role/your_lambda_execution_role \ --environment Variables={RUST_BACKTRACE=1} \ --tracing-config Mode=Active

Para crear y ejecutar Guard como una función Lambda

Para invocar la función enviada cfn-guard-lambda como una función Lambda, ejecute el siguiente comando.

aws lambda invoke --function-name cfnGuard \ --payload '{"data":"input data","rules":["rule1","rule2"]}' \ output.json

Para llamar a la estructura de solicitudes de funciones Lambda

Solicita que se cfn-guard-lambda requieran los siguientes campos:

  • data— La versión en cadena de la JSON plantilla YAML o

  • rules— La versión en cadena del archivo del conjunto de reglas