AWS Trusted Advisorの不要な検知結果を無効にしてみた

AWS
この記事は約10分で読めます。

こんにちは!大崎です!
みなさんはAWS Trusted Advisorの不要な検知結果を無効にしたいと考えたことはないでしょうか?
「AWS Trusted Advisorの検知結果の無効設定がわからない…」
今回はそんな疑問にお答えします。

本記事でわかること

  • AWS Trusted Advisorとは
  • AWS Trusted Advisorの検知結果の無効化について
  • 無効設定方法

AWS Trusted Advisorとは

 AWS Trusted Advisor は、AWS 環境を自動で診断し、コスト最適化・セキュリティ強化・パフォーマンス改善などの“ベストプラクティスに沿った改善提案”をしてくれるサービスです。

 全アカウントで一部のチェックが無料ですが、Business / Enterprise Support に加入すると全ての項目がチェック可能になります。

AWS Trusted Advisorの検知結果の無効化について

 AWS Trusted Advisorの無効化はAWS Trusted Advisorの特定のチェック項目における「非表示 & 更新」のボタンから実施可能ですが、一部検知結果については以下画像のようにグレーアウトされており無効操作が実行できないものがあります。

こういったものはAWS CLI コマンドを用いて無効にすることが可能です。

無効設定方法

cloudshell等からAWS CLIコマンドを実行します。手順は以下です。

① 対象項目の Check ID を確認する
以下リンク(AWS Trusted Advisorチェックリファレンス)より、無効対象項目の Check ID を確認します。
https://docs.aws.amazon.com/ja_jp/awssupport/latest/user/trusted-advisor-check-reference.html

② チェック項目の ARN を取得する
①で取得した Check ID を指定して、以下コマンドを実行しチェック項目の ARN を取得します。

aws trustedadvisor list-recommendations --region us-east-1 \ --query 'recommendationSummaries[?checkArn==`arn:aws:trustedadvisor:::check/<①で取得したチェック ID>`].arn' \ --output text

③ チェック対象リソースの ARN を取得する
②で取得したチェック項目の ARN を指定して、以下コマンドを実行しチェック対象リソースの ARN を取得します。テーブル形式でリソース ARN が出力されます。

aws trustedadvisor list-recommendation-resources \ --recommendation-identifier <②で取得した ARN> \ --region us-east-1 \ --query 'recommendationResourceSummaries[].[arn,exclusionStatus,regionCode,status]' \ --output table 

④ チェック対象リソースを非表示に設定
③で取得したリソースの ARN を指定して、以下コマンドを実行し無効操作を実行します。

aws trustedadvisor batch-update-recommendation-resource-exclusion \ --recommendation-resource-exclusions arn=<③で取得した ARN,isExcluded=true \ --region us-east-1

上記を実際に実施した際のログが以下になります。(ARNなどは別の文字列で記載しています。)

#チェック項目の ARN を取得する
~ $ aws trustedadvisor list-recommendations --region us-east-1 --query 'recommendationSummaries[?checkArn==`arn:aws:trustedadvisor:::check/c1cj39rr6v`].arn' --output text
arn:aws:trustedadvisor::000000000000:recommendation/1a1a1a1a-1a1a-1a1a-1a1a-1a1a1a1a1a1a

#チェック対象リソースの ARN を取得する
~ $ aws trustedadvisor list-recommendation-resources \
> --recommendation-identifier arn:aws:trustedadvisor::000000000000:recommendation/1a1a1a1a-1a1a-1a1a-1a1a-1a1a1a1a1a1a \
> --region us-east-1 \
> --query 'recommendationResourceSummaries[].[arn,exclusionStatus,regionCode,status]' \
> --output table
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                                                                          ListRecommendationResources                                                                                          |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-----------------+----------+
|  arn:aws:trustedadvisor::000000000000:recommendation-resource/1a1a1a1a-1a1a-1a1a-1a1a-1a1a1a1a1a1a/test1                                                             |  included |  ap-northeast-1 |  warning |
|  arn:aws:trustedadvisor::000000000000:recommendation-resource/1a1a1a1a-1a1a-1a1a-1a1a-1a1a1a1a1a1a/test2                                                             |  included |  ap-northeast-1 |  warning |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-----------------+----------+

#チェック対象リソースを非表示に設定
~ $ aws trustedadvisor batch-update-recommendation-resource-exclusion \
> --recommendation-resource-exclusions arn=arn:aws:trustedadvisor::000000000000:recommendation-resource/1a1a1a1a-1a1a-1a1a-1a1a-1a1a1a1a1a1a/test1,isExcluded=true \
> --region us-east-1
{
    "batchUpdateRecommendationResourceExclusionErrors": []
}



#チェック対象リソースの ARN を再取得無効対象がexcludedになっていることを確認
~ $ aws trustedadvisor list-recommendation-resources --recommendation-identifier arn:aws:trustedadvisor::000000000000:recommendation/1a1a1a1a-1a1a-1a1a-1a1a-1a1a1a1a1a1a --region us-east-1 --query 'recommendationResourceSummaries[].[arn,exclusionStatus,regionCode,status]' --output table
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                                                                          ListRecommendationResources                                                                                          |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-----------------+----------+
|  arn:aws:trustedadvisor::000000000000:recommendation-resource/1a1a1a1a-1a1a-1a1a-1a1a-1a1a1a1a1a1a/test1                                                             |  excluded |  ap-northeast-1 |  warning |
|  arn:aws:trustedadvisor::000000000000:recommendation-resource/1a1a1a1a-1a1a-1a1a-1a1a-1a1a1a1a1a1a/test2                                                             |  included |  ap-northeast-1 |  warning |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-----------------+----------+
~ $ 
~ $ 

まとめ

今回は、AWS Trusted Advisorの不要な検知結果を無効にする方法についてご紹介しました。
上記の対応を行うことで、本当に必要なアラートのみを受信できるようになります。
運用に合わせて、ぜひこの仕組みを活用してみてください。

コメント

タイトルとURLをコピーしました