こんにちは。
皆さんはAWS環境の各種サービスについてベストプラクティスを実現できているでしょうか?
多少は意識しているが、すべて対応できていると自信を持って言えるという人は少ないのではないでしょうか。
この度、Trusted Advisor について調べたのでまとめていきます。
- Trusted Advisor って何?って方
- Trusted Advisor を導入検討中の方
- AWS環境の最適化について気になっている方
Trusted Advisor とは
Trusted Advisor とは、利用者のAWS環境を分析して、環境を最適化するための推奨ベストプラクティスを提供するためのサービス
ベストプラクティスは5つのカテゴリに分類される

緑:問題が検出されなかった項目
黄:調査が推奨される項目
赤:即時の対応が推奨される項目
5つのカテゴリ
①コスト最適化
使われていないリソース(=無駄なコスト)を検出してくれる
利用状況を分析して、コスト削減が期待できる割引プランをおすすめしてくれる
- 使用率の低いAmazon EC2 Instances
- Amazon RDSアイドル状態のDBインスタンス
- Amazon EC2 リザーブドインスタンスの最適化
- 関連付けられていない Elastic IP Address
(全9項目)
項目の例:「使用率の低いAmazon EC2 Instances」
◆アラート基準
Yellow: 過去 14 日間のうち少なくとも 4 日の間、インスタンスの 1 日あたりの平均 CPU 使用率が 10% 未満で、ネットワーク I/O が 5 MB 未満
◆推奨されるアクション
使用率が低いインスタンスの停止もしくは終了を検討
または Auto Scaling を使用してインスタンス数をスケール
②パフォーマンス
パフォーマンス低下につながる使い方をしていないかどうかチェックする
もっと効率が良い AWS の機能を使う余地がある場合においてお知らせしてくれる
- 使用率の高いAmazon EC2インスタンス
- Amazon EC2 から EBS スループット最適化
- EC2 セキュリティグループルールの増大
- 利用率が高すぎる Amazon EBS マグネティックボリューム
(全10項目)
項目の例:「使用率の低いAmazon EC2 Instances」
◆アラート基準
Yellow: 過去 14 日間のうち少なくとも 4 日の間、インスタンスの 1 日あたりの平均 CPU 使用率が 90% 以上
◆推奨されるアクション
インスタンスの追加を検討
③セキュリティ
セキュリティリスクのある設定になっていないかどうかチェックする
現在よりもセキュリティを高められる推奨の設定があればおすすめしてくれる
- セキュリティグループ – 開かれたポート
- Amazon S3バケット許可
- AWS CloudTrail ロギング
- IAM アクセスキーローテーション
(全17項目)
項目の例:「セキュリティグループ – 開かれたポート」
◆アラート基準
Green: ポート 80、25、443、または 465 へのアクセスが無制限
Red: ポート 20、21、1433、1434、3306、3389、4333、5432、または 5500 へのアクセスが無制限
Yellow: その他のポートへのアクセスが無制限
◆推奨されるアクション
アクセスを必要とする IP アドレスのみにアクセスを制限
④フォールトトレランス
過去データから復旧できるようにバックアップを取得しているか
AWS の機能を活用して冗長構成をとれているか、などをチェックしてくれる
- Amazon EBS スナップショット
- Amazon RDS Multi-AZ
- Amazon S3 バケットバージョニング
- ELB クロスゾーン負荷分散
(全24項目)
項目の例:「Amazon EBS スナップショット」
◆アラート基準
Yellow: 最新のボリュームスナップショットは、作成後 7~30 日が経過している
Red: 最新のボリュームスナップショットは、作成後 30 日が経過している
Red: ボリュームにスナップショットがない
◆推奨されるアクション
ボリュームの週次または月次スナップショットを作成
⑤サービスの制限
現在の利用状況と制限値を比較して差分をチェックしてくれる
- EBS アクティブなスナップショット
- IAM ユーザー
- VPC Elastic IP アドレス
- SES 日次送信クォータ
(全50項目)
項目の例:「VPC Elastic IP アドレス」
◆アラート基準
Yellow: 制限の 80% に到達(デフォルト上限値では4つに達した)
Red: 制限の 100% に到達(デフォルト上限値5つに達した)
◆推奨されるアクション
サービス制限の超過を見込んでいる場合は、サポートセンターでサービス制限の緩和を申請
通知機能
メールで通知
AWS マネージメントコンソールから、「通知設定」を開き、Trusted Advisor のチェックステータスと改善の見積もりの概要をメールで通知することが可能。

Cloud Watch Events
Cloud Watch Events のルールより、Trusted Advisor イベントからLambda関数やSQS、SSMなどをターゲットにすることが可能。
※注意:Trusted Advisor は、東京リージョンでは対応されておらず、下記はバージニアリージョンにて選択している

操作API
Trusted Advisor は、CLIや各種SDKから呼び出せる操作APIが用意されている。詳細については、以下のURLをご参照ください。
https://docs.aws.amazon.com/ja_jp/awssupport/latest/APIReference/API_Operations.html
まとめ
- Trusted Advisor を使うと、利用者がベストプラクティスに沿って、AWS を活用できているかどうかを効率的にチェックすることができる
- チェック項目は全部で110種類(2020/04/30現在)あり、5つのカテゴリに分類されている
- チェック結果はメールや CloudWatch Events で通知させることで素早い検知が可能
- 操作APIも用意されているので、CLIや各種SDKから Trusted Advisor を操作することも可能
さいごに
一部の項目はアップグレードが必要なものもあります。
エクセルファイルにて、一覧表を作成しているのでご参考にどうぞ。
