みなさん、こんにちは。サニービュー事業部の小寺です。

AWS WAFがカスタム応答をサポートするようになったので、今までと比べて便利になった点をお伝えします!

https://aws.amazon.com/jp/about-aws/whats-new/2021/03/aws-waf-adds-support-custom-responses/

■AWS WAFの今まではどうだったか?

AWS WAFが通信をブロックすると、ユーザーには「403 Forbidden」というメッセージが表示される仕組みでした。

なぜエラーになったのか?ユーザーには分かり辛く、403というコード自体に馴染みのないユーザーのために、「アクセスできませんでした」等のメッセージを追加されていた方も多いと思います。

ユーザーにエラー内容をカスタマイズして、表示するには、CloudFrontのカスタムエラーページを使っていました。またカスタムエラーページ用として、カスタムHTMLページを準備する必要がありました。

■アップデートでのメリット

AWS WAFで403以外にもカスタム応答を利用できるようになりました。
カスタム応答を使用すると、3xx (リダイレクト)、4xx (クライアントエラー)、5xx (サーバーエラー) などの異なる HTTP ステータスコードを送信するように設定ができるようになります。

コードに応じてサイトにアクセスしたユーザーをアプリケーションのさまざまな部分にリダイレクトしたり、WAF によってブロックされた理由に応じて、ユーザーに特定の応答コードを返すことができます。さらに、カスタム応答を使用して応答本文を含め、カスタマイズされたエラーメッセージをユーザーに返すこともできます。

■カスタムページを使ってみよう

ここでは、既にWeb ACLは作成済として、進めます。
(1)AWS WAFより「Web ACL」を選びます。「Rules」タブから「Default web ACL action for requests that don’t match any rules」の「Edit」をクリックします。

(2)「Custom response – optional」をクリックして、展開します。

(3)「Custom response – optional」の「Enable」にチェックをします。
チェックすると「Resonse Code」をプルダウンより選ぶことができます。
この説明では、「302」を選んでいますが、他の任意のコードの設定ももちろん可能です。

エラーになったときの、リダイレクト先として、本サイトを設定します。
「Key」に「Location」を入力し、「Value」に「https://sunnycloud.jp」を入力します。
「Save」をクリックします。

(4)「Rules」タブで設定した内容を確認できます。

■まとめ

いかがでしたでしょうか。
今回のアップデートでできるようになったことをまとめます。
・403以外のステータスコードにも対応できるようになりました
・ステータスコードに応じて、カスタムページを表示できるようになりました

WAFのルールとして、設定できるととても便利ですね。
今後活用をしていきたいアップデートでした。

SunnyCloudでは、AWSをお安く便利に使えるAWSリセールサービス(請求代行)SunnyPayをご提供しています。
お問合せはこちら