TerraformでAWS WAFに複数(大量)のBlackListIPを登録する

AWS運用自動化サービス「Cloud Automator」
この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。

全国のTerrafrom愛好家のみなさま、こんにちは。

技術4課岩本です。



まず、Terraformを使って、IPリストを登録する方法は以下になります。

CloudFront(Grobal)用の場合

参考:aws_waf_ipset

ALB用の場合

  • CloudFront(Grobal)の際はip_set_descriptors、ALB用の場合はip_set_descriptor点に注意ください
  • ALB用はproviderセクションで指定したregionに作成されます。

参考:aws_wafregional_ipset

複数のIPリストを登録する。

ファイル

  • aws-waf.tf

  • blacklist.tfvars

コマンド

解説

ip_set_descriptor にて、定義した変数blacklistを読み込んでいます。

変数blacklistは、明示的に定義しないとMAP形式として自動的に認識されます。

ただしip_set_descriptorはでは、LIST形式の入力を求められます。

そこで、type = "list"として、明示的にLIST形式で宣言をしています。

IPリストは、外部ファイルとして切り出し、コマンドオプション-var-file=blacklist.tfvarsとして実行時に読み込むようにしました。

IPリストが大量にあり、Terraform内で利用する他の変数値との混同を避けるためです。




AWS WAFに大量のIPを登録される方、ぜひお試しください。

AWS運用自動化サービス「Cloud Automator」