Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Installazione di Guard come AWS Lambda funzione
È possibile installare AWS CloudFormation Guard tramite Cargo, il gestore di pacchetti di Rust. Guard as an AWS Lambda function (cfn-guard-lambda) è un wrapper leggero per Guard (cfn-guard) che può essere usato come funzione Lambda.
Prerequisiti
Prima di poter installare Guard come funzione Lambda, devi soddisfare i seguenti prerequisiti:
-
AWS Command Line Interface (AWS CLI) configurato con le autorizzazioni per distribuire e richiamare funzioni Lambda. Per ulteriori informazioni, consultare la pagina relativa alla configurazione di AWS CLI.
-
Un ruolo di AWS Lambda esecuzione in AWS Identity and Access Management (IAM). Per ulteriori informazioni, consulta il ruolo di AWS Lambda esecuzione.
-
Negli CentOS/RHEL ambienti, aggiungi il repository dei
musl-libcpacchetti alla configurazione di yum. Per ulteriori informazioni, vedere ngompa/musl-libc.
Installa il gestore di pacchetti Rust
Cargo è il gestore di pacchetti Rust. Completa i seguenti passaggi per installare Rust, che include Cargo.
-
Esegui il seguente comando da un terminale, quindi segui le istruzioni sullo schermo per installare Rust.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh-
(Facoltativo) Per gli ambienti Ubuntu, esegui il seguente comando.
sudo apt-get update; sudo apt install build-essential
-
-
Configura la variabile di
PATHambiente ed esegui il comando seguente.source $HOME/.cargo/env
Installa Guard come funzione Lambda (Linux, macOS o Unix)
Per installare Guard come funzione Lambda, completa i seguenti passaggi.
-
Dal terminale di comando, esegui il comando seguente.
cargo install cfn-guard-lambda-
(Facoltativo) Per confermare l'installazione di Guard come funzione Lambda, esegui il comando seguente.
cfn-guard-lambda --versionQuesto comando restituisce il seguente output.
cfn-guard-lambda 3.1.2
-
-
Per installare il
muslsupporto, esegui il comando seguente.rustup target add x86_64-unknown-linux-musl -
Crea con
musl, quindi esegui il comando seguente nel tuo terminale.cargo build --release --target x86_64-unknown-linux-muslPer un runtime personalizzato, AWS Lambda richiede un eseguibile con il nome
bootstrapnel file.zip del pacchetto di distribuzione. Rinomina l'cfn-lambdaeseguibile generato inbootstrape aggiungilo all'archivio.zip.-
Per gli ambienti macOS, crea il tuo file di configurazione cargo nella radice del progetto Rust o in.
~/.cargo/config[target.x86_64-unknown-linux-musl] linker = "x86_64-linux-musl-gcc"
-
-
Passa alla directory
cfn-guard-lambdaprincipale.cd ~/.cargo/bin/cfn-guard-lambda -
Esegui il seguente comando nel tuo terminale.
cp ./../target/x86_64-unknown-linux-musl/release/cfn-guard-lambda ./bootstrap && zip lambda.zip bootstrap && rm bootstrap -
Esegui il comando seguente per inviarlo
cfn-guardcome funzione Lambda al tuo account.aws lambda create-function --function-namecfnGuard\ --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
Per creare ed eseguire Guard come funzione Lambda
Per richiamare l'invio cfn-guard-lambda come funzione Lambda, esegui il comando seguente.
aws lambda invoke --function-namecfnGuard\ --payload '{"data":"input data","rules":["rule1","rule2"]}' \ output.json
Per chiamare la struttura della richiesta della funzione Lambda
Richieste per cfn-guard-lambda richiedere i seguenti campi:
-
data— La versione in formato stringa del modello YAML o JSON -
rules— La versione in formato stringa del file del set di regole