このチュートリアルでは、Amazon Simple Queue Service (Amazon SQS)を使用して非同期メッセージングをセットアップする方法を学習します。Amazon SQS は、アプリケーションコンポーネントのクラウド内での通信を可能にする AWS のサービスです。Amazon SQS コンソールを使用して、メッセージキューの作成と設定、メッセージの送信、メッセージの受信、受信したメッセージの削除、キューの削除を行います。

このチュートリアルで使用する AWS のサービスは、AWS 無料利用枠内のものです。

AWS でメッセージングを使用するにはアカウントが必要です

まずは無料で始める

AWS 無料利用枠には、Amazon Simple Queue Service の 1,000,000 件のリクエストが含まれます。

AWS 無料利用枠の詳細はこちら »

 


a. ここをクリックすると、AWS マネジメントコンソールが新しいブラウザウィンドウで開き、このステップバイステップガイドを開いたままにすることができます。  この画面が読み込まれたら、ユーザー名とパスとワードを入力して、作業を開始します。検索バーに [queue (キュー)]と入力し、[Simple Queue Service (シンプルなキューサービス)] を選択してコンソールを開きます。

tmt_send-receive-async-messages_1a

(クリックして拡大)

tmt_send-receive-async-messages_1a

b. SQS コンソールランディング ページが表示される場合は、スクリーンショットで示されているように、[Get Started Now] を選択します。このページが表示されない場合は、次の手順に進みます。

tmt_send-receive-async-messages_1b

(クリックして拡大)

tmt_send-receive-async-messages_1b

このステップでは、Amazon SQS キューを作成し、設定します。キューは、信頼性が高く、スケーラビリティに優れた、分散アプリケーションまたはマイクロサービス間で送受信されるメッセージを格納するバッファです。キューは、アプリケーションの切り離し、マイクロサービスの接続、タスクのバッチ、通知の保存に役立ちます。

このチュートリアルのユースケースでは、e コマースアプリケーションから受信する注文の保存をシミュレートします。


a. まず、ストアに配置される注文を格納する簡単なキューを作成します。[Queue Name (キュー名)] フィールドに、[Orders (注文)] を入力します。

tmt_send-receive-async-messages_2a

(クリックして拡大)

tmt_send-receive-async-messages_2a

b. このチュートリアルでは、厳格な順序を必要としないため、キュータイプの変更は行いません。[Standard Queue (スタンダードなキュー)] を選択します。

tmt_send-receive-async-messages_2b

(クリックして拡大)

tmt_send-receive-async-messages_2b

c. 保持期間、最大メッセージサイズ、および配信遅延などの設定を変更するキューを設定できます。このチュートリアルでは、パラメータをデフォルトのままにしておきます。[Quick-Create Queue (キューの簡易作成)] をクリックします。

tmt_send-receive-async-messages_2c

(クリックして拡大)

tmt_send-receive-async-messages_2c

d. 新しいキューが作成され、キューのリストで選択されます。

tmt_send-receive-async-messages_2d

(クリックして拡大)

tmt_send-receive-async-messages_2d

キューを作成した後は、それぞれの新しい注文の詳細を含む、オンラインストアからのメッセージを受信する準備ができています。


a. お客様のキューはリストですでに選択されています。[Queue Actions (キューのアクション)] から [Send a Message (メッセージを送る)] を選択します。[Send a Message to Orders (注文にメッセージをを送る)] ダイアログボックスが表示されます。

tmt_send-receive-async-messages_3a

(クリックして拡大)

tmt_send-receive-async-messages_3a

[Send a Message to Orders (注文にメッセージを送る)] ダイアログボックスが表示されます。[Message Body (メッセージの本文) ] タブで、サンプルオーダーを表すために次のテキストを入力します:

1 x ウィジェット @ 29.99 USD
2 x ウィジェットケーブル @ 4.99 USD

tmt_send-receive-async-messages_3b

(クリックして拡大)

tmt_send-receive-async-messages_3b

c. [Message Attributes (メッセージの属性)] タブを選択し、処理を簡単にするために、このメッセージに関するいくつかのオプションのメタデータを追加します。その注文に注文タイプを追加します。[Name (名前)] フィールドに[Order-Type (注文の種類)] を入力し、[Type (種類)] フィールドに文字列を入力し、[Value (値)] フィールドに [Online (オンライン) ] を入力します。[Add Attribute (属性を追加)] をクリックします。

