Amazon Simple Queue Service

Amazon Simple Queue Service (Amazon SQS) について



Amazon Simple Queue Service (Amazon SQS) は、Amazon Web Services (AWS) が提供する、スケーラブルな分散型メッセージキューイングサービスです。2004年後半にAmazon.comによって導入され、AWS初のサービスの一つとなりました。Webサービスアプリケーションを通じてプログラムでメッセージを送受信する機能を提供し、インターネットを介した通信を円滑に行うための基盤となっています。

サービスの概要



SQSは、一般的な生産者-消費者モデルにおける課題、特に生産者と消費者間の接続に関する問題を解決することを目指しています。高度にスケーラブルなホスト型メッセージキューを提供することで、開発者はインフラストラクチャの管理に煩わされることなく、アプリケーションのメッセージング機能に集中できます。

SQSは、メッセージングサービスを商品化したものと捉えることができます。従来のメッセージング技術、例えばIBM WebSphere MQやMicrosoft Message Queuingなどと比較して、SQSを利用するユーザーは独自のサーバーを維持する必要がありません。AmazonがSQSの運用を完全に管理し、利用量に応じた従量課金制でサービスを提供しています。

API



Amazonは、Java、Ruby、Python、.NET、PHP、JavaScriptなど、さまざまなプログラミング言語に対応したSDKを提供しています。これにより、開発者は容易にSQSと連携したアプリケーションを構築できます。さらに、2014年12月にはJava Message Service (JMS) 1.1クライアントがリリースされ、既存のJMSアプリケーションとの統合も容易になりました。

認証



SQSは、データの安全な取り扱いを保証するために、厳格な認証手順を採用しています。AWSのIDとアクセス管理システムを利用し、ユーザーはAWS対応のアカウントを必要とします。アカウント作成時に、AWSアクセスキーと呼ばれる識別子のペアが付与されます。公開アクセスキー(20文字)はユーザーを識別し、秘密鍵(40文字)はデジタル署名の計算に使用されます。AWSは、リクエストに含まれるアクセスキーIDに基づいて秘密鍵を照合し、デジタル署名を検証することで、リクエストが正規のユーザーからのものであることを確認します。

メッセージ配信



SQSは、少なくとも1回のメッセージ配信を保証します。メッセージは複数のサーバーに分散して保存され、冗長性と可用性を確保しています。サーバーが利用できない場合、メッセージは別のサーバーから再送される可能性があります。ただし、SQSはメッセージの順序を保証しないため、順序が重要な場合は、アプリケーション内でメッセージに順序情報を付与する必要があります。

メッセージの内容に制限はなく、どのようなデータでも送信できます。メッセージの最大サイズは当初8KBでしたが、2010年7月1日に64KB、2013年6月18日には256KBに引き上げられました。これを超える大きなメッセージを扱う場合、複数のセグメントに分割して送信するか、Amazon S3やAmazon DynamoDBなどの外部ストレージを利用し、SQSメッセージにはそのデータへのポインタのみを含めるという手法が推奨されます。Amazonは、この目的のための拡張クライアントライブラリを提供しています。

SQSは、キューとメッセージトラフィックの両方において、事実上無制限の容量をサポートしています。

メッセージ削除



SQSは、受信したメッセージを自動的に削除しません。メッセージが受信されると、そのメッセージの一意な識別子である受信ハンドルが生成され、受信者に送信されます。受信者は、メッセージを削除する際にこの受信ハンドルを指定する必要があります。これにより、システムの信頼性を向上させています。以前はメッセージIDのみで削除が可能でしたが、2008年のアップデートでこの方式に変更されました。システムが分散しているため、同じメッセージが複数回配信される可能性があり、その度に異なる受信ハンドルが発行されます。したがって、メッセージを削除するためには、常に最新の受信ハンドルを使用する必要があります。

メッセージが配信されると、他のコンポーネントがそのメッセージを処理するのを防ぐために、可視性タイムアウトが設定されます。可視性タイムアウトのカウントはメッセージが受信された瞬間から開始されます。デフォルトのタイムアウトは30秒ですが、この時間を過ぎてもメッセージが削除されない場合、そのメッセージは再度キューに表示され、別の受信者によって再び受信される可能性があります。

各キューは、デフォルトで4日間の保持期間で構成されています。この期間を超えたメッセージは自動的に削除されます。保持期間は1分から14日までユーザーが変更できます。保持期間が変更された場合、変更時にすでにキューにあるメッセージのうち、新しい保持期間を超えているものは削除されます。

著名な利用例



DropboxNetflix、Nextdoorなど、多くの企業がSQSを広く利用しています。また、Amazon社内でもSQSは様々なサービスで活用されています。

関連リンク




外部リンク



もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。