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認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
ChatGPT APIをTeamsボットから使いました(AWS Lambda(Python) + API Gateway)
ChatGPT APIが有償で利用可能になったので、会社のTeamsボットに実装 …
-
-
SendGridのイベントをAPI Gateway -> Lambda(Python) -> DynamoDBに格納する
SendGridのメールイベントログはコンソールで確認出来るのは直近7日分で一括 …
-
-
AWS複数アカウントのリソースをLambda(Python)から一括操作したくて
AWSの複数アカウント(30ちょい)のリソースをまとめて自動処理したくて。 とり …
-
-
AWS Lambda(Python3.7)でPandocを実行する際にCSSもLayerから読み込む
Pandocで必要そうなオプションを確認しておく 先日の「AWS Lambda( …
-
-
WordPressをAmazon CloudFrontで配信してついでにACM(AWS Certificate Manager)を使って常時SSL化する
当サイトの500と502の発生状況がドイヒーであるとの苦情をいただきまして、Am …
-
-
Former2で既存リソースのCloudFormationテンプレート出力を試してみた
JAWS DAYS 2020の資料確認のお手伝いを少ししてまして、「ゼロからはじ …
-
-
CloudWatch Logs機密データ保護を設定しました
Amazon CloudWatch Logs を使用して機密データを保護するがリ …
-
-
AWS Launch WizardでMicrosoft IIS環境を構築してみました
AWS Launch Wizardを知っていますか? 私は知りませんでした。 A …
-
-
S3 Intelligent-Tieringで高頻度階層(FREQUENT)に戻る「アクセス」にS3 SelectとGlueクローラーが該当するのか確認してみました
ユーザーガイドのS3 Intelligent-Tiering のしくみには、「低 …
-
-
GoogleForm,GASからAPI Gateway, Lambdaで入力情報をDynamoDBに格納する
vol.26 AWS認定試験テキスト認定クラウドプラクティショナーのデモ(Dyn …






