翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Lambda 関数としての Guard のインストール
は、Rust パッケージマネージャーである Cargo AWS CloudFormation Guard からインストールできます。Guard as an AWS Lambda function (cfn-guard-lambda
) は、Lambda 関数として使用できる Guard (cfn-guard
) を囲む軽量ラッパーです。
前提条件
Guard を Lambda 関数としてインストールする前に、次の前提条件を満たす必要があります。
-
AWS Command Line Interface (AWS CLI) は、Lambda 関数をデプロイして呼び出すアクセス許可で設定されています。詳細については、「Configuring the AWS CLI」を参照してください。
-
AWS Identity and Access Management (IAM) AWS Lambda の実行ロール。詳細については、AWS Lambda 「実行ロール」を参照してください。
-
CentOS/RHEL 環境では、
musl-libc
パッケージリポジトリを yum 設定に追加します。詳細については、「ngompa/musl-libc」を参照してください。
Rust パッケージマネージャーをインストールする
Cargo は Rust パッケージマネージャーです。Cargo を含む Rust をインストールするには、次のステップを実行します。
-
ターミナルから次のコマンドを実行し、画面の指示に従って Rust をインストールします。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
(オプション) Ubuntu 環境の場合は、次のコマンドを実行します。
sudo apt-get update; sudo apt install build-essential
-
-
PATH
環境変数を設定し、次のコマンドを実行します。source $HOME/.cargo/env
Guard を Lambda 関数としてインストールする (Linux、macOS、または Unix)
Guard を Lambda 関数としてインストールするには、次の手順を実行します。
-
コマンドターミナルから、次のコマンドを実行します。
cargo install cfn-guard-lambda
-
(オプション) Lambda 関数としての Guard のインストールを確認するには、次のコマンドを実行します。
cfn-guard-lambda --version
このコマンドは、以下の出力を返します。
cfn-guard-lambda 3.0.0
-
-
musl
サポートをインストールするには、次のコマンドを実行します。rustup target add x86_64-unknown-linux-musl
-
でビルドし
musl
、ターミナルで次のコマンドを実行します。cargo build --release --target x86_64-unknown-linux-musl
カスタムランタイムの場合、 にはデプロイパッケージ .zip ファイル
bootstrap
の名前の実行可能ファイル AWS Lambda が必要です。生成されたcfn-lambda
実行可能ファイルの名前を に変更しbootstrap
、.zip アーカイブに追加します。-
macOS 環境の場合は、Rust プロジェクトのルートまたは に、パレット設定ファイルを作成します
~/.cargo/config
。[target.x86_64-unknown-linux-musl] linker = "x86_64-linux-musl-gcc"
-
-
を
cfn-guard-lambda
ルートディレクトリに変更します。cd ~/.cargo/bin/cfn-guard-lambda
-
ターミナルで次のコマンドを実行します。
cp ./../target/x86_64-unknown-linux-musl/release/cfn-guard-lambda ./bootstrap && zip lambda.zip bootstrap && rm bootstrap
-
次のコマンドを実行して、Lambda 関数
cfn-guard
として をアカウントに送信します。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
Guard を Lambda 関数として構築して実行するには
Lambda 関数cfn-guard-lambda
として送信された を呼び出すには、次のコマンドを実行します。
aws lambda invoke --function-name
cfnGuard
\ --payload '{"data":"input data
","rules":["rule1
","rule2
"]}' \ output.json
Lambda 関数のリクエスト構造を呼び出すには
次のフィールドcfn-guard-lambda
を要求するリクエスト:
-
data
– YAML または JSON テンプレートの文字列バージョン -
rules
– ルールセットファイルの文字列バージョン