Application Load Balancer (ALB) インスタンスの Web Application Firewall (WAF) 保護を有効にすることで、一般的なウェブ攻撃から防御します。WAF-enabled の ALB インスタンスは WAF 3.0 SDK 統合モデルを使用し、セキュリティ検査とトラフィック転送を分離します。この設計により、従来のインライン WAF 展開で一般的なネットワーク遅延、複雑な設定、単一障害点 (SPOF) といった問題を回避します。
仕組み
WAF-enabled の ALB インスタンスは WAF 3.0 SDK 統合モデルを使用します。このモデルでは、WAF はトラフィック転送のインラインネットワークノード (ゲートウェイ) として機能しません。代わりに、トラフィックの抽出、検査、保護のみを実行します。このアプローチにより、透過プロキシモードに伴うネットワーク遅延、設定の複雑さ (証明書の同期など)、潜在的な単一障害点を回避します。
詳細については、「WAF 3.0 と WAF 2.0 の比較」をご参照ください。
-
リクエストの受信:ALB インスタンスがクライアントからリクエストを受信します。
-
アウトオブバンド検査:リクエストをバックエンドサーバーに転送する前に、ALB インスタンスは組み込まれた SDK を使用して、トラフィックを同期的に抽出し、WAF 3.0 セキュリティ検査クラスターに送信します。
-
セキュリティ分析:WAF 3.0 は、コアウェブ保護や悪意のある IP のブロックなど、設定された保護ルールに基づいて、リクエスト内容をリアルタイムで分析します。その後、検査結果 (許可またはブロック) を ALB インスタンスに返します。
-
決定の実施:ALB インスタンスは、WAF クラスターから受信した検査結果に基づいて動作します。
-
許可:ALB インスタンスは元のリクエストをバックエンドサーバーに転送します。
-
ブロック:ALB インスタンスはリクエストをブロックし、通常は 403 ステータスコードでブロックページをクライアントに返します。リクエストはバックエンドサーバーに到達しません。
-
注意事項
WAF-enabled の ALB インスタンスについて:
-
サポート対象リージョン:
エリア
リージョン
中国
中国 (成都)、中国 (青島)、中国 (北京)、中国 (広州)、中国 (杭州)、中国 (ウランチャブ)、中国 (上海)、中国 (深セン)、中国 (張家口)、中国 (香港)、中国 (河源)
アジア太平洋
フィリピン (マニラ)、インドネシア (ジャカルタ)、日本 (東京)、マレーシア (クアラルンプール)、シンガポール、タイ (バンコク)、韓国 (ソウル)
ヨーロッパ & アメリカ
ドイツ (フランクフルト)、米国 (シリコンバレー)、米国 (バージニア)、メキシコ (ケレタロ)
中東
サウジアラビア (リヤド)、UAE (ドバイ)
-
WAF-enabled の ALB インスタンスは WAF 3.0 SDK 統合モデルを使用します。アカウントに WAF 2.0 インスタンスがある場合は、まず WAF 2.0 インスタンスをリリースするか、WAF 3.0 に移行する必要があります。
デフォルトでは、ALB はリクエストに X-Forwarded-Proto ヘッダーを追加しません。WAF 2.0 インスタンスをリリースした後、ALB インスタンスに直接アクセスすると、バックエンドサーバーが元のプロトコル (HTTP または HTTPS) を識別できないため、無限リダイレクトなどのサービスの問題が発生する可能性があります。この問題を防ぐには、ALB リスナー設定で X-Forwarded-Proto リクエストヘッダーを手動で有効にする必要があります。
-
WAF-enabled の ALB インスタンスは、WAF のデータ漏洩防止機能をサポートしていません。
ALB インスタンスの WAF 保護の有効化
WAF 保護を有効にすると、ALB インスタンスは自動的に WAF インスタンスと統合されます。WAF インスタンスがない場合は、従量課金制の WAF インスタンスが自動的に作成されます。
WAF インスタンスは、中国本土内および中国本土外のリージョンに展開されます。ALB インスタンスは、同じエリア内の WAF インスタンスと統合されます。
WAF-enabled の ALB インスタンスの作成
コンソール
ALB インスタンスを作成する際に、**[エディション (インスタンス料金)]** を **[WAF-enabled]** に設定します。
API
WAF 対応の ALB インスタンスを作成するには、CreateLoadBalancer を呼び出し、LoadBalancerEdition パラメーターを StandardWithWaf に設定します。
既存のインスタンスの WAF 有効化
Basic または Standard の ALB インスタンスを WAF-enabled エディションにアップグレードすることで、WAF 保護を有効にできます。
-
WAF 保護を有効にする前に、インスタンスが実行中の状態であることを確認してください。
-
インスタンス料金の単価はエディションによって異なります。購入ページに表示される価格が最終価格です。
コンソール
-
ALB インスタンスページに移動します。
-
対象のインスタンスの ID の横にある
アイコンにマウスカーソルを合わせます。Web アプリケーションファイアウォールセクションで、保護の有効化 をクリックします。
API
UpdateLoadBalancerEdition を呼び出し、LoadBalancerEdition パラメーターを StandardWithWaf に設定して、ALB インスタンスを WAF 対応エディションにアップグレードします。
保護レコードの表示
ALB インスタンスの WAF 保護を有効にすると、WAF は自動的に -alb サフィックスを持つ保護対象を作成し、デフォルトでコアウェブ保護ルールを有効にします。このルールは、保護レコードを示すセキュリティレポートを自動的に生成します。
その他のセキュリティ要件を満たすために、保護ルールを構成できます。
複数のドメイン名が同じ ALB インスタンスに解決され、各ドメイン名に異なる保護ルールを構成する必要がある場合は、ドメイン名を保護対象として追加する必要があります。
コンソール
-
ALB インスタンスページに移動します。
-
対象のインスタンスの ID の横にある
アイコンにカーソルを合わせ、Web アプリケーションファイアウォール セクションで、WAF セキュリティレポートを表示 をクリックします。
WAF 保護の無効化
WAF 保護を無効にすると、ALB インスタンスへのトラフィックは WAF によって保護されなくなります。その結果、セキュリティレポートにはこのトラフィックのデータが含まれなくなり、WAF リクエスト処理料金も発生しなくなります。
ただし、WAF インスタンスとその保護ルールは引き続き存在するため、WAF サービスの料金は引き続き発生します。課金を完全に停止するには、WAF を無効化する必要があります。
-
WAF 保護の無効化:WAF 保護を無効にすると、ALB インスタンスは WAF-enabled から Standard にダウングレードされます。この変更はサービスに影響しません。
-
WAF の一時的な無効化:多くの正当なリクエストが誤ってブロックされている場合、WAF 保護を一時的に無効にして、サービスを迅速に復旧できます。
-
WAF 保護を一時的に無効にした後も、ALB インスタンスは WAF-enabled インスタンスのままです。トラフィックは引き続き ALB インスタンスに組み込まれた WAF SDK を通過しますが、検査のために WAF クラスターに転送されなくなります。代わりに、ALB インスタンスはトラフィックを直接バックエンドサーバーに転送します。
-
WAF を一時的に無効にすると、WAF インスタンスに関連付けられているすべての保護対象に影響します。慎重に実行してください。
-
コンソール
WAF 保護の無効化
-
ALB インスタンスページに移動します。
-
対象のインスタンスの ID の横にある
アイコンにポインターを合わせます。Web Application Firewall セクションで、WAF の無効化 をクリックします。
WAF の一時的な無効化
-
WAF コンソールの保護対象ページに移動します。
-
ページの右上隅で、WAF 保護ステータス スイッチをオフにして、ステータスを 無効にする に設定します。
API
UpdateLoadBalancerEdition を呼び出し、LoadBalancerEdition パラメーターを Standard に設定して、ALB インスタンスを Standard エディションにダウングレードします。
本番環境に適用
-
カナリアテスト:まず、本番環境を模した非本番環境で ALB インスタンスの WAF 保護を有効にします。この操作はオフピーク時に実行してください。サービスが期待どおりに動作することを確認した後、本番環境の ALB インスタンスの保護を有効にします。
-
継続的な監視:WAF 保護を有効にした後、ビジネスメトリクスとネットワークパフォーマンスメトリクスを監視します。セキュリティレポートを確認し、CloudMonitor 通知を構成して、攻撃やセキュリティイベントに関する情報を常に把握してください。
-
ルールのチューニング:WAF ブロックログを定期的に確認し、誤検知を分析し、保護ルールを調整して精度を向上させます。
課金
-
インスタンス料金:
インスタンス料金 = インスタンス単価 (USD/時間) × 課金時間 (時間) -
LCU 料金:
1 時間あたりの LCU 料金 = max{新規接続の LCU、同時接続の LCU、処理データの LCU、ルール評価の LCU} × LCU 単価 -
インターネットデータ転送料金:
-
インターネットデータ転送料金は、インターネット向け ALB インスタンスにのみ適用され、内部インスタンスには適用されません。
-
インターネット向け ALB インスタンスは Elastic IP Address (EIP) または Anycast EIP を使用します。紐づく EIP または Anycast EIP については、別途課金されます。
-
-
WAF 3.0 の課金:WAF 3.0 は、サブスクリプションと従量課金の課金方法をサポートしています。
-
WAF インスタンスがない場合、WAF-enabled の ALB インスタンスを作成すると、従量課金制の WAF インスタンスが自動的にプロビジョニングされ、その使用量に応じて課金されます。
-
サブスクリプションの WAF 3.0 インスタンスがある場合、WAF-enabled の ALB インスタンスを作成しても、追加の WAF 料金は発生しません。
-
よくある質問
ALB と WAF 2.0 の統合
-
WAF 2.0 インスタンスがある場合、インターネット向けの Basic および Standard の ALB インスタンスを透過プロキシモードで WAF 2.0 インスタンスと統合できます。この機能は、中国 (杭州)、中国 (上海)、中国 (深セン)、中国 (成都)、中国 (北京)、中国 (張家口) のリージョンでサポートされています。内部 ALB インスタンスは WAF 2.0 と統合できません。
-
WAF 2.0 インスタンスがない場合、または WAF を有効化していない場合、インターネット向けおよび内部の ALB インスタンスはどちらも WAF 3.0 SDK 統合モデルをサポートします。この場合、WAF-enabled の ALB インスタンスを作成できます。