組織内の AWS Trusted Advisor の推奨をまとめて取得できる Organizational view を活用する

記事タイトルとURLをコピーする

SRE部 佐竹です。
今回は AWS Trusted Advisor の新機能 Organizational view を活用し、組織内の全AWSアカウントまとめて Trusted Advisor の結果を取得後、分析を行います。

はじめに

Trusted Advisor は AWS のベストプラクティスに沿ったアカウントごとの「チェック機構」を「コスト最適化」の項目を含め、100以上のチェックが利用可能な機能です。この機能は、AWS ビジネスサポートまたは AWS エンタープライズサポートをご契約のお客様に提供されます。

その Trusted Advisor に絡んで、2020年11月17日 以下のブログが公開されました。

aws.amazon.com

今まで Trusted Advisor は各AWSアカウントごとに閲覧をする必要がありました。アカウントが数個であれば見れなくはないですが、20、30・・・そして100以上となってくると1つずつ確認するのは困難です。

そのようなマルチアカウントを利用されており、かつ Trusted Advisor を積極的に利用されたい方には朗報となるのが今回の「AWS Trusted Advisor Organizational view」です。

Organizational view を利用する

f:id:swx-satake:20201209152403p:plain

Trusted Advisor のコンソールから設定をします。まずは AWS Organization のルートアカウント(management account)でログインしてください。左端のメニューから「Organizational View」を選択してください。

f:id:swx-satake:20201209152836p:plain

「Enable Organizational View」を押下して有効化します。

なお、本機能を利用するにあたり、前提条件があります。以下のドキュメントから抜粋します。

docs.aws.amazon.com

  1. アカウントは、AWS Organizations のメンバーアカウントである必要があります
  2. Organizations で、すべての機能が有効になっている必要があります
  3. ビジネスサポートプランまたはエンタープライズサポートプランが必要です
  4. IAMポリシー」を適切に管理し、利用が可能となる権限を付与した状態で開始してください

f:id:swx-satake:20201209153809p:plain

無事に有効化されると上画像の通りの画面が表示されます。「Create report」を押下して進めます。

f:id:swx-satake:20201209153910p:plain

Report 名は適切に設定してください。レポートを作成した日付を入れると良いと思われます。また Format は今回CSVで取得しExcelで分析したいのでCSVに設定しました。

f:id:swx-satake:20201209153954p:plain

OU のどのレベルで取得するのか選択できます。デフォルト Root 以下全てになっているのでこのままで良いでしょう。「Create report」を押下して進めます。

f:id:swx-satake:20201209154055p:plain

ProcessingSuccess になれば完了です。なお、数秒から十数秒で終わるので、少し待った後に画面をリロードすれば Success になります。

Organizational view の結果を確認する

レポートの作成が完了すると、レポートの名前にURLリンクができるので、それを押下すると以下のサマリーページが表示されます。

f:id:swx-satake:20201209154427p:plain

ただし、これだけで個別アカウントの Trusted Advisor のようにこの画面で UI 操作できるわけではありませんでした。

次に対象のレポートにチェックを入れた後、「Download report」を押下して結果をダウンロードします。

TA-report-20201209-1447-09_Dec_2020_05_48_11-report.zip という名称でダウンロードされました。解凍すると schema.json , summary.json に加えて、resources-0.csv が取得できました。量が多いと resources-1.csv と2つ以上にファイルが分離するようです。

f:id:swx-satake:20201209154844p:plain

CSV を Excel で開いて表にしました。今回欲しいのは「コスト最適化」の箇所のみのため、「Category」を「Cost Optimizing」で絞ってみました。CSVを見ると AWS Organizations 配下の全アカウント串刺しで結果が取得できています。

f:id:swx-satake:20201209155259p:plain

Idle 状態の ELB などもアカウント串刺しで見れるのでこれは便利ですね。

ピボットテーブルを活用する

f:id:swx-satake:20201209155418p:plain

Excel では簡単にピボットテーブルが作成できるので、ピボットテーブルで分析してみました。 ピボットテーブルのフィールドは以下の設定です。

  • フィルターに「Status」と「Category」を設定
  • 列に「Region」を設定
  • 行に「AccountId」と「CheckName」を設定
  • 値に「個数 / CheckId」を設定

その状態で、テーブル左上のフィルター「Category」で「Cost Optimizing」だけに表示を絞ります。すると、先に貼りました画像の通りの表記になります。

このようにピボットテーブルを作成すると、「アカウントごとかつリージョンごとに、どのコスト最適化項目がアラートとしてあげられているのか」がわかります。

なお Excel のピボットテーブルは優秀で、テーブルに表示されている個数をダブルクリックすると、その個数のカウント元になったデータだけを表示したシートを自動生成してくれます。例えば、今回 Unassociated Elastic IP Addresses × ap-northeast-1 は 2 つあるということになるのですが、この詳細を知りたいとします。

f:id:swx-satake:20201209160035p:plain

この場合数字の「2」の部分をダブルクリックしてみてください。

f:id:swx-satake:20201209160338p:plain

このように、根拠となったレコードが表示されます。この機能は非常に便利で、分析時に重宝します。

費用について

AWS Trusted Advisor は Organizational view を含めて追加費用なくご利用頂けます。

まとめ

f:id:swx-satake:20201209160701p:plain:w150

今回は、AWS Trusted Advisor の新機能 Organizational view を利用し、組織内の全アカウントまとめて Trusted Advisor の結果を取得、その後 Excel で分析を行ってみました。

この機能を活用すれば、AWSアカウントが複数あっても Trusted Advisor の結果をよりうまく活用できそうですね。AWS をマルチアカウントで利用しているときに Trusted Advisor の集計に困っていた方には特に有効なアップデートだと思われます!

本ブログではツールとして Excel の ピボットテーブルを活用してみましたが、Organizational view はCSV等でダウンロードされる都合、何かしら分析や集計が必要です。その手法含めてご利用方法を検討頂けますと幸いです。

ではまたお会いしましょう。

佐竹 陽一 (Yoichi Satake) エンジニアブログの記事一覧はコチラ

マネージドサービス部所属。AWS資格全冠。2010年1月からAWSを利用してきています。2021-2022 AWS Ambassadors/2023-2024 Japan AWS Top Engineers/2020-2024 All Certifications Engineers。AWSのコスト削減、最適化を得意としています。