4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS WAF v2のIPセットをAWS CLIで更新する方法

Last updated at Posted at 2025-03-09

はじめに

AWS CLI経由でWAF v2のIPセットを更新する方法を説明します👀

以下触れません💦
・AWSアカウントの作成
・AWS CLIのインストール
・認証情報の設定
・必要な権限の設定

必要な情報を取得

公式:https://docs.aws.amazon.com/cli/latest/reference/wafv2/list-ip-sets.html
IPセットを更新するためには、以下の情報が必要です。

ID: IPセットのユニーク識別子
LockToken: 変更管理用のトークン
Name: IPセットの名前
Scope: CLOUDFRONTまたはREGIONALのスコープ(どのリージョンやサービスに関連付けられているか)

まず、IPセットの一覧を取得して、更新したいIPセットの基本情報を確認してみます。

使用するコマンド: list-ip-sets
必要なパラメータ: scope

aws wafv2 list-ip-sets \
    --scope CLOUDFRONTまたはREGIONAL

これで存在するIPセット基本情報(Name、Id、Description、LockToken、ARN)が一覧で確認することができます。

list-ip-setsではなく、get-ip-setで情報を取得する方法もあります。こちらは、指定されたIPSetの情報を取得する方法で、Scopeに加えて、NameとIdが必須です。
公式:https://docs.aws.amazon.com/cli/latest/reference/wafv2/get-ip-set.html

IPセットの更新

必要な情報を取得した後、新しいIPリストでIPセットを更新します。
公式:https://docs.aws.amazon.com/cli/latest/reference/waf/update-ip-set.html

使用するコマンド: update-ip-sets
必要なパラメータ: Id、LockToken、Name、Scope

aws wafv2 update-ip-set \
    --name "your-ipset-name" \
    --scope CLOUDFRONTまたはREGIONAL \
    --id "your-ipset-id" \
    --lock-token "your-ipset-lock-token" \
    --addresses ["128.0.0.0/32", "0.0.0.1/32"] 

このコマンドを実行すると、your-ipset-nameのIPセットに含まれるIPアドレスリストは、指定された"128.0.0.0/32"および"0.0.0.1/32"に置き換えられるはずです。このコマンドは、指定したIPアドレスで設定を上書きするので、リストに新しいIPアドレスを追加するわけではありません。既存のIPセット内のアドレスがこの新しいリストに更新されます!

コメント

正直、CLIを使ってWAFのIPセットを更新することはほとんどないと思います💦
恐らく、APIを経由してIPセットを更新する際には、AWS SDK for JavaScriptを利用してIPセットを更新するシステムを構築したい、が多いと思います。私自身もそうです。今回CLIを記事にしたのは、CLIでできることはSDKでも基本できるので、まずはCLIでやってみてどんな感じなのかなを視覚化したかったからです。SDKでやってみるのを今取り組んでいます。できたら記事にしてみようかな?(コミットではないです💦)

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?