AWS WAF Classic から AWS WAF に移行するにはどうすればよいですか? また、移行中のダウンタイムはどれくらいですか?

最終更新日: 2022 年 7 月 25 日

現在の AWS WAF Classic のデプロイを AWS WAF に移行したいと考えています。どうすればよいですか? 移行する際にダウンタイムは発生しますか?

簡単な説明

AWS WAF Classic から AWS WAF に移行するには、次の 3 つのオプションがあります。

  • 手動移行
  • AWS WAF セキュリティオートメーションを使用した自動化
  • AWS WAF Classic 移行ウィザードを使用した自動化

重要: 移行を開始する前に、「Migration caveats and limitations」(移行に関する注意事項と制限) を参照してください。

解決方法

手動移行

手動移行は、単純な AWS WAF のデプロイに適しています。手動移行とは、AWS WAF を使用して従来の AWS WAF のリソースを再作成することです。AWS WAF Classic ウェブ ACL の関連付けから新しい AWS WAF ウェブ ACL に切り替えると、短時間の中断が発生する可能性があります。

手動移行を実行するには、次の操作を実行します。

  1. 新しい AWS WAF のデプロイを作成するには、「Getting started with AWS WAF」(AWS WAF の開始方法) を参照してください。
  2. Migrating a web ACL: switchover」(ウェブ ACL の移行: スイッチオーバー) のステップを完了します。
  3. 新しい AWS WAF のデプロイを最適化するには、「Migrating a web ACL: additional considerations」(ウェブ ACL の移行: 追加の考慮事項) を参照してください。

AWS WAF セキュリティオートメーションによる移行

AWS WAF セキュリティオートメーションと AWS CloudFormation を使用して AWS WAF に自動的に移行します。その後、新しいウェブ ACL を、次のようなサポートされているリソースに関連付けます。

  • Amazon CloudFront ディストリビューション
  • Amazon API Gateway REST API
  • Application Load Balancer (ALB)
  • AWS AppSync GraphQL API

この移行プロセスでは、ダウンタイムは発生しません。本番稼働環境でルールを実装する前に、AWS WAF の保護をテストしてチューニングするのがベストプラクティスです。

重要: AWS WAF セキュリティオートメーションによって作成された AWS WAF Classic のデプロイを移行する場合は、AWS WAF Classic 移行ウィザードを使用しないでください。詳細については、「Migration caveats and limitations」(移行に関する注意事項と制限)

AWS WAF セキュリティオートメーションを使用して新しいウェブ ACL をデプロイするには、次の操作を実行します。

  1. AWS WAF Automation on AWS」(AWS での AWS WAF オートメーション) ページを開きます。
  2. [AWS Solution overview] (AWS ソリューションの概要) に移動します。
  3. 図の右側にある [Launch in the AWS Console] (AWS コンソールで起動) を選択します。
  4. [Region] (リージョン) で、AWS WAF リソースを作成する AWS リージョンを選択します。
  5. [Create stack] (スタックを作成) で、デフォルトの設定を使用し、[Next] (次へ) を選択します。
  6. [Stack name] (スタック名) を入力し、ユースケースの [Parameters] (パラメータ) を選択します。[Parameters] (パラメータ) については、「Launch a stack」(スタックの起動) を参照してください。
    重要: 正しい [Endpoint Type] (エンドポイントタイプ) を選択してください。タイプは、AWS WAF Classic で現在使用しているリソースと一致する必要があります。Amazon API Gateway REST API または Application Load Balancer を使用している場合は、[ALB] を選択します。
  7. [Next] (次へ) を選択します。
  8. (オプション) [Configure stack options] (スタックオプションを設定) するか、デフォルトの設定を使用します。その後、[Next] (次へ) を選択します。
  9. 設定を確認します。その後、CloudFormation が AWS Identity and Access Management (IAM) リソースをアカウントで作成することを承認します。
  10. [Create stack] (スタックを作成) を選択します。

CloudFormation は、新しい AWS WAF ウェブ ACL を含む、AWS セキュリティオートメーションに必要なすべてのリソースを含む新しいスタックを作成します。
重要: 新しい AWS WAF ウェブ ACL は、どの AWS リソースにも自動的に関連付けられることはありません。

AWS WAF への移行を完了するには、AWS リソースに手動で AWS WAF ウェブ ACL を関連付ける必要があります。このプロセスにより、AWS リソースと AWS WAF Classic ウェブ ACL の関連付けが自動的に解除されます。リソースがこの AWS WAF ウェブ ACL に関連付けられると、新しい AWS WAF ウェブ ACL のルールによってリクエストが検査されます。

