SRE部 佐竹です。
今回は AWS Trusted Advisor の新機能 Organizational view を活用し、組織内の全AWSアカウントまとめて Trusted Advisor の結果を取得後、分析を行います。
はじめに
Trusted Advisor は AWS のベストプラクティスに沿ったアカウントごとの「チェック機構」を「コスト最適化」の項目を含め、100以上のチェックが利用可能な機能です。この機能は、AWS ビジネスサポートまたは AWS エンタープライズサポートをご契約のお客様に提供されます。
その Trusted Advisor に絡んで、2020年11月17日 以下のブログが公開されました。
今まで Trusted Advisor は各AWSアカウントごとに閲覧をする必要がありました。アカウントが数個であれば見れなくはないですが、20、30・・・そして100以上となってくると1つずつ確認するのは困難です。
そのようなマルチアカウントを利用されており、かつ Trusted Advisor を積極的に利用されたい方には朗報となるのが今回の「AWS Trusted Advisor Organizational view」です。
Organizational view を利用する
Trusted Advisor のコンソールから設定をします。まずは AWS Organization のルートアカウント(management account)でログインしてください。左端のメニューから「Organizational View」を選択してください。
「Enable Organizational View」を押下して有効化します。
なお、本機能を利用するにあたり、前提条件があります。以下のドキュメントから抜粋します。
- アカウントは、AWS Organizations のメンバーアカウントである必要があります
- Organizations で、すべての機能が有効になっている必要があります
- ビジネスサポートプランまたはエンタープライズサポートプランが必要です
- 「IAMポリシー」を適切に管理し、利用が可能となる権限を付与した状態で開始してください
無事に有効化されると上画像の通りの画面が表示されます。「Create report」を押下して進めます。
Report 名は適切に設定してください。レポートを作成した日付を入れると良いと思われます。また Format は今回CSVで取得しExcelで分析したいのでCSVに設定しました。
OU のどのレベルで取得するのか選択できます。デフォルト Root 以下全てになっているのでこのままで良いでしょう。「Create report」を押下して進めます。
Processing
が Success
になれば完了です。なお、数秒から十数秒で終わるので、少し待った後に画面をリロードすれば Success
になります。
Organizational view の結果を確認する
レポートの作成が完了すると、レポートの名前にURLリンクができるので、それを押下すると以下のサマリーページが表示されます。
ただし、これだけで個別アカウントの 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つ以上にファイルが分離するようです。
CSV を Excel で開いて表にしました。今回欲しいのは「コスト最適化」の箇所のみのため、「Category」を「Cost Optimizing」で絞ってみました。CSVを見ると AWS Organizations 配下の全アカウント串刺しで結果が取得できています。
Idle 状態の ELB などもアカウント串刺しで見れるのでこれは便利ですね。
ピボットテーブルを活用する
Excel では簡単にピボットテーブルが作成できるので、ピボットテーブルで分析してみました。 ピボットテーブルのフィールドは以下の設定です。
- フィルターに「Status」と「Category」を設定
- 列に「Region」を設定
- 行に「AccountId」と「CheckName」を設定
- 値に「個数 / CheckId」を設定
その状態で、テーブル左上のフィルター「Category」で「Cost Optimizing」だけに表示を絞ります。すると、先に貼りました画像の通りの表記になります。
このようにピボットテーブルを作成すると、「アカウントごとかつリージョンごとに、どのコスト最適化項目がアラートとしてあげられているのか」がわかります。
なお Excel のピボットテーブルは優秀で、テーブルに表示されている個数をダブルクリックすると、その個数のカウント元になったデータだけを表示したシートを自動生成してくれます。例えば、今回 Unassociated Elastic IP Addresses
× ap-northeast-1
は 2 つあるということになるのですが、この詳細を知りたいとします。
この場合数字の「2」の部分をダブルクリックしてみてください。
このように、根拠となったレコードが表示されます。この機能は非常に便利で、分析時に重宝します。
費用について
AWS Trusted Advisor は Organizational view を含めて追加費用なくご利用頂けます。
まとめ
今回は、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のコスト削減、最適化を得意としています。