2021/05/26

CloudWatchとは?AWS EC2のメモリ使用率を監視する方法を解説

 
  

CloudWatchとは?


CloudWatchとは、AWSリソースやAWSで実行されるアプリケーションを監視するためのサービスです。

AWS EC2は、デフォルトでCPU使用率やネットワーク使用率をモニタリングすることができますが、メモリ使用率はモニタリングできません。

そこで、CloudWatchを使用することでメモリ使用率やディスク使用率などもモニタリングできるようになります。

CloudWatchは、メトリクスと呼ばれる単位で監視対象を設定します。CloudWatchは、CloudWatch エージェントと呼ばれるパッケージをサーバーにインストールすることで使用できるようになります。

CloudWatchのインストール方法


CloudWatchをインストールするには3種類の方法があります。

・コマンドラインを使用する

・AWS Systems Managerを使用する

・AWS CloudFormationを使用する

今回はコマンドラインを使用したCloudWatchのインストール方法について説明します。

CloudWatch エージェントパッケージのダウンロードとインストール

CloudWatch エージェントパッケージのダウンロードとインストールは以下の手順で行います。

①CloudWatch エージェントパッケージをダウンロードするには、AWSサーバーから以下のコマンドを実行します。


wget https://s3.us-east-1.amazonaws.com/amazoncloudwatch-agent-us-east-1/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm

②以下のコマンドを実行して、CloudWatch エージェントパッケージをインストールします。


sudo rpm -U ./amazon-cloudwatch-agent.rpm

メモリ使用率の監視方法


インストールしたCloudWatch エージェントを使用して、AWS EC2のリソースで使用されているメモリ使用率を監視します。

以下の手順で設定していきます。

①CloudWatch エージェント設定ファイルの作成

②CloudWatch エージェントの開始

③CloudWatchに送信されたメモリ使用率の確認

CloudWatch エージェント設定ファイルの作成

CloudWatch エージェントを実行するためには設定ファイルを作成する必要があります。

設定ファイルにはCloudWatch エージェントが収集するメトリクスとログを指定します。設定ファイルはJSON形式のファイルで、agent、metrics、logという3つのセクションで構成されています。

設定ファイルは2種類の方法で作成できます。

・手動で作成する

・ウィザードを使用して作成する

今回は手動で作成する方法について説明します。

agentセクション

CloudWatch エージェントの全体的な設定に関する項目を指定します。
ウィザードを使用して作成する場合は、agentセクションは作成されません。

agentセクションには以下の項目を設定します。

項目 説明 デフォルト値
metrics_collection_interval メトリクスが収集される頻度を秒数で指定します。 60
region メトリクスを送信するリージョンを指定します。 AWS EC2インスタンスが配置されているリージョン
credentials 異なるAWSアカウントにメトリクスを送信するときのIAM ロールを指定します。
debug デバッグログを使用するかどうかを指定します。 false
logfile ログファイルの出力先を指定します。 /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log
omit_hostname メトリクスのディメンションとしてホスト名を発行するかどうかを指定します。 false
run_as_user CloudWatch エージェントを実行するユーザーを指定します。 root

metricsセクション

収集とCloudWatchへの発行に関するカスタムメトリクスを指定します。

ログを収集するためだけにCloudWatch エージェントを使用している場合は、metricsセクションを省略することができます。

metricsセクションには以下の項目が設定可能です。

項目 説明 デフォルト値
namespace メトリクスに使用する名前空間を最大255文字で指定します。 CWAgent
append_dimensions 収集されたメトリクスにAWS EC2メトリクスのディメンションを追加します。
aggregation_dimensions 収集されたメトリクスが集計されるディメンションを指定します。
endpoint_override メトリクスを送信するエンドポイントをURL文字列で指定します。
metrics_collected 収集するメトリクスを指定します。この項目は必須です。”mem_used_percent”を指定することでメモリ使用率を収集できます。
force_flush_interval メトリクスがフラッシュ(サーバに送信)されるまでの秒数を指定します。 60
credentials 異なるAWSアカウントにメトリクスを送信するときのIAM ロールを指定します。

logセクション

ログファイルに関する項目を指定します。

サーバーがWindows Serverの場合、Windowsイベントログからのイベントが含まれる場合があります。

logセクションには以下の項目が設定可能です。

項目 説明 デフォルト値
logs_collected サーバーから収集するログファイルおよび Windows イベントログを指定します。
log_stream_name 個別のログストリームが定義されていない場合に、代わりに使用するデフォルトのログストリーム名を指定します。
endpoint_override ログを送信するエンドポイントをURL文字列で指定します。
force_flush_interval ログがフラッシュ(サーバに送信)されるまでの秒数を指定します。 60
credentials 異なるAWSアカウントにログを送信するときのIAM ロールを指定します。
metrics_collected ログに埋め込まれたメトリクスを収集するように指定します。

CloudWatch エージェントの開始

以下の方法でCloudWatch エージェントを開始します。

①AWSシステムマネージャーにログインします。

②「Run command」を選択して、リストから「AmazonCloudWatch-ManageAgent」を選択します。

③「Target」でCloudWatch エージェントのインスタンスを選択します。

④「Optional Configuration Location」に、作成したCloudWatch エージェント設定ファイルを指定します。

⑤最後に「Run」を選択してCloudWatch エージェントを開始します。

CloudWatchに送信されたメモリ使用率の確認

CloudWatch エージェントが収集したメモリ使用率の情報は、以下の方法で確認します。

①CloudWatch コンソールを開きます。

②ナビゲーションから「メトリクス」を選択します。

③前項で設定したインスタンスを選択します。

④「mem_used_percent」を選択してメモリ使用率を確認します。

CloudWatchを使ってAWS EC2のメモリ使用率をモニタリングしよう!


メモリ使用率の監視はシステムの安定稼働にとって非常に重要です。

メモリ使用率を監視することで、システム障害を未然に防ぐことが可能となります。

また、万が一システム障害が発生した場合でも、監視していたメモリ使用率のログを確認することで障害発生のタイミングや原因の調査が容易になります。

それに、AWS EC2のどのリソースがどのくらいのメモリ使用率かを把握しておくことで、リソースを横展開する場合の影響度や、AWSの環境を新しく構築する時にどのくらいメモリ容量を準備しておけばよいかの目安にもなります。

慣れないうちは設定方法も難しく、設定後の管理画面の見方もわかりにくいですが、使い方に慣れてくるとシステム保守が劇的に効率化されます。

メモリ使用率だけでなく、ほかにもシステムの運用・保守に必要な情報が詰まっているので実際に使ってみて、自分が使いやすいように情報を整理するコツを見つけましょう。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】