AWS WAF 設定ガイド (ALB / CloudFront)
ALB や CloudFront に AWS WAF をアタッチし、WebACL で Web 脆弱性を防ぐ基本設定手順です。
関連ページ: VPC やサブネット設計など、ネットワーク関連のトピックについては、AWS ネットワーク設計のコツ を参照してください。
AWS WAF の基本概念
AWS WAF は、一般的な Web 脆弱性(SQLインジェクション、XSS、DDoS攻撃など)から Web アプリケーションを保護するためのファイアウォールです。主に以下のリソースにアタッチして利用します。
- Amazon CloudFront (グローバルディストリビューション)
- Application Load Balancer (ALB) (リージョナルリソース)
- Amazon API Gateway (リージョナルリソース)
- AWS AppSync (リージョナルリソース)
CloudFront への設定手順
| ステップ | 説明 |
|---|---|
| 1. リージョンの選択 | WebACL を作成する際、Resource type として CloudFront distributions を選択します。この場合、リージョンは自動的に Global (CloudFront) に設定されます。 ※リージョンを「Global」以外にすると CloudFront にはアタッチできません。 |
| 2. WebACL の作成 | AWS マネジメントコンソールから WAF & Shield 画面に移動し、Create web ACL をクリックします。 |
| 3. ルールの追加 | AWS が提供する AWSManagedRulesCommonRuleSet などのマネージドルールを追加します。これにより一般的な攻撃をブロックできます。 |
| 4. リソースの関連付け | "Associated AWS resources" のステップで、保護したい CloudFront ディストリビューションを選択して追加します。 |
ALB への設定手順
| ステップ | 説明 |
|---|---|
| 1. リージョンの選択 | WebACL を作成する際、Resource type として Regional resources (ALB, API Gateway, AppSync) を選択します。 リージョンは対象の ALB が存在するリージョン(例: Asia Pacific (Tokyo))と一致させる必要があります。 |
| 2. WebACL の作成 | CloudFront と同様にマネジメントコンソールから WebACL を作成し、デフォルトのアクション(Allow または Block)を定義します。 |
| 3. ルールの設定 | 要件に合わせて IP セット(ホワイトリスト/ブラックリスト)やレートベースのルール(DDoS対策)を追加します。 |
| 4. リソースの関連付け | 作成した WebACL を特定の ALB にアタッチします。ALB のコンソールから「Integrations」タブで AWS WAF を関連付けることも可能です。 |
フィードバックを送る
このページの内容に誤りや改善点があればお知らせください