はじめに
AWSをはじめとしたクラウドサービスは、システム構築後に環境の見直しを行えることがメリットの1つとなります。
環境を見直すためのツールとして、AWSではTrusted Advisorというサービスが用意されています。
Trusted Advisorを通じて、コストやパフォーマンス、セキュリティなど、改善が推奨される項目を可視化してくれます。
本記事では、Trusted Advisorの概要説明とコスト最適化について触れていきます。
Trusted Advisor
Trusted Advisorは、コストやパフォーマンス、セキュリティなど、利用しているAWS環境の見直す際に役立つ情報を提供してくれるサービスとなります。
以下の画像のように見直しが推奨される項目を確認できます。
Trusted Advisorでは、以下の最適化情報を確認できます。
- コスト最適化
- パフォーマンス
- セキュリティ
- 耐障害性
- サービスの制限
- 運用上の優秀性
それぞれの項目で次のような情報を確認できます。
コスト最適化
利用中のAWSサービスに対して、節約することができる金額の情報を提供
パフォーマンス
利用中のAWSサービスのパフォーマンスを向上させるための情報を提供
セキュリティ
利用中のAWS環境のセキュリティを向上させるための情報を提供
耐障害性
利用中のAWS環境の可用性と冗長性を高めるための情報を提供
サービスの制限
AWSサービスには、サービスごとに利用数の上限が設定されています。
この上限に対して80%の使用率に達しているサービスに関わる情報を提供
運用上の優秀性
利用中のAWSサービスのうち、運用に役立つ情報を取得するための項目についての情報を提供
制限事項
Trusted Advisorには、以下の制限事項があるので利用する際はご注意ください。
参照できる項目の制限
契約しているAWSサポートのプランによって参照できる項目が変わってきます。
AWSベーシックサポート、AWSデベロッパーサポート
ベーシックおよびデベロッパーサポートでは、6つのセキュリティチェック(S3バケットアクセス許可、セキュリティグループ – 無制限の特定のポート、IAMの使用、ルートアカウントでのMFA、EBSパブリックスナップショット、RDSパブリックスナップショット)と50個のサービスの制限チェックを利用できます。
AWSビジネスサポート、AWSエンタープライズサポート(AWS Enterprise On-Rampを含む)
ビジネスおよびエンタープライズサポートでは、Trusted Advisorのすべての項目を確認できます。
除外されている項目
一部の項目では、AWS ConfigやSecurity Hubを有効化することで表示される項目があります。
取得したい情報が表示されていない場合、AWS ConfigやSecurity Hubを適切に設定してください。
本記事では、公式ドキュメントに記載されている項目について記載しています。
Trusted Advisorを用いたコスト最適化
ここからはTrusted Advisorのコスト最適化について説明したいと思います。
コスト最適化以外の項目については、別の記事で説明します。
コスト最適化で確認できる項目
Trusted Advisorでは、以下のコスト最適化情報を確認できます。
- AWS Organizationsの対象でないAWSアカウント
- Amazon Comprehendの使用率の低いエンドポイント
- Amazon EBSの過剰プロビジョニングボリューム
- Amazon EC2インスタンスの統合(Microsoft SQL Server向け)
- 過剰にプロビジョニングされたAmazon EC2インスタンス(Microsoft SQLサーバー向け)
- 停止しているAmazon EC2インスタンス
- Amazon EC2リザーブドインスタンスのリース有効期限切れ
- Amazon EC2リザーブドインスタンスの最適化
- ライフサイクルポリシーが設定されていないAmazon ECRリポジトリ
- Amazon ElastiCacheリザーブドノードの最適化
- Amazon OpenSearch Serviceリザーブドインスタンス最適化
- Amazon RDSアイドルDBインスタンス
- Amazon Redshiftリザーブドノードの最適化
- Amazon Relational Database Service(RDS)リザーブドインスタンスの最適化
- Amazon Route 53レイテンシーリソースレコードセット
- Amazon S3バケットライフサイクルポリシーの設定
- ライフサイクルポリシーが設定されていないバージョニングが有効なAmazon S3バケット
- 過度にタイムアウトが発生しているAWS Lambda関数
- エラー率が高いAWS Lambda関数
- AWS Lambdaメモリサイズの過剰プロビジョニング関数
- コスト最適化に関するAWS Well-Architectedのリスクの高い問題
- アイドル状態のLoad Balancer
- 低稼働率のAmazon EC2インスタンス
- Savings Plan
- 関連付けられていないElastic IP Address
- 利用頻度の低いAmazon EBSボリューム
- 使用率の低いAmazon Redshiftクラスター
さまざまな項目があるので、いくつかピックアップして説明します。
リザーブドインスタンスの最適化
EC2やElastiCache、RDSなどで購入できるリザーブドインスタンスについて、推奨する購入数や購入後のリザーブドインスタンスの使用率、推定される削減額などを確認できます。
下の画像は、Amazon EC2リザーブドインスタンスの最適化についての項目です。
インスタンスタイプ毎にリザーブドインスタンスの推奨購入数や使用率などの情報を確認することできます。
Amazon EC2リザーブドインスタンスの最適化では、以下の情報を確認できます。
※確認できる項目は、AWSサービスによって多少の違いがあります。
- リージョン
- インスタンスタイプ
- プラットフォーム
- 購入するリザーブドインスタンスの推奨数
- 想定されるリザーブドインスタンスの平均使用量
- 推定節約額とレコメンデーション(月額)
- リザーブドインスタンスの前払いコスト
- リザーブドインスタンスの推定コスト(月額)
- 推奨リザーブドインスタンス購入後の推定オンデマンドコスト(月額)
- 推定損益分岐点(月額)
- ルックバック期間(日)
- 期間(年)
他のAWSサービスでも同様に確認できるので、リザーブドインスタンスを購入する際の参考にできます。
Savings Plan
Amazon EC2、Fargate、Lambdaの使用状況に応じた、Savings Planの購入についての推奨事項が表示されます。
Savings Planでは、以下の項目が確認できます。
- Savings Planタイプ
- お支払い方法
- 前払い料金
- 購入する時間単位のコミットメント
- 推定平均使用量
- 月間削減額の見積もり
- 推定節約率
- 期間(年)
- ルックバック期間(日)
未使用や利用頻度が少ないリソース
停止中や稼働率の低いAmazon EC2やアイドル状態(バックエンドにインスタンスが居ない)ロードバランサー、Amazon EC2にアタッチされていないEBSやEIPなど、ムダなコストが発生している可能性があるものについての情報を確認できます。
下の画像は、使用率の低いAmazon EC2の項目です。
※公式ドキュメントでは、「低稼働率のAmazon EC2インスタンス」と表記されています。
使用率の低いAmazon EC2インスタンスでは、以下の項目が確認できます。
- リージョン/AZ
- インスタンスID
- インスタンス名
- インスタンスタイプ
- 月間削減額の見積もり
- CPU使用率(14日間の平均)
- ネットワークI/O(14日間の平均)
- 使用率が低い日数
ここで紹介した項目以外にもコスト削減につながる有益な情報が多いので、公式ドキュメントを確認してください。
https://docs.aws.amazon.com/ja_jp/awssupport/latest/user/cost-optimization-checks.html/
まとめ
今回は、Trusted Advisorとコスト最適化の項目について説明しました。
AWS環境を定期的に見直すことでAWS費の削減につなげることができます。
日々の運用にTrusted Advisorを取り入れていただき、コストの見直しを行ってみてはいかがでしょうか。