ちょっと話題の記事

AWS WAFがALB(Application Load Balancer)で利用出来るようになりました

2016.12.08

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

AWSチームのすずきです。

AWSがウェブアプリケーションを保護するマネージドサービスとして提供する「AWS WAF」が、 ALB(Application Load Balancer)で利用可能になりました。

AWS WAF is now available on the Application Load Balancer (ALB)

今回、AWS WAFを利用して、特定IPアドレスからALBへのアクセス制限を試す機会がありましたので、 紹介させて頂きます。

手順

WAF設定

  • AWSのマネジメントコンソールより、AWS WAFの設定を行います

ACL作成

  • ACLの作成を行います

aws-waf-alb-01

  • リージョンと、保護対象のALBを指定します

aws-waf-alb-02

Conditon作成

  • アクセス制御に利用するIPアドレスを反映したConditionを作成します

aws-waf-alb-03

  • 制御対象とする、接続元IPアドレスのリストを作成します。
  • 今回は1つのIPのみを登録しています

aws-waf-alb-04

Ruleの作成

  • 先に作成した「Conditon」に対応する制御内容を設定します。

aws-waf-alb-05-3

  • 接続元IPアドレスが反映されたCondisionを加え、Ruleを作成します。

aws-waf-alb-05-2

RuleのACLへの登録

  • 先に作成したRuleを選択し、制御内容を設定します
  • 今回、指定したIPアドレスに一致した場合のみアクセスを禁止としました

aws-waf-alb-05-4

確認画面

aws-waf-alb-06

動作確認

  • WAF保護対象としたALBに、アクセス制限対象としたIPの環境から接続すると「403」となります

aws-waf-alb-08

制限解除の確認

  • 「Conditon」の設定より、制限対象のIPアドレスを削除します

aws-waf-alb-09

  • IPアドレスの削除により、アクセスが可能になりました

aws-waf-alb-10

まとめ

AWS WAF、従来はCloudFront(CDN)が必須であった為、CloudFrontに対応しないウェブアプリケーション環境では導入が難しい事がありましたが、 今回のALBに対応した事で、より導入がしやすくなりました。

現在、ELBを導入済みの環境であれば、従来のELB(Classic Load Balancer)から、ALB(Application Load Balancer)へ変更する事で、 AWS WAFを利用する事が可能ですので、ぜひお試しください。