ブログ

AWS運用の強い味方、AWS Compute Optimizer

AWS運用にあたって、EC2の最適化に悩まされてきた運用者は多いのではないでしょうか。スペックが低すぎると運用に支障が出るし、念のため高スペックでEC2を構築してしまうとインスタンスタイプの最適化判断が課題になってしまいます。

しかし、AWS Compute Optimizerを利用すると、簡単にEC2のスペックに対して最適化されているかを判断してくれるため、AWS運用のハードルが下がります。
では、次の章より、EC2の最適化が課題のAWS運用者に向けて解説します。

AWS運用を簡単にしてくれる AWS Compute Optimizer とは?

まずは、Compute Optimizer の ダッシュボードをご覧ください。稼働している環境に対して、一目で状況判断が可能です。

スクリーンショットの環境は、Auto Scalingグループ、Lambda関数がなく、15台のEC2へEBSを1つずつアタッチしています。そのため、存在しているEC2 15台、EBS 15個に対して評価がされています。
現在、EBSは適切なサイズがアタッチされていますが、EC2のインスタンスタイプが13台も最適化されていないようです。

  • プロビジョニング不足:EC2のスペックが足りていません
  • 最適化済み:EC2のスペックは適切です
  • 過剰なプロビジョニング:EC2はオーバースペックです

それでは、更に詳細を確認してみましょう。詳細を見るには「EC2インスタンス のレコメンデーションを表示」をクリックします。

検出結果の理由が明記されているのがとても親切でいいですね。今回「過剰なプロビジョニング」と診断された5台は全て以下が理由でした。

  • CPUの過剰なプロビジョニング
  • EBS IOPSの過剰なプロビジョニング
  • EBSスループットの過剰なプロビジョニング
  • ネットワーク帯域幅の過剰なプロビジョニング
  • ネットワーク PPS の過剰なプロビジョニング

「プロビジョニング不足」の診断理由は以下の通りです。

7台のうち、6台

  • CPUのプロビジョニング不足

7台のうち、1台

  • CPUのプロビジョニング不足
  • EBS IOPSの過剰なプロビジョニング
  • EBSスループットの過剰なプロビジョニング
  • ネットワーク帯域幅の過剰なプロビジョニング
  • ネットワーク PPS の過剰なプロビジョニング

理由と合わせて、推奨インスタンスタイプを案内してくれるので参考にしましょう。「最適化済み」のEC2であっても、オンデマンド料金が下がるインスタンスタイプを案内してくれます。
また、筆者の感想としてがむしゃらに最新のファミリータイプを推奨してこないところが高性能だと感じました。
本環境は「t2.small」など旧タイプのEC2が存在していますが、t2のままで良いか、t3に上げるべきかを判断してくれています。

AWS Compute Optimizer はどんな仕組みでEC2を評価しているのか

以下のメトリクスに対して過去の使用率を分析し、推奨値を返してくれます。

  • CPU使用率
  • メモリ使用率 ※CloudWatch エージェントをインストールしている場合に限ります
  • ネットワーク受信
  • ネットワーク送信
  • ローカルディスクの入出力 (I/O)

機械学習を使って過去の使用率メトリクスを分析してくれるのですが、学習に使用しているデータはAWSがこれまで稼働させてきた多様なワークロードです。

ワークロードの設定とリソースの使用率からCPUを集中的に使用する、ローカルストレージに頻繁にアクセスしているなど、固有の使用状況を正しく識別してくれます。分析した情報に合わせて、IOPSの設定値やEBSのサイズ、Lambda関数のメモリサイズと組み合わせてどのような負荷がかかるかを予測し、推奨値を計算してくれるロジックを保有しています。

AWS運用に限らず、インフラ管理を任された担当者が避けては通れないCPU・メモリの使用率と睨めっこが一瞬で解決されるのは、元オンプレサーバーエンジニアの私も感激のサービスです。

AWS Compute Optimizerは無料で利用が可能であるところも魅力です。AWSクラウドが所持する膨大なワークロードデータの恩恵ですね。

AWS運用者必見の AWS Compute Optimizer 設定方法

それでは、設定方法をご案内させていただきます。マネージメントコンソールにログインして、「AWS Compute Optimizer」と検索して表示されたサービスをクリックします。

初回から設定はされていないので、「ご利用開始」をクリックして進んでください。

「オプトイン」をクリックして、設定完了です。

これでデータの収集と分析が開始されるようになるため、時間を置いてから確認するとダッシュボードにて利用状況が確認できるようになります。

また「AWS Compute Optimizer」が有効になっていると、EC2の管理画面でもプロビジョニングの評価が確認できるようになります。

AWS Compute Optimizerを有効化することで、日常業務の中でプロビジョニングが最適かどうか簡単に確認できるようになるので、是非有効化してAWS運用を簡単・快適なものにしてくださいませ。

元記事発行日: 2022年06月01日、最終更新日: 2022年06月27日