migration wizard による AWS WAF Classic から AWS WAF V2 へのマイグレーション時に、Web ACL 名を任意の値に指定する方法

2023.07.07

前提

AWS WAF Classic(以降、WAF Classic)から AWS WAF V2(以降、WAF V2)へのマイグレーションにおいて、AWS が提供する migration wizard を使用する方法があります。この方法を使用すると、WAF Classic で使用していた既存のルール等を WAF V2 へ自動的に移行できます。

しかし、migration wizard を使用した場合、AWS によって採番された id が、Web ACL 名に付与されてしまいます。
※以下はサンプルです。WAF Classic での Web ACL 名はTestWebACLでしたが、WAF V2 へのマイグレーション後にTestWebACL973fa233-23f7-4be5-9f1d-d53634905a18となってしまいます。

本記事では、上記に対する対応方法を記載します。

対応方法

migration wizard を使用する方法では、CloudFormation テンプレートを生成し、スタックをデプロイします。
つまり、CloudFormation テンプレートを編集できれば、今回の目的が実現できます。
それでは、順を追ってご説明します。

1. WAF Classic の migration wizard を起動

今回は、WAF Classic のTestWebACLという Web ACL を WAF V2 へ移行します。
(記事作成のため、Web ACL のみの簡易なリソースです)

マネジメントコンソールより、WAF Classic の Web ACLs に移動します。
画面上部に「Introducing the new AWS WAF, featuring a new AWS WAFV2 API, an improved console, and AWS Managed Rules.」のメッセージと共に「migration wizard」というリンクがありますので、こちらを押下します。

2. 移行対象の Web ACL と CloudFormation テンプレートを配置する S3 バケットを指定

移行対象の Web ACLTestWebACLにチェックをいれます。
続いて、S3 バケットを指定します。フォームの下部にも記載されていますが、バケット名は、aws-waf-migration-で始まっている必要がありますので、ご注意ください。
最後に、S3 バケットのポリシーや自動移行できないルールの扱いを指定します。

3. 作成される CloudFormation テンプレートの内容を確認

移行対象の Web ACL や CloudFormation テンプレートを配置する S3 バケット等を確認し、問題なければ「Start creating CloudFormation template」を押下します。

4. CloudFormation スタックを作成

画面が遷移しますので「Create CloudFormation stack」を押下します。

ブラウザの別タブで、CloudFormation の画面が起動します。
本画面にて「デザイナーで表示」を押下します。※元のタブは閉じて問題ありません。

5. CloudFormation のデザイナーにてテンプレートを編集

(任意)テンプレートの言語が JSON のままだと見づらいため「テンプレートの言語の選択」より YAML に変更します。
テンプレートより、PropertiesNameを任意の値(今回はTestWebACL)に変更します。

YAML の変更が完了したら「スタックの作成」(画面左上付近の雲のアイコン)を押下します。

※今回の方法では、デザイナーからテンプレートを編集していますが、S3 バケットに作成されたテンプレート(〜.template)を編集する方法もあります。

6. スタックの作成

CloudFormation のウィザード通りに進め「送信」を押下します。
その後、CloudFormation スタックの画面から Web ACL が正常に作成されることを確認します。

7. 作成された WAF V2 の Web ACL を確認

WAF V2 の Web ACL を確認します。
意図した Web ACL 名で作成されていることが確認できました。
※デフォルトでは、Virginia リージョンが指定されているため、WAF Classic を運用していたリージョンに変更してください。

WAF Classic から WAF V2 への移行に際するポイント・注意点

WAF V2 では、以下 2点 を含む 多数の利点 があります。
特別な理由がない限り、WAF Classic から WAF V2 への移行を進めていきましょう。

  • WAF Classic と比べ固有の機能(カスタムレスポンスなど)が使える
  • 今後、3rd Party のマネージドルールも WAF V2 がメインになっていくと想定される

一方、今回使用した migration wizard によるマイグレーションは、すべてが完璧に移行されることを保証していません。ドキュメント の注意点を確認しつつ、移行後は、必ず WAF の動作確認を行いましょう。

参考資料

アノテーション株式会社について

アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社 WEB サイトをご覧ください。