Amazon Simple Queue Service(Amazon SQS)

Amazon Simple Queue Service(Amazon SQS)は、コンピュータ間をメッセージが移動する間に、それらを格納するための、信頼性の高い、拡張性のある、キューサービスを提供します。Amazon SQS を使用することによって、開発者は、様々なタスクを実行するアプリケーションの分散コンポーネント間で、データを簡単に移動させることができます。メッセージを失うことはなく、また各コンポーネントを常に利用可能にしておく必要はありません。Amazon SQS を使用すると、Amazon Elastic Compute Cloud(Amazon EC2)やその他の AWS インフラストラクチャウェブサービスと緊密に連携する、自動化ワークフローを簡単に構築することができます。

Amazon SQS は、Amazon のウェブスケールのメッセージング インフラストラクチャをウェブサービスとして使用することにより稼動します。インターネット上のコンピュータから、ソフトウェアをインストールしたり、特別なファイアウォール設定を行ったりすることなく、メッセージの追加や読み取りを行うことができます。Amazon SQS を使用したアプリケーションのコンポーネントは、独自に稼動させることができます。したがって、同一のネットワーク上にある必要はなく、また同一の技術で開発する必要はなく、また同時に実行する必要もありません。

サインアップが簡単、
使用料金は従量課金制です
の利用を申し込む


このページには下記のカテゴリの情報が含まれています。下へジャンプしたい場合はクリックしてください。

Amazon SQS の機能性

  • 開発者が作成できる Amazon SQS キューの数に制限はなく、メッセージ数についても無制限です。
  • キューを作成できるリージョンは、米国東部(バージニア北部)、米国西部(オレゴン)、米国西部(北カリフォルニア)、欧州(アイルランド)、アジアパシフィック(シンガポール)、アジアパシフィック(東京)、および南米(サンパウロ)の7つです。
  • メッセージ本文には、最大 64 KB のテキストを任意のフォーマットで含めることができます。
  • メッセージは、最大14日間キューに保持することができます。
  • メッセージは、送信と読み込みを同時に行うことができます。
  • メッセージが受信されると、処理されている間は「ロック済み」となります。これは他のコンピュータが、メッセージを同時に処理しないようにするためです。メッセージの処理が失敗すると、ロックが解除されてメッセージが再度利用可能になります。アプリケーションが処理にさらに時間を必要とする場合は、「ロック済み」のタイムアウトは、 ChangeMessageVisibility オペレーションで動的に変更することができます。
  • 開発者は、Amazon SQS を他者と安全に共有することができます。キューは他の AWS アカウントと匿名で共有できます。キューの共有は、IP アドレスや時刻によっても制限することができます。

サービス概要

Amazon SQS は、自己開発のメッセージングシステムの複雑さや、ライセンス制システムもしくはホストシステムの継続的経費に対して、著しい優位性を提供します。

信頼性 – AmazonSQS は、Amazon の可用性の高いデータセンター内で実行されるため、キューはアプリケーションがそれらを必要とする時はいつでも利用可能です。メッセージが失われたり、利用不能になることを防ぐため、すべてのメッセージは複数のサーバーやデータセンターに冗長的に格納されます。

シンプル – 開発者は、以下の5つの API を使用するだけで Amazon SQS を開始することができます。CreateQueue、SendMessage、ReceiveMessage、ChangeMessageVisibility、および DeleteMessage。その他の API を利用して、高度な機能を提供することもできます。

拡張性 – AmazonSQS は、無数のコンピュータが、無数のメッセージを、いつでも読み込んだり書き込んだりすることを可能にします。

安全 – 認証メカニズムが提供されており、Amazon SQS のクエリに格納されるメッセージが、無許可のアクセスから確実に守られるようになっています。

低コスト – 前払いまたは固定費用は発生しません。Amazon SQS を使用してメッセージを送信するための費用は、リクエストごとの小額の手数料とデータ転送料だけです。


