awsのメモリを監視する必要性とやり方

パソコン7

ビジネスでawsを使う場面が多くなっており、正常に稼働するための努力は欠かせません。

awsの状態を把握し、滞りなく運用するには、メモリの監視が必要です。では、awsはサービーレスなのにどうしてメモリ管理が必要なのでしょうか。

メモリを監視するのに有用なサービスはありますか。こちらでは、CloudWatchを引き合いに出し、使用するための手順をご紹介します。

awsはサーバーレスなのにメモリの監視は必要?

クラウドサービスで知名度があるawsは、サーバーレスなシステムで、自社に管理できるスタッフがさほどいなくても使える点が、ビジネス利用を後押ししています。

ビジネスのコアとなる部分に使われるようになったawsは、いつでも正常に稼働できる状態にしておくため、状態を把握することが重要です。

そのために行うのが、監視です。では、どんなところを監視するとよいのでしょうか。まず一つが、DynamoDBです。特に大事になるのが、DynamoDBのキャパシティユニットです。キャパシティユニットは、1秒あたり何回読み書きできるかを示す容量単位を表します。

awsのDynamoDBは、キャパシティの上限が読み込みと書き込みに分けて設定されています。一定期間にその上限を超過すると課金が発生するため、定期的に監視し、上限が超えそうな場合は使っていないテーブルを削除したり、アクセス頻度に合わせてキャパシティユニットを設定する必要があります。

DynamoDBとともに重要なのが、メモリの監視です。awsはサーバーレスの環境で運用しますが、クラウド上で必要なプログラムコードを呼び出したり、実行・処理するのに「lambda(ラムダ)」というサービスを利用します。

lambdaではメモリを事前にセットする必要があります。メモリが枯渇するとプログラムの動作が遅くなるなど、運用面で支障が出てくるため、正しいメモリ設定とともに、監視がポイントになってきます。lambdaを監視すると、無用な課金を避けることもできます。

例えば、誤ってプログラムコードを呼び出すなどして、無限ループが生じた場合、監視をしていないとその状況に気が付かず、後になって課金が発覚し、知らず知らずのうちにコストパフォーマンスが低下することがあります。

一方、メモリを監視していれば、異常値やアラートをキャッチできるので、その場で状況を理解し、早期に正常な状態に戻すことが可能になります。

メモリ監視をするには?

メモリを監視するには、システム監視の製品などを使うのが得策です。企業の情報システム部の方であれば、すでにお気に入りのツールを持っているかもしれませんが、awsの場合は、CloudWatchを使うことをおすすめします。

加えて、ログを集めて監視できる「CloudWatch Logs」や、APIのイベントをトリガーにして、あらかじめ設定しておいたアクションを実行する「CloudWatch Events」というサービスを並行して活用すると、トラブル解決スピードが高まり、重要なシステム障害を起こす危険を回避できるかもしれません。

CloudWatchを使うメリット

こちらでは、awsを使う場合、使い慣れているメモリ監視ツールに変えて、CloudWatchを使う利点を考えます。CloudWatchを使うメリットの一つが、監視ツールの型に関係しています。多くのメモリ監視ツールは、使うことがあらかじめ決まっている対象を一つずつ調べていくPolling型となっています。

対して、CloudWatchは、追加されたサービスに対しても、設定することなく監視が始められるPush型を採用しています。awsの運用が始まると、どの部署でどんなサービスを利用しているか把握するのが難しくなります。

その点が監視するうえでのウィークポイントとなりえますが、CloudWatchであれば、監視漏れの心配がなくなるということです。awsのマネージドサービスに対応している点も、CloudWatchの強みです。

awsはサーバーレス環境で使うため、従来行ってきたような自社のサーバーを管理するイメージとは大きく異なります。違いを考えて監視ツールの設定をしないと、適切な監視が実行できません。その点を解消しているのが、awsマネージドサービスであり、それに対応しているCloudWatchを使う優位性は十分にあります。

なお、awsでは標準でCPU使用率は把握できるものの、メモリやディスク容量の監視はできないようになっています。awsの状態をよりち密に把握するには、CloudWatchの利用が欠かせません。

awsのディスク容量を監視する必要性と運用のポイント

CloudWatchを使う前の下準備

CloudWatchを使うためには、まずライブラリをインストールする必要があります。そして、awsのコンソールからIDとアクセス権を管理できるようにするためIAMを作成し、awsAccessKeyIDとawsSecretKeyを取得します。

CloudWatchの設定

パソコン20

CloudWatchで提供する機能の主なものは、アラーム・イベント・ログ・メトリックです。どのように使えばよいのか一つずつ見ていきましょう。#アラーム事前に設定した閾値に達した場合や条件を満たした場合に、アクションを開始できるようアラームを設定します。

アラームは、インスタンス作成時に「CloudWatch detailed monitoring」を有効にすると利用できます。

標準のモニタリングは無料で使えますが、CloudWatchにデータを配信するのに5分かかります。追加料金を支払い、1分間隔でできるようにすると実用的かもしれません。#イベントCloudWatchのコンソールに移動し、「Events」をクリックして新しいルールを作成します。

#ログCloudWatchへのアクセスを許可するため、IAMロールを作成します。そして、作成したIAMロールを監視したいインスタンスと紐づけます。紐づけができたらaws Systems Managerを使い、「AmazonCloudWatchAgent」をインストールして、「インスタンスを手動で選択する」を選び、先ほど紐づけたIAMロールを選びます。

CloudWatchAgentでは、セッションマネージャーからセッションを開始し、コマンドラインで詳細設定をしていきます。#メトリックメトリックは、CloudWatchで公開される時間順に並べられたデータを入れる箱のイメージです。

使用しているawsサービスが情報を送信しており、それを用いて監視できるようになっています。メトリックは、CloudWatchのコンソールを使用し、ログからテキストを抽出するフィルターを作成したり、単語でグループ化するなどして監視できるでしょう。

いずれの項目を監視するにしても、単にデータを収集して終わりというのではなく、分析が必要です。

その際、CloudWatchの組み込み機能やツールを使うと、データの整理や分析結果の視覚化が容易になります。

awsのメモリを監視する重要性と使いたいツール

パソコン10

クラウドサービスであるawsはサーバーレスで手間いらずのイメージが強いですが、余計な課金を避けたり、正常稼働を目指すには、メモリの監視がポイントになります。

awsのメモリを監視するのに有用なのは、CloudWatchです。CloudWatchを使うと、追加されたサービスに対しても自動的に監視を始められるほか、awsマネージドサービスにも対応しています。

awsでsapを稼働させるメリット・デメリットと監視のポイントを解説