AWS WAF Classicルールや条件(Condition)削除方法について
困っていた内容
AWS WAF Classic にて Rule や IP match conditionなどのリソースを削除しようとした際、以下のエラーメッセージが出力され、削除に失敗しました。原因と対処法を教えてください。
The referenced entity is not empty.
どう対応すればいいの?
原因確認
このエラーは削除しようとしている Rule や IP match condition に、依存関係のある要素(Rule 内の Condition / Predicate や、IP match condition 内の IP アドレスなど)が残っている(空ではない)場合に発生します。
AWS WAF Classic では、リソース間に参照関係があるため、参照されているリソースや内部の要素を先に削除・解除する必要があります。そのため配下の要素や参照関係をあらかじめ削除・解除していないリソースを直接削除することはできません。
すでに Web ACL 自体を削除または Rule の紐付け解除が済んでいる場合でも、Rule や Condition 内部の要素が残っていると本エラーが発生します。
削除方法
以下の順序で依存関係を事前に解除・削除したうえで、対象のリソースの削除をお試しください。
- IP match condition 内の IP アドレスをすべて削除 削除対象の IP match condition 配下に登録されている IP アドレスをすべて削除します。
- Rule から IP match condition(Condition / Predicate)を解除 Rule に紐づいている IP match condition の関連付けを解除します。
- IP match condition を削除 他の Rule から参照されていない状態であることを確認し、IP match condition 自体を削除します。
- Rule を削除 Condition(Predicate)が存在しない空の状態となった Rule を削除します。
参考資料
[1] ルールの条件の追加と削除 - AWS WAF、AWS Firewall Manager、および AWS Shield アドバンスド
- ナビゲーションペインで [Rules] を選択します。
- 条件を追加または削除するルールの名前を選択します。
- 条件を削除するには、条件名の右側にある [X] を選択します。
- [Update] を選択します。





