みなさん、こんにちは。サニービュー事業部の小寺です。
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のルールとして、設定できるととても便利ですね。
今後活用をしていきたいアップデートでした。

AWSをご利用いただくには、直接契約するより断然お得。
AWS利用料が5%割引、さらに日本円の請求書による支払いが可能です!