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:
-
AWS Command Line Interface (AWS CLI) configurado con permisos para implementar e invocar funciones Lambda. Para obtener más información, consulte Configuración de la AWS CLI.
-
Una función AWS Lambda de ejecución en AWS Identity and Access Management ()IAM. Para obtener más información, consulte función AWS Lambda de ejecución.
-
En RHEL entornos CentOS/, agregue el repositorio de
musl-libc
paquetes a su configuración de yum. Para obtener más información, consulta ngompa/musl-libc.
Instale el administrador de paquetes Rust
Cargo es el administrador de paquetes de Rust. Complete los siguientes pasos para instalar Rust, que incluye Cargo.
-
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
-
(Opcional) Para entornos Ubuntu, ejecuta el siguiente comando.
sudo apt-get update; sudo apt install build-essential
-
-
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.
-
Desde su terminal de comandos, ejecute el siguiente comando.
cargo install cfn-guard-lambda
-
(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
-
-
Para instalar el
musl
soporte, ejecute el siguiente comando.rustup target add x86_64-unknown-linux-musl
-
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 delcfn-lambda
ejecutable generado abootstrap
y, a continuación, agréguelo al archivo.zip.-
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"
-
-
Cambia al directorio
cfn-guard-lambda
raíz.cd ~/.cargo/bin/cfn-guard-lambda
-
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
-
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