Amazon Simple Queue Service(Amazon SQS)は、コンピュータ間をメッセージが移動する間に、それらを格納するための、信頼性の高い、拡張性のある、キューサービスを提供します。Amazon SQS を使用することによって、開発者は、様々なタスクを実行するアプリケーションの分散コンポーネント間で、データを簡単に移動させることができます。メッセージを失うことはなく、また各コンポーネントを常に利用可能にしておく必要はありません。Amazon SQS を使用すると、Amazon Elastic Compute Cloud(Amazon EC2)やその他の AWS インフラストラクチャウェブサービスと緊密に連携する、自動化ワークフローを簡単に構築することができます。
Amazon SQS は、Amazon のウェブスケールのメッセージング インフラストラクチャをウェブサービスとして使用することにより稼動します。インターネット上のコンピュータから、ソフトウェアをインストールしたり、特別なファイアウォール設定を行ったりすることなく、メッセージの追加や読み取りを行うことができます。Amazon SQS を使用したアプリケーションのコンポーネントは、独自に稼動させることができます。したがって、同一のネットワーク上にある必要はなく、また同一の技術で開発する必要はなく、また同時に実行する必要もありません。
- キューを作成できるリージョンは、米国東部(バージニア北部)、米国西部(オレゴン)、米国西部(北カリフォルニア)、欧州(アイルランド)、アジアパシフィック(シンガポール)、アジアパシフィック(東京)、および南米(サンパウロ)の7つです。
- メッセージ本文には、最大 64 KB のテキストを任意のフォーマットで含めることができます。
- メッセージは、最大14日間キューに保持することができます。
- メッセージは、送信と読み込みを同時に行うことができます。
Amazon SQS は、自己開発のメッセージングシステムの複雑さや、ライセンス制システムもしくはホストシステムの継続的経費に対して、著しい優位性を提供します。
信頼性 – AmazonSQS は、Amazon の可用性の高いデータセンター内で実行されるため、キューはアプリケーションがそれらを必要とする時はいつでも利用可能です。メッセージが失われたり、利用不能になることを防ぐため、すべてのメッセージは複数のサーバーやデータセンターに冗長的に格納されます。
シンプル – 開発者は、以下の5つの API を使用するだけで Amazon SQS を開始することができます。CreateQueue、SendMessage、ReceiveMessage、ChangeMessageVisibility、および DeleteMessage。その他の API を利用して、高度な機能を提供することもできます。
拡張性 – AmazonSQS は、無数のコンピュータが、無数のメッセージを、いつでも読み込んだり書き込んだりすることを可能にします。
安全 – 認証メカニズムが提供されており、Amazon SQS のクエリに格納されるメッセージが、無許可のアクセスから確実に守られるようになっています。
低コスト – 前払いまたは固定費用は発生しません。Amazon SQS を使用してメッセージを送信するための費用は、リクエストごとの小額の手数料とデータ転送料だけです。
Amazon SQS は、Amazon EC2 さらに Amazon S3 および Amazon SimpleDB と共に使用して、アプリケーションの柔軟性と拡張性を向上させることができます。一般的なユースケースは統合され、自動化されたワークフローの作成であり、この場合複数のコンポーネントまたはモジュールが相互に通信する必要がありますが、すべてが同量の作業を同時に処理できるわけではありません。この場合、SQS クエリは、Amazon EC2 インスタンス上で稼動しているユーザーのアプリケーションによって、規則的な方法で処理されるようメッセージを運搬します。Amazon EC2 インスタンスは、キューを読み取り、ジョブを処理し、結果をメッセージとして別の SQS キューに投入することができます(おそらく別のアプリケーションによる更なる処理のため)。Amazon EC2 によりアプリケーションは動的に拡張/縮小が可能であるため、アプリケーション開発者は、ジョブが適時実行されていることを保証できるよう、SQS キュー内の作業量に基づきコンピュート インスタンス数を簡単に変えることができます。
例えば、動画トランスコーディング ウェブサイトがどのように Amazon EC2、Amazon SQS、Amazon S3、および Amazon SimpleDB を共に使用しているかがここに示してあります。エンドユーザーは、トランスコーディングを行う動画をこのウェブサイトへ提出します。動画は Amazon S3 に格納され、メッセージ(「リクエスト メッセージ」)は、メッセージ内の動画およびターゲット動画フォーマットへのポインターと共に Amazon SQS キュー(「着信キュー」)に配置されます。Amazon EC2 インスタンス一式上で動作しているトランスコーディング エンジンは、着信キューからリクエスト メッセージを読み、ポインターを使用して Amazon S3 から動画を取り出し、ターゲット フォーマットへの動画エンコーディングを行います。変換された動画は Amazon S3 へ戻され、別のメッセージ(「応答メッセージ」)が変換済み動画へのポインターと共に別の Amazon SQS キュー(「発信キュー」)に配置されます。同時に、クエリを簡単にするために、動画についてのメタデータ(例: フォーマット、作成日、長さ)を、Amazon SimpleDB でインデックス化することができます。このワークフロー全体において、専用の Amazon EC2 インスタンスが着信キューを絶えず監視し、着信キュー内のメッセージ数に基づいて、応答時間に関する要件を満たすようにトランスコーディング Amazon EC2 インスタンスの数を動的に調整します。
使用料金は従量課金制となっています。最低料金は不要です。AWS Simple Monthly Calculator を使って月額料金をお見積りください。
Amazon SQS のリクエストは、CreateQueue、ListQueues、DeleteQueue、SendMessage、SendMessageBatch、ReceiveMessage、ChangeMessageVisibility、ChangeMessageVisibilityBatch、DeleteMessage、DeleteMessageBatch、SetQueueAttributes、GetQueueAttributes、GetQueueUrl、AddPermission、および RemovePermission です。
以下の価格は、Amazon SQS の「受信(イン)」および「送信(アウト)」で転送されるデータに基づいています。
データ受信と送信は、Amazon SQS へのデータの流入とSQSからの配信を意味しています。1つのリージョン内で、Amazon SQS および Amazon EC2 間で転送されるデータは無料です($0.00/GB)。異なるリージョンにまたがって、Amazon SQS および Amazon EC2 間でデータ転送する場合は、転送の両側で、インターネットデータ転送料金が課金されます。
* 無料使用範囲は、すべてのリージョンが毎月計算され、自動的に請求額に適用されます。無料範囲は積み立てられません。** AWS 無料使用範囲の一環として、AWS の新規お客様は、すべての AWS サービスを総合して、1ヵ月に付き、15 GB のデータ送信を1年間無料でご利用いただけます。*** データ転送送信(アウト)のデータ量は、Amazon EC2、Amazon S3、Amazon RDS、Amazon SimpleDB、Amazon SQS、Amazon SNS、Amazon DynamoDB、AWS Storage Gateway、および Amazon VPC の発信データ転送の総計です。
| 開発者用リソース |
Amazon SQS は AWS Management Console から簡単にアクセスできます。ユーザーは、ポイント・アンド・クリックのウェブベースのインターフェイスで Amazon SQS を設定・管理できます。
Amazon SQS は、使いやすく、柔軟性の高いシンプルなインターフェイスを採用しています。以下のリクエストが提供されています。
Amazon SQS に格納されているメッセージには、決められた有効期間があります。これは管理しやすいものであると同時に、すべてのメッセージの処理を保証するものです。
Amazon SQS の現在のバージョンは、WSDL バージョン 2011-10-01 です。以前のバージョンは、WSDL 2009-02-01 です。これは WSDL 2008-01-01 と下位互換性があります。2008年2月に発表された通り、WSDL バージョン 2007-05-01 および 2006-04-01 は廃止されました。これらの旧バージョンで新規ユーザーを受け付けることはいたしません。このためできるだけ速やかに、お客様のアプリケーションを、サポートされる Amazon SQS WSDL バージョンに移行することをお勧めいたします。
いくつかのライブラリまたはアプリケーションは、まだサービスの以前のバージョン(2007-05-01 または 2006-04-01)で構築される可能性があることにご注意ください。Amazon SQS を利用するライブラリまたはアプリケーションを使用する場合は、そのプロバイダと相談して、サービスのどのバージョンが使用されるかをご理解いただくようお願いいたします。