[aws-nuke]リージョン対応していないサービスのWARNやERROR出力がノイズに感じたらやること

2022.07.12

「aws-nuke dry-runや実行成功するけどERRORやWARNがノイズになる」

全AWSリソースを対象にaws-nukeを実行していると、以下のようにERRORWARNがいくつか出て出力結果が見づらくなることがあると思います。

WARN[0020] skipping request: DNS lookup failed for worklink.ap-northeast-1.amazonaws.com; assuming it does not exist in this region 
ERROR[0020] Listing AWS::Timestream::Table failed:

実行するリージョンで対応していないサービスを削除しようとすると、上記のようなERRORWARNが出ることがあります。

今回はこちらの事象の対策についてです。

対策

aws-nukeのバージョンを最新化

aws-sdkのバージョンが古い場合に、ERRORWARNが出る場合もあるみたいです。 一度、aws-nukeのバージョンアップを行いましょう。

eu-north-1 · Issue #332 · rebuy-de/aws-nuke

対象サービスを除外する

バージョンアップで解消しなかった場合は、削除実行対象からサービスを除外します。

サービスが該当リージョンに対応して、使用開始したときに除外したままだと削除忘れが発生するので注意が必要です。

regions:
  - ap-northeast-1
  - global

account-blocklist:
  - "000000000000" # dummy

resource-types:
  excludes:
    # WARN ERRORがでる東京リージョン対応していないサービス除外(2022/7 時点)
    - AWS::Timestream::Database
    - AWS::Timestream::ScheduledQuery
    - AWS::Timestream::Table
    - WorkLinkFleet
accounts:
  "1234567890":

サービスを対象外にするには、リソースタイプという形でconfigに追加する必要があります。

削除対象外にするリソースタイプの見つけ方についてです。

以下のようなメッセージが出ていたら、AWS::Timestream::Tableを除外すればいいです。 (Listingの次がリソースタイプです。)

ERROR[0020] Listing AWS::Timestream::Table failed:

また、以下のコマンドで指定できるリソースタイプを一覧表示できます。

aws-nuke resource-types

おわりに

dry-run の実行結果を確認する際に、今回のERRORWARN で見づらくなることがあったので調べてみました。 削除漏れには気を付けつつ、除外をうまく活用していきたいです。

リージョン間のサービス差分の確認は、こちらの記事が参考になりました。

以上、AWS事業本部の佐藤(@chari7311)でした。