awsでのメモリ監視の種類や方法について

パソコン1

アマゾンが提供するawsですが、アマゾンも膨大な大きさのサーバーを持っています。企業によってはアマゾンのクラウドサービスを利用しているかもしれませんが、そんな人たちは、クラウド上のメモリ管理が行われているのか気になるところでしょう。

そこで、この記事ではアマゾンが提供しているメモリ管理サービスの実態やその必要性などについて紹介します。

アマゾンが提供しているEC2サービス

アマゾンでは、EC2というインスタンスタイプのサービスが提供されています。このシステムは、いろいろなCPU、メモリ、ネットワークキャパシティー、ストレージなどの組み合わせで構成されています。その組み合わせ方を工夫することで、アプリケーションのリソースとして、最適な組み合わせを取ることで、柔軟な対応が可能になっています。

目的の、ワークロードにみあった、最適なリソース構築できるのがメリットです。Amazon EC2A1インスタンスを利用すると、Armエコシステムを利用したスケールアウト型のワークフローロード作りに最適で、先述のように最適なリソース構築ができるため、大幅なコストダウンができるのがメリットです。

AmazonEC2A1インスタンスの特徴は、64ビットのArm Neoverseコアを採用していることと、最大10Gbpsのネットワークスピードを誇ること、専用ハードウエアと軽量ハイパーバイザーの組み合わせにより実現される、AWS Nitro Systemにて駆動されているのが特色です。参考情報>CloudCREW:AWS運用

また、バッチ処理ワークロードや高性能ウェブサーバー、メディアトランスコードなどに代表される高性能なインスタンスが採用されているので、高速性が求められるゲームサーバー用途や機械学習推論などの負荷の高いアプリケーションに最適です。

EC2による次世代メモリ最適化インスタンス

近年クラウドサーバーについては、日を追うごとにワークロードは大きくなり、CPUスペックの向上により、高性能なサービスを提供しています。特にデータ分析やビジネスインテリジェント、データマイニング、レイテンシに関する能力が上がっています。

特に、データセットをそのまま、メモリ上に展開することで、動作スピードの向上を実現しています。その他にも、バッチ処理ワークロードや分散キャッシングを採用することで、大量のメモリに対して素早くアクセス可能なシステムが構築されています。

また、アマゾンでは次世代メモリとなるEC2インスタンスをリリースしてくれています。大容量のL3キャッシュの採用と、高速なメモリを搭載して、これまで採用されていたR3インスタンスよりも高い性能を発揮してくれています。

なお、ネットワークについては、プレイスメントグループを利用した場合、1Gbpsの専有EBS帯域幅の確保とENAによる最大20Gbpsというハイスピードなネットワークを実現しています。

CloudWatchによるメモリのモニタリング

awsでは、CloudWatchを活用したメモリ管理が可能です。CloudWatchで発生されるメトリックスは、5分ごとに更新されるシステムで、そのチェック結果は、自動的に収集され、動作している全てのEMRクラスターのチェックが可能です。

CloudWatchを利用することで、アマゾンEMRメトリックスを使用することが可能ですが、このシステムでは、いろいろな観点からデータの分析が可能です。その主な機能としては、クラスターが実行されていないライブのタスクかどうかを確認できる機能や、アプリケーションの許容レベルを検知する機能などがあります。

アマゾンEMRがCloudWatchに通知するメトリックスにアクセスする手法はいくつかあります。メトリックスを表示させるには、CloudWatchコンソールかAmazon EMRコンソールを利用します。

Amazon EMRを利用している場合は、そのメトリックスをCloudWatchに対してプッシュ通知します。そのため、CloudWatchを利用してAmazon EMRメトリックスに基づいたアラーム設定が可能です。

この機能を利用すると、HDFSの使用率が80%を超えた場合などに、メールを自動配信してもらうようなサービスも利用可能です。Amazon EMRを利用すると各種レポートが作成されます。その仕組みは、Amazon EMRクラスターが5分ごとにメトリックスを自動送信するシステムとなっていて、2週間分のレポートが圧縮され保管されます。

ただし、そのデータは2週間を経過すると自動的に破棄される仕組みです。ここで得られるレポートは、メモリに関することも多数あります。たとえば、「MemoryTotalMB」は、クラスターでのメモリの総合計が紹介され、「MemoryReservedMB」では、予約されているメモリ量、「MemoryAvailableMB」では利用者に割り当てられたメモリの量が確認できます。

EC2監視の必要性

次に、EC2監視の必要性について記載すると、実は、awsでは、リソースのパフォーマンスに関する事項や、パフォーマンス低下に起因する機能停止などについてはサポートされていません。

そのため、aws利用者は、自分自身の所有しているリソースがどのような状況にあるのかを自分自身で監視する必要がありました。そこで登場したのが、CloudWatchというリソース管理システムです。

このシステムを利用すると、EC2による監視体制を簡単に構築できます。特に、EC2の提供するカスタムメトリックスについては、300を超える監視用のメトリックスが用意されています。CloudWatchでは、awsのハードウエアについて監視可能です。

アマゾンではない他の企業が提供するクラウドサービスの監視システムについては、オペレーティングシステムの値を監視するのが一般的です。しかし、アマゾンの提供する、EC2では、CPU使用率やストレージへの書き込みやネットワークのインプットとアウトプットなど、インフラ面での監視が可能なのがメリットです。

関連記事:aws glueを監視して、ETLのコストパフォーマンスを高めよう

統合監視ツールのEC2監視機能を活用するメリット

メモリを含めたシステムの統合監視ツールである、EC2を活用するメリットとしては、awsのパフォーマンスに関する情報を迅速で詳細に把握可能なため、迅速にトラブルシューティングが可能です。特に、アマゾン側の運営がトラブルシューティングしてくれるので、利用者は何もする必要がありません。

定期的にレポートが出力されますので、取得したデータから統計データを算出することで、最適なシステム構成を再構築できるのもメリットです。システムの運用状態を可視化できることも良いところで、物理的で、仮想化されたクラウド上のインフラ環境を、一つのコンソールでまとめて監視できるのがメリットです。

ECという統合監視ツールを使用してメモリの最適化

アマゾンが運営するawsでは、クラウドコンピューティングが可能ですが、デフォルトの状態では、メモリをはじめとするシステムの稼働状態の監視には不十分です。今回説明したようにCloudWatchを使用した、EC2という統合監視ツールを利用するのがおすすめです。

システムトラブルを起こさないためにも、EC2のメリットをしっかりと理解して、ベストな状態での運用を心がけてみましょう。