このチュートリアルでは、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 コンソールのランディングページが表示されたら、[今すぐ始める] をクリックします。このページが表示されない場合は、次のステップに進んでください。

tmt_send-receive-async-messages_1b

(クリックして拡大)

tmt_send-receive-async-messages_1b

このステップでは、Amazon SQS キューの作成と設定を行います。キューは、分散アプリケーション間またはマイクロサービス間を移動するメッセージを保存する、信頼性とスケーラビリティの高いバッファです。キューは、アプリケーションのデカップリング、マイクロサービスの接続、タスクのバッチ処理、通知の保存を行う際に使用します。

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


a.まず、店舗に届いた注文を保存するシンプルなキューを作成します。[キュー] フィールドに [Orders] と入力します。 

tmt_send-receive-async-messages_2a

(クリックして拡大)

tmt_send-receive-async-messages_2a

b.このチュートリアルでは、厳密な順序付けは必要ないため、キュータイプは変更しません。[標準キュー] を選択したままにします。 

tmt_send-receive-async-messages_2b

(クリックして拡大)

tmt_send-receive-async-messages_2b

c.キューを設定する際、保持期間、最大メッセージサイズ、配信遅延などの設定を変更できます。このチュートリアルでは、デフォルトのパラメータを使用します。[キューをクイック作成] を選択します。

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.  リスト内でキューがすでに選択されています。[キュー操作] から [メッセージを送信] を選択します。[Orders にメッセージを送信] ダイアログボックスが表示されます。

tmt_send-receive-async-messages_3a

(クリックして拡大)

tmt_send-receive-async-messages_3a

b.[Orders にメッセージを送信] ダイアログボックスが表示されます。[メッセージ本文] タブで、サンプル注文について説明する以下のテキストを入力します。

1 x Widget @ $29.99 USD
2 x Widget Cables @ $4.99

tmt_send-receive-async-messages_3b

(クリックして拡大)

tmt_send-receive-async-messages_3b

c.処理を容易にするために、[メッセージ属性] タブを選択して、このメッセージに関するオプションのメタデータをいくつか追加します。この注文に注文タイプを追加してみましょう。[名前] フィールドに「Order-Type」、[タイプ] フィールドに「String」、[] フィールドに「Online」とそれぞれ入力します。[属性を追加] をクリックします。

tmt_send-receive-async-messages_3c

(クリックして拡大)

tmt_send-receive-async-messages_3c

d.[メッセージを送信] をクリックして、メッセージをすぐに送信します。メッセージが送信されたことが、[Orders にメッセージを送信] ダイアログボックスに表示されます。[閉じる] をクリックします。

tmt_send-receive-async-messages_3d

(クリックして拡大)

tmt_send-receive-async-messages_3d

キューにメッセージを送信すると、それを別のアプリケーションで使用し、何らかの作業を行えるようになります。この例では、メッセージを取得して注文を表示した後、それを削除します。


a.[Orders] キューが、キューリスト内で選択されていることを確認します。次に、[キュー操作] から [メッセージを表示/削除] を選択します。

tmt_send-receive-async-messages_4a

(クリックして拡大)

tmt_send-receive-async-messages_4a

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

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

tmt_send-receive-async-messages_4b

(クリックして拡大)

tmt_send-receive-async-messages_4b

c.コンシューマーがメッセージを取得して処理すると、そのメッセージをキューから削除することができます。削除したいメッセージを選択し、[1 件のメッセージを削除] を選択します。

tmt_send-receive-async-messages_4c

(クリックして拡大)

tmt_send-receive-async-messages_4c

d.[メッセージを削除] ダイアログボックスが表示されます。メッセージの横のボックスにチェックを入れ、[チェックが付いたメッセージを削除] をクリックします。選択したメッセージが削除されます。[閉じる] を選択します。

tmt_send-receive-async-messages_4d

(クリックして拡大)

tmt_send-receive-async-messages_4d

ベストプラクティスとして、不要になった Amazon SQS キューは削除することをお勧めします。


a.キューリストで [Orders] キューを選択します。次に、[キュー操作] から、[キューを削除] を選択します。

tmt_send-receive-async-messages_5a

(クリックして拡大)

tmt_send-receive-async-messages_5a

b.[キューを削除] ダイアログボックスが表示されます。キュー内にメッセージが残っていてもそのキューは削除できます。[はい、キューを削除] を選択します。キューが削除されます。

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 をどのように使用してアプリケーションをデカップリングおよびスケールしているかをご覧ください。

ウェビナーを見る »

はい
いいえ