地方在住インフラエンジニアのブログ

ITインフラやクラウドに関する投稿をします

Amazon Managed Service for Prometheus ( AMP )で心当たりのないCollectorの課金があった話

心当たりのないAMPの課金

先日いつもは届かないAWSの月額課金アラームのメールが届いたので、Cost Explorerで状況を確認すると「AMP:CollectorHours」という使用タイプで1 USD/日程度の課金が発生していました。

調査

まずはAMPマネジメントコンソールで、削除忘れのリソースがないか確認しましたが、何もリソースはありません。

課金が始まったタイミングがちょうどテスト用のEKSクラスタを作成→削除したタイミングだったため、EKSも確認しましたがそれらしきリソースはありません。

サポート問い合わせ

課金に関する事象のため、「アカウントと請求」カテゴリでサポートに問い合わせたところ、2週間ほどで回答がありました。

AMPのスクレイパーが残存しているため、AWS CLIで削除すれば良いとのことです。 docs.aws.amazon.com

解決

以下のCLIで以下のコマンドを実行すると確かにスクレイパーがありました。

$ aws amp list-scrapers
{
    "scrapers": [
        {
            "alias": "test_scraper",
            "arn": "arn:aws:aps:<region>:<AWSアカウントID>:scraper/<スクレイパーのID>",
...

以下のコマンドで削除します。

$ aws amp delete-scraper --scraper-id <スクレイパーのID>

削除には少し時間がかかります。削除途中で再度Deleteコマンドを実行すると以下の出力が返されます。

An error occurred (ConflictException) when calling the DeleteScraper operation: Can't delete scraper in non-ACTIVE state. Current status is DELETING

10分ほどで削除され、Listコマンドに何も表示されなくなりました。

$ aws amp list-scrapers
{
    "scrapers": []
}

原因調査

マネジメントコンソールから見えないスクレイパーが残っていたのは、EKSクラスタを削除する前にスクレイパーを削除していなかったことが原因のようです。

また、AMP用のスクレイパーが作成されたのは、EKSクラスタ作成時にObservabilityの設定でPrometheusへのメトリクス送信をONにしたためでした。

この設定はオプションなので、通常はスクレイパーが作成されることはありません。

学び

  • EKSでAMPへのメトリクス送信をONにした後クラスタを削除する場合は、AMPスクレイパーも削除する必要がある。
  • スクレイパーはマネジメントコンソールでは見えないのでCLIで確認する必要がある。

参考サイト

AWS マネージドコレクターの使用 - Amazon Managed Service for Prometheus