翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
作成者: Dr. Rahul Sharad Gaikwad (AWS)、Tamilselvan P (AWS)
概要
AWS WAF は、ウェブアクセスコントロールリスト (ACL) で定義してデプロイするカスタマイズ可能なルールを使用して、一般的な悪用からアプリケーションを保護するのに役立つウェブACLs。 AWS WAF ルールの設定は、特に専用のセキュリティチームを持たない組織では難しい場合があります。このプロセスを簡素化するために、Amazon Web Services (AWS) は ソリューションのセキュリティオートメーション AWS WAF
AWS WAF ソリューションのセキュリティオートメーションは、「 Security Automations for AWS WAF Implementation Guide」の指示 AWS CloudFormation に従って を使用してデプロイできます。このパターンは、HashiCorp Terraform を推奨 Infrastructure as Code (IaC) ツールとして使用してクラウドインフラストラクチャをプロビジョニングおよび管理する組織にとって、代替のデプロイオプションとなります。このソリューションをデプロイすると、Terraform は自動的にクラウドに変更を適用し、 AWS WAF 設定と保護機能をデプロイして設定します。
前提条件と制限
前提条件
アクティブ AWS アカウント。
AWS Command Line Interface (AWS CLI) バージョン 2.4.25 以降、必要なアクセス許可でインストールおよび設定されている。詳細については、「開始方法 (AWS CLI ドキュメント)」を参照してください。
Terraform バージョン 1.1.9 以降がインストールされ、設定されています。詳細については、「Terraform のインストール
(Terraform ドキュメント)」を参照してください。
アーキテクチャ
ターゲット アーキテクチャ
このパターンは、 AWS WAF ソリューションのセキュリティオートメーションをデプロイします。ターゲットアーキテクチャの詳細については、「 Security Automations for AWS WAF Implementation Guide」の「アーキテクチャの概要」を参照してください。このデプロイの AWS Lambda オートメーション、アプリケーションログパーサー、 AWS WAF ログパーサー、IP リストパーサー、アクセスハンドラーの詳細については、「 Security Automations for AWS WAF Implementation Guide」の「コンポーネントの詳細」を参照してください。
Terraform デプロイ
terraform apply
を実行すると、Terraform は次のことを行います。
Terraform は、testing.tfvars ファイルからの入力に基づいて AWS Identity and Access Management (IAM) ロールと Lambda 関数を作成します。
Terraform は、testing.tfvars ファイルからの入力に基づいて AWS WAF ACL ルールと IP セットを作成します。
Terraform は、testing.tfvars ファイルからの入力に基づいて、Amazon Simple Storage Service (Amazon S3) バケット、Amazon EventBridge ルール、 AWS Glue データベーステーブル、Amazon Athena ワークグループを作成します。
Terraform は AWS CloudFormation スタックをデプロイしてカスタムリソースをプロビジョニングします。
Terraform は、test.tfvars ファイルからの指定された入力に基づいて Amazon API Gateway リソースを作成します。
自動化とスケール
このパターンを使用して、複数の の AWS WAF ルールを作成し AWS アカウント AWS リージョン 、 AWS WAF ソリューションのセキュリティオートメーションを AWS クラウド 環境全体にデプロイできます。
ツール
AWS のサービス
AWS Command Line Interface (AWS CLI) は、コマンドラインシェルのコマンド AWS のサービス を通じて を操作するのに役立つオープンソースツールです。
AWS WAF は、保護されたウェブアプリケーションリソースに転送される HTTP および HTTPS リクエストをモニタリングするのに役立つウェブアプリケーションファイアウォールです。
その他のサービス
Git
はオープンソースの分散型バージョン管理システムです。 HashiCorp Terraform
は、コードを使用してクラウドインフラストラクチャとリソースをプロビジョニングおよび管理するのに役立つコマンドラインインターフェイスアプリケーションです。
コードリポジトリ
このパターンのコードは、GitHub AWS WAF Automation Using Terraform
ベストプラクティス
静的ファイルを個別の Amazon S3 バケットに配置します。
変数をハードコーディングすることは避けてください。
カスタムスクリプトの使用を制限してください。
命名規則を採用してください。
エピック
タスク | 説明 | 必要なスキル |
---|---|---|
Git をインストールする。 | 「Getting started | DevOps エンジニア |
リポジトリをクローン作成します。 | ローカルワークステーションで、次のコマンドを入力してコードリポジトリのクローンを作成します。
| DevOps エンジニア |
変数を更新してください。 |
| DevOps エンジニア |
タスク | 説明 | 必要なスキル |
---|---|---|
Terraform の設定を初期化します。 | 次のコマンドを入力して、Terraform 設定ファイルを含む作業ディレクトリを初期化します。
| DevOps エンジニア |
Terraform プランをプレビューしてください。 | 次のコマンドを入力します。Terraform は設定ファイルを評価して、宣言されたリソースのターゲット状態を判断します。次に、ターゲットの状態を現在の状態と比較し、計画を作成します。
| DevOps エンジニア |
プランを検証してください。 | プランを確認し、ターゲットに必要なアーキテクチャが設定されていることを確認します AWS アカウント。 | DevOps エンジニア |
ソリューションをデプロイします。 |
| DevOps エンジニア |
タスク | 説明 | 必要なスキル |
---|---|---|
変更を確認します。 |
| DevOps エンジニア |
(オプション) インフラストラクチャをクリーンアップします。 | このソリューションによって行われたすべてのリソースと設定の変更を削除するには、次の操作を行います。
| DevOps エンジニア |
トラブルシューティング
問題 | ソリューション |
---|---|
|
|
関連リソース
AWS リファレンス
Terraform のリファレンス