Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memasang Guard sebagai AWS Lambda fungsi
Anda dapat menginstal AWS CloudFormation Guard melalui Cargo, manajer paket Rust. Guard as an AWS Lambda function (cfn-guard-lambda) adalah pembungkus ringan di sekitar Guard (cfn-guard) yang dapat digunakan sebagai fungsi Lambda.
Prasyarat
Sebelum Anda dapat menginstal Guard sebagai fungsi Lambda, Anda harus memenuhi prasyarat berikut:
-
AWS Command Line Interface (AWS CLI) dikonfigurasi dengan izin untuk menyebarkan dan memanggil fungsi Lambda. Untuk informasi selengkapnya, lihat Mengonfigurasi AWS CLI.
-
Peran AWS Lambda eksekusi dalam AWS Identity and Access Management (IAM). Untuk informasi selengkapnya, lihat peran AWS Lambda eksekusi.
-
Di CentOS/RHEL lingkungan, tambahkan repositori
musl-libcpaket ke konfigurasi yum Anda. Untuk informasi lebih lanjut, lihat ngompa/musl-libc.
Instal manajer paket Rust
Cargo adalah manajer paket Rust. Selesaikan langkah-langkah berikut untuk menginstal Rust, yang mencakup Cargo.
-
Jalankan perintah berikut dari terminal, lalu ikuti petunjuk di layar untuk menginstal Rust.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh-
(Opsional) Untuk lingkungan Ubuntu, jalankan perintah berikut.
sudo apt-get update; sudo apt install build-essential
-
-
Konfigurasikan variabel
PATHlingkungan Anda, dan jalankan perintah berikut.source $HOME/.cargo/env
Instal Guard sebagai fungsi Lambda (Linux, macOS, atau Unix)
Untuk menginstal Guard sebagai fungsi Lambda, selesaikan langkah-langkah berikut.
-
Dari terminal perintah Anda, jalankan perintah berikut.
cargo install cfn-guard-lambda-
(Opsional) Untuk mengkonfirmasi instalasi Guard sebagai fungsi Lambda, jalankan perintah berikut.
cfn-guard-lambda --versionPerintah mengembalikan output berikut.
cfn-guard-lambda 3.1.2
-
-
Untuk menginstal
musldukungan, jalankan perintah berikut.rustup target add x86_64-unknown-linux-musl -
Bangun dengan
musl, lalu jalankan perintah berikut di terminal Anda.cargo build --release --target x86_64-unknown-linux-muslUntuk runtime kustom, AWS Lambda memerlukan executable dengan nama
bootstrapdalam file paket deployment .zip. Ganti namacfn-lambdaexecutable yang dihasilkan menjadibootstrapdan kemudian tambahkan ke arsip.zip.-
Untuk lingkungan macOS, buat file konfigurasi kargo Anda di root proyek Rust atau di dalamnya.
~/.cargo/config[target.x86_64-unknown-linux-musl] linker = "x86_64-linux-musl-gcc"
-
-
Ubah ke direktori
cfn-guard-lambdaroot.cd ~/.cargo/bin/cfn-guard-lambda -
Jalankan perintah berikut di terminal Anda.
cp ./../target/x86_64-unknown-linux-musl/release/cfn-guard-lambda ./bootstrap && zip lambda.zip bootstrap && rm bootstrap -
Jalankan perintah berikut untuk mengirimkan
cfn-guardsebagai fungsi Lambda ke akun Anda.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
Untuk membangun dan menjalankan Guard sebagai fungsi Lambda
Untuk memanggil yang dikirimkan cfn-guard-lambda sebagai fungsi Lambda, jalankan perintah berikut.
aws lambda invoke --function-namecfnGuard\ --payload '{"data":"input data","rules":["rule1","rule2"]}' \ output.json
Untuk memanggil struktur permintaan fungsi Lambda
Permintaan untuk cfn-guard-lambda mewajibkan bidang berikut:
-
data— Versi string dari template YAMAL atau JSON -
rules— Versi string dari file set aturan