タダです.
AWS WAF にタグを置き換えたいことがあり,UI からは変える箇所が見つけられなかったため,AWS CLI でタグを更新することをやってみました.その際に,遭遇したエラーとその対処を小ネタですが,まとめていきます.
遭遇したエラーの概要
aws wafv2 list-tags-for-resource
を使って現在のタグの設定状況から確認しようとしたところ次のエラーがでました.ARN は GUI から調べたので合っているはずなのに何故と思ったのですが,これは AWS CLI のデフォルトリージョン設定が影響していました.
$ aws wafv2 list-tags-for-resource --resource-arn arn:aws:wafv2:us-east-1:1234567891011:global/webacl/hoge/xxxx-xxxx-xxxx-xxxx An error occurred (WAFInvalidParameterException) when calling the ListTagsForResource operation: Error reason: The ARN isn't valid. A valid ARN begins with arn: and includes other information separated by colons or slashes., field: RESOURCE_ARN, parameter: arn:aws:wafv2:us-east-1:1234567891011:global/webacl/hoge/xxxx-xxxx-xxxx-xxxx
対処の方法
自分の場合はデフォルトリージョンが東京になっていました.そのため,コマンドを実行する時にリージョンを指定する必要がありました.これでレスポンスが返ってきました.
$ aws --region us-east-1 wafv2 list-tags-for-resource --resource-arn arn:aws:wafv2:us-east-1:1234567891011:global/webacl/hoge/xxxx-xxxx-xxxx-xxxx { "NextMarker": "", "TagInfoForResource": { "ResourceARN": "arn:aws:wafv2:us-east-1:1234567891011:global/webacl/hoge/xxxx-xxxx-xxxx-xxxx", "TagList": [ { "Key": "hoge", "Value": "hoge" }, { "Key": "fuga", "Value": "fuga" } ] } }
現状のタグの設定状況を確認できたので,タグの置き換えをしていきます.以下のように成功していれば特にレスポンスは返ってきませんでした.
$ aws --region us-east-1 wafv2 list-tags-for-resource --resource-arn arn:aws:wafv2:us-east-1:1234567891011:global/webacl/hoge/xxxx-xxxx-xxxx-xxxx --tags Key=hoge1,Value=hoge2 $(成功時に特にレスポンスはなし)
まとめ
簡単になりますが,AWS CLI で AWS WAF のタグを置き換え時に遭遇したエラーとその対処をまとめました.リージョン指定漏れはよくやっちゃいがちで,ちょっと時間を溶かしてしまったので忘れずにやっていきたいです.