AWSでメトリクスを設定して効率的にリソースモニタリングしよう


メトリクスとは?
Amazon Web Services(AWS)では、Amazon CloudWatchによりAWSで利用しているアプリケーションをリアルタイムに監視できます。
監視の対象となるのがメトリクスであり、メトリクスとはCPUの利用率やストレージの空き容量などリソースやアプリケーションの状態を数値で測定できる変数のことを指します。
AWSでは、提供サービスごとにあらかじめメトリクスが設定されているものもありますが、ユーザーがカスタムすることも可能です。
利用するメリットは?
AWSのEC2やEBSなどのサービスに対してメトリクスを設定してCloudWatchで監視することで、設定数値が閾値を超えたときにメールで管理者に通知を送信したり、モニタリング対象のリソースのスケール変更を自動的に完了してくれます。
これにより、AWS管理担当者自身が24時間監視しなかったり、急なアクセス上昇や処理負荷が増大しても、リソース不足に陥ったままになることを避けられます。
メトリクスの種類は?
システムパフォーマンスを計測するメトリクスは、サービスごとに様々な種類があります。ここではEC2やEBSを対象として標準で用意されている一部と、メトリクスのリスト化の方法についても紹介していきます。
EC2のメトリクス
EC2には、CPUの利用率や通信状態を出力するメトリクスが用意されています。ここではEC2インスタンスで設定可能なメトリクスを紹介します。
CPUUtilizationでは、EC2に割り当てているコンピュートユニットの利用率をパーセントで出力します。このメトリクスを監視しておくことで、計算処理能力の過不足状況を確認することができます。
NetworkInでは、割り当てているネットワークインターフェース経由で受信したデータ容量をバイト単位で出力します。
トラフィック量を監視しておくことで、異常にデータ送信されている攻撃がされていないか、ストレージ容量に空きがなくなって、新たにデータを受信できなくなっていないかなどの確認ができます。
NetworkOutでは逆に、インスタンスから送信されているデータ容量をバイト単位で出力します。NetworkInも同様ですが、監視対象は5分間や1分間などの時間幅と平均や合計などの算出方法を必要に応じて、変更ができます。
EBSのメトリクス
EBSには一定期間の読み書き回数や、データサイズを出力するメトリクスが用意されています。
VolumeReadOpsでは、EBSボリュームの読み込みI/O操作回数を個単位で出力します。書き込み回数についてはVolumeWriteOpsが利用できます。また、バイト数で出力したい場合には、VolumeReadBytesならびにVolumeWriteBytesが対応しています。
BurstBalanceでは、バーストパケットに残っているI/Oクレジットもしくは、スループットクレジットの割合を出力します。一定時間ごとに読み書きスピードを上げる運用方法をとっている場合、残りのバーストチケットを管理するための一助となります。
なお、空き容量の出力は標準的なメトリクスとして用意されていないため、カスタムメトリクスとして各自で設定する必要があります。EC2のオペレーティングシステムがLinuxの場合は、下記のコードからディスクの空き容量を出力できます。
df -hT /dev/xvda1
他のメトリクスを知りたい(コンソールから)
上記以外にも多くのメトリクスが用意されています。どんなメトリクスが用意されているかはAWSコンソールからCloudWatchを開き、ナビゲーションペインでメトリクスを選ぶことで確認できます。
メトリクスは、例えばEC2を対象としたものやEBSを対象としたものなど、サービスごとにカテゴライズされて表示されていますので、メトリクスの設定したいサービスを対象に、検索してください。
他のメトリクスを知りたい(AW SCLIから)
AWS CLIから利用可能なメトリクスの一覧をリスト化することができ、表示する際には、下記のコードから確認できます。
aws cloudwatch list-metrics --namespace AWS/EC2
上記はEC2サービスについてのコードになり、EC2の部分を変更することで、他のサービスについてのメトリクスを確認できます。
更に、インスタンスを指定してメトリクスのリストを表示する方法は次の通りになります。
aws cloudwatch list-metrics --namespace AWS/EC2 --dimensions Name=InstanceId,Value=i-1234567890abcdef0
利用するには?
AWSではメトリクスをリアルタイムにモニタリングするために、グラフ化することや、メトリクスが一定の閾値を超えたときに起動するアクションを設定できます。ここでは3つの方法を紹介します。
メトリクスをグラフにしてモニタリングする
CloudWatchコンソールからはメトリクスを集計しグラフ化してモニタリングできます。
まず、AWSコンソール画面から検索等でCloudWatchを開きます。次にナビゲーションペインからメトリクスを選択し、モニタリングしたいメトリクスを選択するとグラフが表示されます。
グラフ化するメトリクスの統計値は、一定時間ごとのAverage、Minimum、Maximum等から選択でき、統計窓幅も1分間や1時間、3日間等、詳細にモニタリングするか傾向をつかむか、目的に合わせて変更できます。
時間をおいてから同じグラフにアクセスするために、グラフモニタリング時の下側ペインの「Actions」「Share」を選択しURLを取得しておくと、手順を短縮できます。また「Actions」「Add to dashboard」を選択すると、ダッシュボードに追加することもできます。
メトリクスが閾値を超えたらアラームする
CloudWatchではメトリクス値の状態に応じて、異常か否かを判定して出力する機能があります。
まず、CloudWatchコンソールを開き、ナビゲーションペインから「Alarms」「Create Alarm」を選択し、さらにメトリクスの選択から、アラーム対象とするメトリクスのチェックボックスを「オン」にします。
次にグラフ化したメトリクスタグを選択し、統計および期間を設定してメトリクスの選択をクリックします。この設定値に従って、アラームがALARM状態、OK状態、統計データが不足しているINSUFFICIENT_DATA状態に遷移します。
登録したアラームの状態は、CloudWatchコンソールのナビゲーションペインから「Alarms」を選択することで確認できます。
アラーム時にEC2インスタンスを停止する
アラームには、ALARM状態になったことをトリガとして、アクションを付随させることが可能です。以下はEC2に関するメトリクスに対してアラームを設定することを前提とします。
設定したアラームの編集に入り、アラームの定義ステップでEC2アクションを選択します。アラームが警告状態の条件に対して「このインスタンスを停止する」を選択すると、設定したアラームがALARM状態に遷移した後、対象のインスタンスが自動的に停止します。
また、アラームの定義ステップではメール通知も設定できるため、管理者がアラーム状態と対処結果を後から把握することも可能です。
このようなアクションを例えば、1か月のCPU使用率が10%未満か否かを監視するアラームに対して付随させることにより、不要になったインスタンスを停止でき、無駄な利用料をカットする効果があります。
メトリクスを設定して管理を自動化してみよう
メトリクスはAWSで利用できるサービスのパフォーマンス値を出力することについて説明し、サービスごとに出力できる数値の種類の一部と設定方法について紹介しました。
管理するリソースが多くなったり、24時間の監視が必要となると管理者の負荷が大きくなります。メトリクスを適切に選択して自動的にリソース状態の監視、オーバーシュート状態や対処アクションを設定して、少しでも管理負担を減らしましょう。
この記事の監修者・著者

- AWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
-
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。
・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
最新の投稿
- 2024-12-27営業インタビュー情報共有の活性化の中心に。SP企画部の新たな取り組み
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ

- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。