Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Guard als AWS Lambda Funktion installieren
Sie können AWS CloudFormation Guard über Cargo, den Rust-Paketmanager, installieren. Guard as an AWS Lambda function (cfn-guard-lambda
) ist ein leichter Wrapper für Guard (cfn-guard
), der als Lambda-Funktion verwendet werden kann.
Voraussetzungen
Bevor Sie Guard als Lambda-Funktion installieren können, müssen Sie die folgenden Voraussetzungen erfüllen:
-
AWS Command Line Interface (AWS CLI) konfiguriert mit Berechtigungen zum Bereitstellen und Aufrufen von Lambda-Funktionen. Weitere Informationen finden Sie unter Konfigurieren der AWS CLI.
-
Eine AWS Lambda Ausführungsrolle in AWS Identity and Access Management ()IAM. Weitere Informationen finden Sie unter AWS Lambda Ausführungsrolle.
-
Fügen Sie in RHEL CentOS/-Umgebungen das
musl-libc
Paket-Repository zu Ihrer Yum-Konfiguration hinzu. Weitere Informationen finden Sie unter ngompa/musl-libc.
Installieren Sie den Rust-Paketmanager
Cargo ist der Rust-Paketmanager. Führen Sie die folgenden Schritte aus, um Rust zu installieren, zu dem auch Cargo gehört.
-
Führen Sie den folgenden Befehl von einem Terminal aus und folgen Sie dann den Anweisungen auf dem Bildschirm, um Rust zu installieren.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
(Optional) Führen Sie für Ubuntu-Umgebungen den folgenden Befehl aus.
sudo apt-get update; sudo apt install build-essential
-
-
Konfigurieren Sie Ihre
PATH
Umgebungsvariable und führen Sie den folgenden Befehl aus.source $HOME/.cargo/env
Installieren Sie Guard als Lambda-Funktion (Linux, macOS oder Unix)
Gehen Sie wie folgt vor, um Guard als Lambda-Funktion zu installieren.
-
Führen Sie von Ihrem Befehlsterminal aus den folgenden Befehl aus.
cargo install cfn-guard-lambda
-
(Optional) Führen Sie den folgenden Befehl aus, um die Installation von Guard als Lambda-Funktion zu bestätigen.
cfn-guard-lambda --version
Der Befehl gibt die folgende Ausgabe zurück.
cfn-guard-lambda 3.0.0
-
-
Führen Sie den folgenden Befehl aus, um den
musl
Support zu installieren.rustup target add x86_64-unknown-linux-musl
-
Erstellen Sie mit
musl
und führen Sie dann den folgenden Befehl in Ihrem Terminal aus.cargo build --release --target x86_64-unknown-linux-musl
Für eine benutzerdefinierte Laufzeit AWS Lambda ist eine ausführbare Datei mit dem Namen
bootstrap
in der ZIP-Datei des Bereitstellungspakets erforderlich. Benennen Sie die generiertecfn-lambda
ausführbare Datei in umbootstrap
und fügen Sie sie dann dem ZIP-Archiv hinzu.-
Erstellen Sie für macOS-Umgebungen Ihre Cargo-Konfigurationsdatei im Stammverzeichnis des Rust-Projekts oder in
~/.cargo/config
.[target.x86_64-unknown-linux-musl] linker = "x86_64-linux-musl-gcc"
-
-
Wechseln Sie in das
cfn-guard-lambda
Stammverzeichnis.cd ~/.cargo/bin/cfn-guard-lambda
-
Führen Sie den folgenden Befehl in Ihrem Terminal aus.
cp ./../target/x86_64-unknown-linux-musl/release/cfn-guard-lambda ./bootstrap && zip lambda.zip bootstrap && rm bootstrap
-
Führen Sie den folgenden Befehl aus, um ihn
cfn-guard
als Lambda-Funktion an Ihr Konto zu senden.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
Um Guard als Lambda-Funktion zu erstellen und auszuführen
Führen Sie den folgenden Befehl aus, um die cfn-guard-lambda
als Lambda-Funktion eingereichte Datei aufzurufen.
aws lambda invoke --function-name
cfnGuard
\ --payload '{"data":"input data
","rules":["rule1
","rule2
"]}' \ output.json
Um die Anforderungsstruktur der Lambda-Funktion aufzurufen
Fordert an, cfn-guard-lambda
dass die folgenden Felder erforderlich sind:
-
data
— Die String-Version der JSON Vorlage YAML oder -
rules
— Die String-Version der Regelsatzdatei