AWS WAF への移行が成功したら、新しい AWS WAF のデプロイを最適化するために、「Migrating a web ACL: additional considerations」(ウェブ ACL の移行: 追加の考慮事項) を確認するのがベストプラクティスです。

注: 自動的に移行できない既存のルールを手動で再作成する必要がある場合があります。詳細については、「Migrating a web ACL: manual follow-up」(ウェブ ACL の移行: 手動でのフォローアップ) を参照してください。

AWS WAF Classic 移行ウィザードを使用した自動移行

AWS WAF Classic 移行ウィザードを使用して、既存の AWS WAF Classic リソースを AWS WAF に自動的に移行します。AWS WAF Classic 移行を使用してはならない場合があります。詳細については、「Migration caveats and limitations」(移行に関する注意事項と制限)

この移行プロセスでは、ダウンタイムは発生しません。本番稼働環境でルールを実装する前に、AWS WAF の保護をテストしてチューニングするのがベストプラクティスです。

自動化された AWS WAF Classic 移行ウィザードを使用して新しいウェブ ACL をデプロイするには、次の操作を実行します。

  1. AWS WAF コンソールを開きます。
  2. ナビゲーションペインで、[Switch to AWS WAF Classic] (AWS WAF Classic に切り替える) を選択します。
  3. ナビゲーションペインで、[Web ACLs] (ウェブ ACL) を選択します。
  4. メインページの上部で、移行ウィザードを選択します。
  5. [Web ACL] (ウェブ ACL) で、AWS WAF リソースを作成する AWS リージョンを選択します。その後、移行する AWS WAF Classic ウェブ ACL を選択します。
  6. [Migration configuration] (移行設定) で、[Create new] (新規作成) を選択して、移行中に CloudFormation が使用する新しい S3 バケットを作成します。
    注:
    S3 バケットはウェブ ACL と同じリージョンに存在する必要があり、その名前は aws-waf-migration- のプレフィックスで始まる必要があります。
    許可の問題を回避するために、移行に必要なバケットポリシーの自動適用を使用するのがベストプラクティスです。
    [Choose how to handle rules that can't be migrated] (移行できないルールの処理方法を選択) で、希望するオプションを選択します。
    注: 移行を続行するには、移行できない除外ルールを使用するのがベストプラクティスです。ただし、移行を完了する際に自動的に移行できないルールを手動で作成する必要があります。
  7. [Next] (次へ) を選択します。
  8. [Start creating CloudFormation template] (CloudFormation テンプレートの作成を開始) を選択します。
  9. [Create CloudFormation Stack] (CloudFormation スタックを作成) を選択して、AWS WAF CloudFormation スタックのデプロイを開始します。
  10. [Create stack] (スタックを作成) で、デフォルトの設定を使用し、[Next] (次へ) を選択します。
  11. [Stack name] (スタック名) を入力し、ユースケースの [Parameters] (パラメータ) を選択します。[Parameters] (パラメータ) については、「Launch a stack」(スタックの起動) を参照してください。
    重要: 正しい [Endpoint Type] (エンドポイントタイプ) を選択してください。タイプは、AWS WAF Classic で現在使用しているリソースと一致する必要があります。Amazon API Gateway REST API または Application Load Balancer を使用している場合は、[ALB] を選択します。
  12. [Next] (次へ) を選択します。
  13. (オプション) [Configure stack options] (スタックオプションを設定) するか、デフォルトの設定を使用します。その後、[Next] (次へ) を選択します。
  14. 設定を確認して、[Create Stack] (スタックを作成) を選択します。

CloudFormation は、新しい AWS WAF ウェブ ACL を含む、AWS WAF Classic から移行されたすべてのリソースを含む新しいスタックを作成します。
重要: 新しい AWS WAF ウェブ ACL は、どの AWS リソースにも自動的に関連付けられることはありません。

AWS WAF への移行を完了するには、AWS リソースに手動で AWS WAF ウェブ ACL を関連付ける必要があります。このプロセスにより、AWS リソースと AWS WAF Classic ウェブ ACL の関連付けが自動的に解除されます。リソースがこの AWS WAF ウェブ ACL に関連付けられると、新しい AWS WAF ウェブ ACL のルールによってリクエストが検査されます。

AWS WAF への移行が成功したら、新しい AWS WAF のデプロイを最適化するために、「Migrating a web ACL: additional considerations」(ウェブ ACL の移行: 追加の考慮事項) を確認するのがベストプラクティスです。

注: 自動的に移行できなかった既存のルールを手動で再作成する必要がある場合があります。詳細については、「Migrating a web ACL: manual follow-up」(ウェブ ACL の移行: 手動でのフォローアップ) を参照してください。


Migrating your rules from AWS WAF Classic to the new AWS WAF (AWS WAF Classic から新しい AWS WAF にルールを移行する)

この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?