Amazon SQS を、その他のAWS インフラストラクチャ ウェブサービスと共に使用する

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 は無料で始めることができます。新規および既存のお客様は、100,000の Amazon SQS キューイングを毎月無料でご利用いただけます。いくつかのアプリケーションは、この無料使用範囲内で運用できる場合があります。

リクエスト

  • 10,000 Amazon SQS リクエストに付き$0.01(1リクエストに付き$0.000001)

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 での作業

Amazon SQS は AWS Management Console から簡単にアクセスできます。ユーザーは、ポイント・アンド・クリックのウェブベースのインターフェイスで Amazon SQS を設定・管理できます。

基本キューリクエスト

Amazon SQS は、使いやすく、柔軟性の高いシンプルなインターフェイスを採用しています。以下のリクエストが提供されています。

  • CreateQueue: お客様の AWS アカウントで使用するキューを作成します。
  • ListQueues: 既存のキューをリストアップします。
  • DeleteQueue: キューの1つを削除します。
  • SendMessage: 指定されたキューにメッセージを追加します。
  • SendMessageBatch: 指定されたキューに複数のメッセージを追加します。
  • ReceiveMessage: 指定されたキューから1つ以上のメッセージを返します。
  • ChangeMessageVisibility: 以前に受け取ったメッセージの視認可能期間の期限を変更します。
  • ChangeMessageVisibilityBatch: 以前に受け取った複数のメッセージの視認可能期間の期限を変更します。
  • DeleteMessage: 指定されたキューから以前に受け取ったメッセージを削除します。
  • DeleteMessageBatch: 指定されたキューから以前に受け取った複数のメッセージを削除します。
  • SetQueueAttributes: 再度読み込まれないように読み込み後にメッセージがロックされる時間のような、キュー設定をコントロールします。
  • GetQueueAttributes: キューに含まれるメッセージ数のような、キューについての情報を取得します。
  • GetQueueUrl: キューの URL を取得します。
  • AddPermission: 指定されたキューについて、別の AWS アカウントのために共有するキューを追加します。
  • RemovePermission: 指定されたキューのために共有しているキューから、AWS アカウントを削除します。

Amazon SQS メッセージの有効期間

Amazon SQS に格納されているメッセージには、決められた有効期間があります。これは管理しやすいものであると同時に、すべてのメッセージの処理を保証するものです。

  1. メッセージを送信するのに必要なシステムは、Amazon SQS キューを発見します。そして SendMessage を使用して、新規メッセージをそれに追加します。
  2. メッセージを処理する別のシステムは、さらに多くのメッセージを処理する必要があります。そのため ReceiveMessage を呼び出し、このメッセージが返されます。
  3. ReceiveMessage によってメッセージが返されると、視認性のタイムアウトが終わるまで、それがその他の ReceiveMessage によって返されることはありません。これによって、複数のコンピュータが同一のメッセージを同時に処理しないようにすることができます。
  4. メッセージを処理するシステムがこのメッセージの作業を無事に終了すると、DeleteMessage が呼び出されます。これはキューからメッセージを削除するので、他のシステムがそれを処理することはありません。このシステムがメッセージの処理に失敗すると、視認性のタイムアウトが終了次第、別の ReceiveMessage 呼び出しによって読み込みが行われます。

以前のWSDLバージョン

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 を利用するライブラリまたはアプリケーションを使用する場合は、そのプロバイダと相談して、サービスのどのバージョンが使用されるかをご理解いただくようお願いいたします。


使用目的と制約

このサービスの利用は、Amazon Web Services カスタマーアグリーメントによって規定されています。



関連サービス
当社の技術サポートチームに直接お問い合わせください。

さらに柔軟で拡張性のあるアプリケーションのために、Amazon SQS を以下のサービスと一緒にご利用ください。




主なリソース
Amazon SQS で拡張性と信頼性のあるAmazon EC2 アプリケーションを構築をお読みください。

白書 白書を見る(pdf)



Amazon SQS は人材募集中です!



Amazon SQS で働いて、未来のメッセージングを開発しませんか。

詳細はこちら









©2011, Amazon Web Services LLC or its affiliates. All rights reserved.