AWS資格試験の模擬テストにメッセージキューが頻出するけど違いが分からない、覚えられないのでまとめておく。
AWS複数種類のメッセージキュー(MQ)が提供されているから1つずつ覚えていきます!
メッセージキューってなに??
メールやSMSメッセージ通知をする時にメッセージ作成アプリ→配信アプリに橋渡しをするキュー
メッセージキューって名前だけどメッセージ配信以外のアプリ間データ連携に利用されている
直接アプリ同士で連携してもいいけど、大量データだとアプリサーバに負荷が掛かっちゃうのでMQはよく使われるらしい
キューなので渡されたデータから処理されていく(先入先出)
Amazon SNSとは
サービスアイコンは左側から入ったデータがフィルタされて複数に流れるような
Amazon Simple Notification Serviceって名前の通り通知(SMS・プッシュ通知)によく使われる
SNSでスマホにメッセージ送信
トピック(後述)のタイプをスタンダードにするとSMS・プッシュ通知などのメッセージ通知ができ
FIFOにするとSQSのみ選択できた(こちらはアプリ間データ連携に使う時に選択するっぽい)
トピックを作成しなくても左メニューSMSを選択して電話番号を登録
ワンタイムパスワードで認証後、テストSMSが送信できる
今度はスタンダードタイプのトピックから送ってみる
トピックを選択してSMS送信をサブスクリプションに設定すると、こんなメッセージが届いた(一番下)
トピックから送信するとメッセージの先頭に「トピック名>」って付くみたい
アプリからSMS通知するには
携帯電話に発行する - Amazon Simple Notification Service
公式ドキュメントにコードから電話番号を動的に渡してAmazon SNSからSMS通知できるみたい
あらかじめトピックを作っておかなくてもSMSが送れるように見える
Amazon SNS トピックを作成する - Amazon Simple Notification Service
トピックは配信先のグループなので「メッセージ配信+配信内容を分析するRedshiftにデータ登録」を実現したい時に
トピックのサブスクリプションにSMS通知、kinesisFirehorseを登録してあげればトピックでメッセージ発行をすると
SMS通知が届き、一方ではFirehorse経由でRedshiftにデータが登録されました〜となる