AWS WAF Web ACLとルールをv1(Classic)からv2に自動移行しました
2021/06/06
新しいものは、課題が解決されていたり、機能追加されたりするのでいいものです。
長い間放置していたAWS WAFのWeb ACLをv2に自動移行しました。
こちらのAWS WAF Classic リソースを AWS WAF に移行するを見ながら行いました。
目次
S3バケットの作成
aws-waf-migration- から始まるS3バケットを作成しておきます。
aws-waf-migration-は固定で必要です。
Web ACLのマイグレーション
[Switch to AWS WAF Classic]を選択して切り替えました。
WAFの対象リージョン、またはGlobal(CloudFront)を選択して、[migration wizard]を選択しました。
移行対象のACLとバケットを選択します。
バケットはaws-waf-migration- が含まれていないと対象にできませんでした。
バケットのリージョンはWAFのデプロイ先リージョンにすると書いてますが、CloudFront向けなので関係ないかと思い、オハイオにしてみました。
S3バケットポリシーは自動生成にしました。
移行できないルールの処理方法は、除外するにしました。
移行できない場合に処理を停止することもできるそうです。
Error: We couldn’t apply the bucket policy. This is most likely due to the bucket not being in the expected region (global).
PermanentRedirect: The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.
バケットポリシーが作成できないエラーになりました。
仕方ないので手動でバケットポリシーを設定しました。
ユーザーガイドどおりにしました。
バケットARNだけ変更しました。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "apiv2migration.waf.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::<BUCKET_NAME>/AWSWAF/<CUSTOMER_ACCOUNT_ID>/*" } ] } |
気を取り直して実行しました。
成功しました。
[Create CloudFormation stack]ボタンからスタックを作成しました。
成功しました。
Web ACL、Rule、IP setsが移行されました。
これをCloudFron Distributionで設定しました。
テストして想定どおりのブロックと許可がされました。
1日様子を見て問題がなければクラシックのv1ACLとルールを削除します。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「AWS教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
Rocket.ChatにAPIで投稿するテスト(Postman)
トレーニング期間中で一時利用するチャットが欲しいなあと思い、Rocket.Cha …
-
-
AWS Lambda(Python)で生成した文字をAmazon Connectで音声を設定して発信する
Amazon Connectから発信する電話の音声を動的に設定します。 Lamb …
-
-
VyOSにSSMエージェントをインストールしました
VyOSにSSHでログインするのも面倒なので、SSMエージェントをインストールし …
-
-
S3バケットのリクエスタ支払い
S3バケットのリクエスタ支払いを試しました。 バケットの設定 検証用のS3バケッ …
-
-
スポットインスタンスの削減額情報を見ました
なんだこれ?と思って、検索してみたら、2018年11月からあったのですね。 Am …
-
-
QuickSightのVisualizeをダッシュボード化して定期メール
「Backlogの実績工数をAmazon QuickSightで可視化してわかっ …
-
-
AWS Elastic Beanstalkによって作成されたS3バケットはDeleteBucketが拒否されていた
ちょっとした検証をしたあとに、Elastic Beanstalkのアプリケーショ …
-
-
Former2で既存リソースのCloudFormationテンプレート出力を試してみた
JAWS DAYS 2020の資料確認のお手伝いを少ししてまして、「ゼロからはじ …
-
-
DynamoDB IAMポリシーで特定属性だけを許可する
検証記録です。 対象テーブル 書籍のサンプルで作ったこちらです。 所属バンドの楽 …
-
-
Amazon Pollyを使って覚えたい資料を耳から身体に染み込ませる
Amazon Pollyを使うとソースコードを一切かかなくても、テキストを音声に …