tmt_send-receive-async-messages_3c

(クリックして拡大)

tmt_send-receive-async-messages_3c

d. 即座にメッセージを送信するには、[Send Message (メッセージを送る)] をクリックします。メッセージが送信されたことの確認が、[Send a Message to Orders (注文にメッセージを送る)] ダイアログボックスに表示されます。[閉じる] をクリックします。

tmt_send-receive-async-messages_3d

(クリックして拡大)

tmt_send-receive-async-messages_3d

メッセージをキューに送信すると、別のアプリケーションがそれをキューから取り出して使用できます。この例では、メッセージを取得して表示し、それから削除します。


a. [Orders (注文)] キューがキューのリストで選択されていることを確認します。[Queue Actions (キューアクション)] から [View/Delete Messages (メッセージを表示/削除)] を選択します。

tmt_send-receive-async-messages_4a

(クリックして拡大)

tmt_send-receive-async-messages_4a

b. [View/Delete Messages in Orders (注文のメッセージを表示/削除)] ダイアログボックスが表示されます。キューからメッセージをリクエストするときは、特定のメッセージのリクエストを指定しません。代わりに、取得するメッセージの最大数を指定します (最大 10)。

[Start Polling for messages (メッセージのポーリングを開始)] をクリックして、キューからメッセージを取得します。

tmt_send-receive-async-messages_4b

(クリックして拡大)

tmt_send-receive-async-messages_4b

c. 消費者が受信してメッセージを処理すると、メッセージはキューから削除することができます。削除するメッセージを選択して、[Delete 1 Message (1つのメッセージを削除)] を選択します。

tmt_send-receive-async-messages_4c

(クリックして拡大)

tmt_send-receive-async-messages_4c

d. [Delete Messages (メッセージを削除)] ダイアログボックスが表示されます。メッセージの横にあるチェックボックスをオンにし、[Yes, Delete Checked Messages (はい、メッセージを削除します)] をクリックします。選択したメッセージが削除されます。[閉じる] を選択します。

tmt_send-receive-async-messages_4d

(クリックして拡大)

tmt_send-receive-async-messages_4d

Amazon SQS キューを使用する必要がなくなった場合、ベストプラクティスとしてキューを削除されることをお勧めします。


a. キュー リストで、[Orders (注文)] キューを選択します。[Queue Actions (キューの操作)] から [Delete Queue (キューを削除)] を選択します。

tmt_send-receive-async-messages_5a

(クリックして拡大)

tmt_send-receive-async-messages_5a

b. [Delete Queues (キューを削除)] ダイアログボックスが表示されます。キューにメッセージが含まれていても、キューを削除することができます。[Yes, Delete Queue (はい、キューを削除します)] を選択します。キューが削除されます。

tmt_send-receive-async-messages_5b

(クリックして拡大)

tmt_send-receive-async-messages_5b

ここまでで、最初の Amazon Simple Queue Service(Amazon SQS) メッセージキューを作成して、キューへのメッセージを送信し、メッセージを取得および削除し、キューを削除することができました。これで、分散アプリケーションコンポーネントおよびマイクロサービス間で、データを保存および移動するために、Amazon SQS キューを使用する準備ができました。

Amazon Simple Queue Service を使ってメッセージを送受信する方法を学ぶことができましたが、メッセージングのスキルをさらに磨くために、次のいずれかのオプションを選択してください。

さらに学ぶ

アマゾン ウェブ サービス (AWS) の機能、コンポーネント、およびメッセージキューのためのユースケースの概要をご覧ください。 Amazon SQS のウェブページをご覧ください »

さらに追求

さまざまなタイプのキューについて調べ、Amazon Simple Queue Service の主な機能とアーキテクチャを探究してください。ドキュメントを読む »

実用例

Capital One のようなお客様が、アプリケーションを分離させ、スケールするために Amazon SQS と Amazon SNS をどのように使用してしているかをご覧ください。オンラインセミナーを視聴する »

はい
いいえ