[AWS] SQS
Cloud AWS
Published: 2020-07-14

1.SQSとは

SQSとはAWSのメッセージキューイングサービスです。メッセージキューイングという言葉はあまりなじみがないかもしれません。システム開発の現場でもあまり出てくるようなキーワードではないのでなじみのない方も多いと思います。メッセージキューイングサービスは、異なるソフトウェア間でデータを送受信する手法の一つです。一般的にメールを送るときは送信側が送信準備ができていても受信側に準備ができていなければ、送受信ができません。受信側の準備を待っているとどんどん時間が過ぎてしまいます。これを解決するサービスがSQSです。SQSはいったん、キューという一時保存領域にデータを保存することで送信側は受信者の準備を待つことなく、データを送信し、受信者は受信者のタイミングでデータ受信ができるようになります。AWSのメッセージキューイングサービスがSQSになります。

2.SQSのメリット

SQSのメリットはデータ転送が安定化するということです。時々、一部データが欠けた状態でファイルを受信することがありますが、これはデータ転送が安定していない状態で行ったからです。受信者の準備ができていないのにどんどん送ったことで受信者が絶えれずデータ受信漏れを起こしています。SQSは送受信双方の状態関係なく、完全なデータ転送を実現します。またSQSはスケーラビリティにも優れています。同時に複数のアプリケーションにデータを送信すると、データ転送の負荷が大きくなりますが、その場合は自動で変換処理などでデータを変換して、転送時間が遅くならないように工夫しています。データ転送するのでセキュリティも気になるところですが、SQSのデータ転送はSSL認証がかかっているので、一定水準以上のセキュリティは担保してくれています。

コスト面としては転送量に応じて課金されるので、余分なコストもかかりませんし、事前に容量計画などを行う必要もありません。

3.SQSの使い方

一番簡易的なキューの使い方を紹介します。メッセージをまずはQ(キュー)を作成します。キュー名やタイプ(標準かFIFOか)、その他詳細を入力します。そして送信したいメッセージを入力してメッセージ送信ボタンを押せば、キューにメッセージが溜まりますので、受信側のタイミングでキューからメッセージを受け取れば安定的なデータ送信が完成します。

SQSは中小規模のシステムや静的なサイトでは使う機会が少ないかもしれませんが、データ転送が高頻度で起こるようなシステム(動画配信システムなど)では導入したほうが良いでしょう。

関連する記事