AWS WAFを使ったIPアドレス制限の掛け方
別記事で書いたとおりBasic認証をかけることにしたので、設定を消す前に記録に残しておく。
Condition設定
特定のIP以外からのアクセスを拒否する(ステージング環境用)
- IP Addresses を選択
- Create Condition
- Nameを適当に。RegionはGlobal。IPAddressesに通すIP帯域を記載。
- Create
削除する場合
- IPAddressesを選択。表示されているものから削除するConditionの名前をクリック
- 右に設定されているIPAddresses or range を選択して削除。
- 全部無くなったらConditionが削除できる。
Rules 設定
- Rulesを選択
- Nameを適当に入力。CloudWatch metric nameは自動で同じのが入る。変更したい場合は変更する。
- Rule TypeをRegularRuleに。RegionをGlobalに指定。
- Add Conditionで1個目の選択肢を「dose」に、2個目の選択肢を「originate from an IP address in」に指定。
- 3個目の選択肢を上記Conditionで作った名前を選択
- Create
※ Add conditionを押すことでCondition設定を複数追加できる
削除する場合
Conditionのときと同じく設定内容から削除する。
- 削除対象のRuleを選択
- 右画面でEditRuleを押す
- ルールの右上の「×」を押す
- Update
全部なくなったらRuleが削除できる
CloudWatch metricsが残っているかと思ったがそんなことはなさそうだった。要検証。
Web ACLs 設定
- Web ACLsを選択
- Create web ACLs
- Web ACL nameなどは適当に。RegionはGlobal。
- AWS resource to associateを選択。対象になるCloudFront設定かな?
- Next
- Create conditionsは内容確認する。ここで上記のCondition設定できる。
- Create rules ではRulesの選択をしAdd Rule to web ACLを選択。
- Default actionで「Block all requests that don't match any rules」を選択。ルール一致しないリクエストをすべてdropさせる。
- Review and create
- Confirm and create
削除する場合
同様。設定Rule削除してから削除する。のはず。
削除する理由
Rule数及び通過するリクエスト数での課金である。Rule残しておくと地味に課金される。(というかされてて無駄なので削除した)