Amazon SQSの新機能:一括送信、遅延キュー/メッセージ

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Amazon SQSの新機能

Amazon SQSは分散キューイングサービスとして提供されています。先日、AWS Manamegement Consoleに対応したばかりですが、本日、新機能がリリースされました。バッチ処理機能は、同時に10メッセージまで送信(SendMessageBatch)または削除(DeleteMessageBatch)することができます。Amazon SQSは、リクエスト数に応じて課金されますので、工夫をすれば最大で1/10のコストになります。

遅延キューは、キューにメッセージが追加されてから見えるまでの時間を設定することができます。120と設定すればキューにメッセージを送ってから2分後に見えるようになります。同じく、遅延メッセージは、個別のメッセージを送る際に、遅延秒数を設定することができます。遅延キューと遅延メッセージが両方設定されている場合には、遅延メッセージが優先されます。

一通りの流れをAWS Managemanet Consoleを使ってご紹介します。

最初の画面

最初の画面です。キューを作成するリージョン(地域)を指定します。

キューの作成

新規にキューを作成します。

作成したキューを選択すると設定情報が見れます。

メッセージの送信

メッセージの内容を記述します。

メッセージを送信すると、IDなどの確認情報が表示されます。

状況の確認

再度キューの状態を確認すると、遅延メッセージ(Messages Delayed)が1件あることが分かります。

遅延時間を過ぎて再度キューの状態を確認すると、遅延メッセージが減って、利用可能メッセージ(Messages Available(Visible))の件数が1件になっています。

リアルタイムに状態を確認する

あるキューの中にあるメッセージを一覧して、状態をリアルタイムに確認できます。キューに届いたメッセージを即時確認することができます。ロングポーリングの手法を使っているのかな。

メッセージを削除する

メッセージ一覧の画面から削除することができます。

まとめ

今回はAmazon SQSの新機能とAWS Management Consoleの使い方をご紹介しました。コンソールからキューの一覧・追加・削除ができるので、運用中のシステムの状況が分かって良いですね。分散型のシステムでは非同期処理が肝になります。Amazon SQSは非同期にサービスを繋ぐためのプラットフォームとして今後ますます重要になってくると思います。Amazon SQSの使いどころを押さえてマエストロになりましょう!

参考資料

Amazon Simple Queue Service: Batch Operations, Delay Queue, and Message Timers