AWS SQSとは?
Amazon Simple Queue Service (AWS SQS) は、Amazon社が提供するメッセージキューイングサービスです。
メッセージキューイング(MQ)は、とあるプログラムの処理Aから別の処理Bを起動するときに、起動指示をしたり、引数や情報(メッセージ)を順番通りに渡す役割をします。
MQを利用するメリットは、キューを使用することでプログラムの処理Aと処理Bが非同期になることです。非同期でない場合、処理Aが処理Bを起動して完了するまで処理Aが待機する必要があります。待機時間はアプリケーションにとってボトルネックになるため、できるだけ短くする必要があります。 また、MQを介することで処理Aと処理Bは独立した存在となるため、どちらかで障害が発生した場合に引き摺られてもう一方で障害発生というような事態が起こりにくくなります。
AWSでは、このMQをクラウドサービスとして提供しています。AWS SQSはメッセージの内容が暗号化され、アプリケーション間で機密データをやり取り可能なほか、利用状況に応じたスケールが可能です。
SQSを用いたアプリで監視すべきポイント
キューサービスでよく遭遇する問題は、キューが詰まったり、キューが遅くなったりすることが挙げられます。
キューが詰まった場合、キューワーカーが処理を停止すると、キューは増加を続け、アプリケーションが意図した動きをしなくなる可能性があります。遅いキューは詰まったキューほど深刻なものではありませんが、アプリケーションのユーザー体験が悪くなる原因となりますす。
AWS SQSの様々なパラメーターを監視することで、このような問題の発生を減らすことができます。
AWS SQSを効率良く管理・監視する方法
ManageEngineが提供するAPMツールである「Applications Manager」のAWS監視ツールは、Amazon SQSの監視機能を提供しています。メッセージキューに問題が発生した場合、ただちに管理者にお知らせするほか、障害発生と同時にプログラムを実行するなどの自動化にも対応しています。
無料で使えます[機能・監視数 無制限]
重要なAWS SQSパフォーマンスメトリクスを可視化
最適なパフォーマンスを維持するためには、キュー内のメッセージが標準値を超えないようにすることが重要です。例えば、標準的なSQSキューでは、キュー内のメッセージ数が12万件、FIFOキューでは2万件が上限となっています。Applications ManagerのAWS SQS監視機能では、KPIをリアルタイムで監視し、一定期間で集計して履歴分析を行うことができます。また、機械学習を搭載したレポートで、将来の利用率を予測することも可能です。
メッセージを可視化
SQSのキュー内の最も古いメッセージを見れば、長い間処理されていないなどの不具合を知ることができます。この値が上昇する場合は、メッセージ処理が十分でない・迅速でないことを意味します。 Applications Manager のAWS SQS監視機能は、メッセージの遅延・削除・送信・受信・キュー・キュー内のメッセージのサイズの統計情報を可視化します。
設定を可視化
Applications ManagerのAWS SQS監視ツールは、FIFOキューや標準キューの詳細を表示します。受信メッセージ待ち時間、最大メッセージサイズ、メッセージ保持期間、可視化タイムアウトなどの設定データを自由に設定することができます。また、標準キューの遅延メッセージ数や遅延時間の監視も可能です。
AWS SQS監視の詳細情報
- AWS SQS監視 ユーザーガイド
AWS SQS監視の利用方法を解説しています。 - スタートアップガイド
製品の導入手順から設定方法までの詳細ガイドです。