SlideShare a Scribd company logo
1 of 84
Download to read offline
Amazon  Simple  Queue  Service(SQS)
Amazon  Simple  Notification  Service(SNS)
AWS  Black  Belt  Tech  Webinar  2015
アマゾンデータサービスジャパン株式会社
ソリューションアーキテクト  篠原  英治
2015年年3⽉月4⽇日
!   Name:
  ・Eiji  Shinohara  (篠原  英治)
!   Role:
・Solutions  Architect  for  Startups
・Amazon  CloudSearch  Subject  Matter  Expert
Who  am  I?
アジェンダ
•  Amazon  Simple  Queue  Service  (SQS)
•  Amazon  Simple  Notification  Service  (SNS)
•  SQSとSNSを組み合わせた構成
•  まとめ
アジェンダ
•  Amazon  Simple  Queue  Service  (SQS)
•  Amazon  Simple  Notification  Service  (SNS)
•  SQSとSNSを組み合わせた構成
•  まとめ
Amazon  Simple  Queue  Service  (SQS)
•  ⻑⾧長い歴史を持つ『メッセージキュー』サービス
https://aws.amazon.com/blogs/aws/amazon_̲simple_̲q/
2006年年7⽉月13⽇日
メッセージキューサービスとは?
•  Message  Queue
–  ソフトウェアの世界では古くからある概念念。MQと略略されることも
–  http://ja.wikipedia.org/wiki/メッセージキュー
–  Amazon  SQSはPull型のMQサービス
•  受信側はSQSに問い合わせてメッセージ取得
送信 受信
polling
Amazon  SQSはAWSフルマネージドな分散キュー
•  ⾼高い信頼性:  複数のサーバー/データセンターにメッセージを保持
•  スケーラブル:  多数の送信者/受信者に対応
•  ⾼高スループット:  メッセージが増加しても⾼高スループットを出し続ける
•  低コスト:  毎⽉月の無料料枠  +  使った分だけの従量量課⾦金金
Massive  Message  Processing  with  Amazon  SQS  and  Amazon  DynamoDB  (ARC301)  |  AWS  re:Invent  2013
SQSを使う利利点:  疎結合  –  Loosely  Coupled
•  例例えば、以下のようなケース
–  ユウタさん:  今、⼤大量量のデータ登録をしたい。夜は⼤大事な予定がある
–  ヒロシさん:  今は負荷が⾼高いので困る。⼀一定間隔で少しずつなら…
ユウタさん
今から先⽉月のログデータ150万件
投⼊入しますね
ヒロシさん
今はデータベースの負荷が⾼高いので
夜にやっていただけないですか??
Amazon SQS
SQSを使う利利点:  疎結合  –  Loosely  Coupled
•  Amazon  SQSを⽤用いることでユウタさんもヒロシさんもHappyに!
–  仮に、ヒロシさんが管理理するデータベースがメンテナンス中でも、
ユウタさんは気にせず作業してOK
ユウタさん
得意のJavaでマルチスレッドでSQS
にデータを⾼高速に投⼊入!
AWS  SDKを使えば実装は簡単☺
ヒロシさん
メッセージ内容の精査や画像チェックなどの
処理理が重いので、2つのインスタンスで!
データベースの負荷を⾒見見ながらループの間隔
を調整出来るようにしておく
マルチスレッドで投⼊入
メッセージ取得
データベースの負荷に
合わせた間隔で登録
Java
PHP
PHP
Amazon  SQSをはじめるのは簡単です
•  Management  Console編
Amazon  SQSをはじめるのは簡単です
•  Management  Console編  –  キューの作成
Amazon  SQSをはじめるのは簡単です
•  Management  Console編  –  キューの作成:  キューの名前を⼊入⼒力力
Amazon  SQSをはじめるのは簡単です
•  Management  Console編  –  メッセージの送信
Amazon  SQSをはじめるのは簡単です
•  Management  Console編  –  メッセージの送信
Amazon  SQSをはじめるのは簡単です
•  Management  Console編  –  メッセージの受信:  ブラウザ上でポーリング
Amazon  SQSをはじめるのは簡単です
•  Management  Console編  -‐‑‒  メッセージの受信:  Message  Bodyの表⽰示
Amazon  SQSをはじめるのは簡単です
•  Management  Console編  -‐‑‒  メッセージの削除
Amazon  SQSをはじめるのは簡単です
•  Management  Console編  -‐‑‒  キューの削除
Amazon  SQSを使う上で覚えておきたい識識別⼦子
•  Queue  URL
–  キューを作成する際に払い出されるURL
–  https://リージョン.queue.amazonaws.com/アカウントID/キュー名
•  Message  ID
–  システムで割り当てられたID
•  Receipt  Handle
–  メッセージの削除やVisibilityの変更更に使⽤用
–  メッセージを受信する際に取得
•  受信されたメッセージのみ削除やVisibilityの変更更が可能
–  同じメッセージを受信する度度に異異なる→最新のものをつかうこと
Amazon  SQSをはじめるのは簡単です
•  AWS  CLI編
–  キューの作成
$  aws  sqs  create-‐‑‒queue  -‐‑‒-‐‑‒queue-‐‑‒name  blackbelt2015
{
        “QueueUrl”:  “https://リージョン.queue.amazonaws.com/アカウントID/blackbelt2015"
}
Amazon  SQSをはじめるのは簡単です
•  AWS  CLI編
–  キューの作成:  作成されたことを確認
$  aws  sqs  list-‐‑‒queues
{
        "QueueUrls":  [
                “https://リージョン.queue.amazonaws.com/アカウントID/blackbelt2015"
        ]
}
Amazon  SQSをはじめるのは簡単です
•  AWS  CLI編
–  メッセージの送信
$  aws  sqs  send-‐‑‒message  
-‐‑‒-‐‑‒queue-‐‑‒url  https://リージョン.queue.amazonaws.com/アカウントID/blackbelt2015  
-‐‑‒-‐‑‒message-‐‑‒body  'Hello  World!'
{
        "MD5OfMessageBody":  "ed076287532e86365e841e92bfc50d8c",
        "MessageId":  "2db5a1de-‐‑‒8bc5-‐‑‒4976-‐‑‒9b0c-‐‑‒68749bffee1a"
}
Amazon  SQSをはじめるのは簡単です
•  AWS  CLI編
–  メッセージの受信
$  aws  sqs  receive-‐‑‒message  
-‐‑‒-‐‑‒queue-‐‑‒url  https://リージョン.queue.amazonaws.com/アカウントID/blackbelt2015
{
        "Messages":  [
                {
                        "Body":  "Hello  World!",
                        “ReceiptHandle”:  “AQEBv3p27X8o44Nt4J0  〜~略略〜~  +8lujWoy6Ks=",
                        "MD5OfBody":  "ed076287532e86365e841e92bfc50d8c",
                        "MessageId":  "2db5a1de-‐‑‒8bc5-‐‑‒4976-‐‑‒9b0c-‐‑‒68749bffee1a"
                }
        ]
}
Amazon  SQSをはじめるのは簡単です
•  AWS  CLI編
–  メッセージの削除
aws  sqs  delete-‐‑‒message  
-‐‑‒-‐‑‒queue-‐‑‒url  https://リージョン.queue.amazonaws.com/アカウントID/blackbelt2015  
-‐‑‒-‐‑‒receipt-‐‑‒handle  "AQEBv3p27X8o44Nt4J0  〜~略略〜~  +8lujWoy6Ks="
Amazon  SQSをはじめるのは簡単です
•  AWS  SDK編  
–  キューの作成
–  メッセージの送信
AmazonSQS  sqs  =  new  AmazonSQSClient();
CreateQueueRequest  createQueueRequest  =  new  CreateQueueRequest("MyQueue");
String  myQueueUrl  =  sqs.createQueue(createQueueRequest).getQueueUrl();
sqs.sendMessage(new  SendMessageRequest(myQueueUrl,  ”Hello  World!  "));
Amazon  SQSをはじめるのは簡単です
•  AWS  SDK編
–  メッセージの受信
–  メッセージの削除
ReceiveMessageRequest  receiveMessageRequest  =  new  ReceiveMessageRequest(myQueueUrl);
List<Message>  messages  =  sqs.receiveMessage(receiveMessageRequest).getMessages();
for  (Message  message  :  messages)  {
//  取得したメッセージを元に処理理
}
String  messageRecieptHandle  =  messages.get(0).getReceiptHandle();
sqs.deleteMessage(new  DeleteMessageRequest(myQueueUrl,  messageRecieptHandle));
Amazon  SQSをはじめるのは簡単です
•  AWS  SDK編
–  キューの削除
–  AWS  SDKは2015年年3⽉月現在下記の⾔言語をサポート
•  Java  http://aws.amazon.com/jp/sdk-‐‑‒for-‐‑‒java/
•  Ruby  http://aws.amazon.com/jp/sdk-‐‑‒for-‐‑‒ruby/
•  Python  http://aws.amazon.com/jp/sdk-‐‑‒for-‐‑‒python/
•  .NET  http://aws.amazon.com/jp/sdk-‐‑‒for-‐‑‒net/
•  PHP  http://aws.amazon.com/jp/sdk-‐‑‒for-‐‑‒php/
•  JavaScript  http://aws.amazon.com/jp/sdk-‐‑‒for-‐‑‒browser/
•  Node.js    http://aws.amazon.com/jp/sdk-‐‑‒for-‐‑‒node-‐‑‒js/
•  Go(Coming  Soon!)  https://github.com/awslabs/aws-‐‑‒sdk-‐‑‒go
sqs.deleteQueue(new  DeleteQueueRequest(myQueueUrl));
Amazon  SQSのコスト
•  無料料利利⽤用枠
–  (SQSご利利⽤用全ユーザー)  毎⽉月100万キューイングリクエストまで無料料
•  SQSリクエスト100万件につき0.476  USD
–  複数メッセージを1つのリクエストとしてバッチ送信することも可能
•  データ転送
–  送信(アウト)
•  最初の1GB/⽉月:0  USD
〜~略略〜~
•  次の350TBまで  /⽉月:0.120  USD  GBあたり
•  350TBを越える場合の価格はお問い合わせください
•  同⼀一リージョン内のSQSとEC2インスタンスのデータ転送は無料料
効率率率良良くAmazon  SQSを使う
•  Visibility  Timeout  +  EC2  Spot  Instance
•  ⼀一度度のAPIコールで10件のメッセージを送信/受信
•  Long  PollでReceive  Messageコールの頻度度を抑える
http://www.slideshare.net/AmazonWebServices/advanced-‐‑‒topics-‐‑‒session-‐‑‒4-‐‑‒architecting-‐‑‒forhighavailability
Amazon SQS
効率率率良良くAmazon  SQSを使う
•  Visibility  Timeoutとは
–  メッセージ受信者が複数の場合
送信
受信1
受信2
受信3
Amazon SQS
効率率率良良くAmazon  SQSを使う
•  Visibility  Timeoutとは
–  受信1がメッセージを取得
送信
受信1
受信2
受信3
Amazon SQS
効率率率良良くAmazon  SQSを使う
•  Visibility  Timeoutとは
–  30秒間(デフォルト設定。変更更可能。最⼤大12時間)、受信2と受信
3にはメッセージを⾒見見せない(in  Flight)
送信
受信1
受信2
受信3
X
X
Amazon SQS
効率率率良良くAmazon  SQSを使う
•  Visibility  Timeoutとは
–  受信1がキューからメッセージを削除せず、タイムアウトした場
合はどの受信サーバーからもメッセージが受信可能に
送信
受信1
受信2
受信3
効率率率良良くAmazon  SQSを使う
•  Amazon  EC2  –  Spot  Instances
–  Amazon  EC2  の価格をお客様が指定できるシステム
–  ⼊入札価格がその時点のスポット価格を上回っていれば、インスタンス
を実⾏行行できる
•  スポット価格は、需要と供給の関係に基づいてリアルタイムで変動
•  スポット価格は⼀一般的に、オンデマンド価格を⼤大幅に下回る
(2015年年3⽉月時点で、平均で約8割下回っている)
–  「⼊入札額  >=  スポット価格」なら指定したインスタンスが起動
–  「⼊入札額  <  スポット価格」となるとインスタンスがターミネート
–  1時間未満の使⽤用料料は課⾦金金されない
効率率率良良くAmazon  SQSを使う
•  Visibility  Timeout  +  EC2  Spot  Instances
–  Spot  Instanceを使っていて、受信1がターミネートされても、
Visibility  Timeout後に他のインスタンスが処理理すれば良良い
–  コスト削減効果:  ⼤大
Amazon SQS
送信
受信1
受信2
受信3
効率率率良良くAmazon  SQSを使う
•  メッセージ送信/受信は1度度にMAX10件
–  SQSへのリクエストが少なければ少ないほどコスト効率率率が良良い
Amazon SQS
受信1
受信2
受信3
送信1
送信2
送信3
x  10
x  10
x  10
x  10
x  10
x  10
効率率率良良くAmazon  SQSを使う
•  メッセージ送信/受信は1度度にMAX10件
–  送信例例:  AWS  CLI  で  send-‐‑‒message-‐‑‒batch  を利利⽤用
$  aws  sqs  send-‐‑‒message-‐‑‒batch
-‐‑‒-‐‑‒queue-‐‑‒url  https://リージョン.queue.amazonaws.com/アカウントID/blackbelt2015  
-‐‑‒-‐‑‒entries  '[{  "Id":  "01",  "MessageBody":  "test  message  01"  },{  "Id":  "02",  
"MessageBody":  "test  message  02"  },…]ʼ’
{
        "Successful":  [
                {
                        "MD5OfMessageBody":  "fa27aa462b939f0c8cf67189198f1b2d",
                        "Id":  "01",
                        "MessageId":  "041d1604-‐‑‒1c80-‐‑‒4440-‐‑‒90bf-‐‑‒598db00cf752"
                },  ...
                〜~略略〜~
効率率率良良くAmazon  SQSを使う
•  メッセージ送信/受信は1度度にMAX10件
–  受信例例:  AWS  CLI  で  receive-‐‑‒message  の-‐‑‒-‐‑‒max-‐‑‒number-‐‑‒of-‐‑‒
messagesオプションを利利⽤用(デフォルト1。最⼤大10)
$  aws  sqs  receive-‐‑‒message
-‐‑‒-‐‑‒queue-‐‑‒url  https://リージョン.queue.amazonaws.com/アカウントID/blackbelt2015  
-‐‑‒-‐‑‒max-‐‑‒number-‐‑‒of-‐‑‒messages  10
{
        "Messages":  [
                {
                        "Body":  "test  message  01",
                        "ReceiptHandle":  "AQEB  〜~略略〜~  7g/jA=",
                        "MD5OfBody":  "fa27aa462b939f0c8cf67189198f1b2d",
                        "MessageId":  "041d1604-‐‑‒1c80-‐‑‒4440-‐‑‒90bf-‐‑‒598db00cf752"
                },…
効率率率良良くAmazon  SQSを使う
•  クライアントサイドでのバッファリング
–  AWS  SDK  for  Java  の  AmazonSQSAsyncClient  を利利⽤用
–  最⼤大10リクエストのバッファリング処理理を簡単に実現可能
–  下記のパラメータを設定し微調整することが可能
•  maxBatchOpenMs:  最⼤大待ち時間をミリ秒単位で指定
•  maxBatchSize:  1回のリクエストのメッセージの最⼤大数を指定
効率率率良良くAmazon  SQSを使う
•  Long  Polling
–  受信者が頻繁にSQSに対してReceive  Messageコールをするとリク
エスト回数がかさみ、コスト効率率率がよくない
–  “メッセージが取得出来るまで”待つ時間を設定できる(0秒から20秒)
効率率率良良くAmazon  SQSを使う
•  Long  Polling  と  Short  Polling  の使い分け
–  基本的に  Long  Polling  推奨(呼び出し元のCPU負荷,  リクエスト課⾦金金等)
•  複数のキューを使う場合は、マルチスレッドでPolling
–  Receive  Message呼び出し後、直ちに応答が必要な場合はShort  Polling
•  例例えば複数のキューを単⼀一スレッドでポーリングする場合、Long  
Pollingするとその間、他のキューにアクセスできない
Polling処理理
Polling処理
スレッド1
スレッド2
Polling処理理 Polling処理 スレッド1
前回のWebinar以降降にローンチされた機能の紹介
•  SQS  Message  Attributes
•  AWS  CloudTrail対応
•  Delete  All  Messages  in  SQS  Queue
•  SQS  Client  Library  for  Java  Messaging  Service  (JMS)
前回のWebinar以降降にローンチされた機能の紹介
•  Message  Attributes  –  2014年年5⽉月6⽇日
–  メッセージBodyとは別に属性を10個まで定義可能に
–  属性はName、Type(String/Number/Binary)、Valueで定義
•  Typeはカスタム可能(例例:  float,  int)
前回のWebinar以降降にローンチされた機能の紹介
•  AWS  CloudTrail対応  –  2014年年7⽉月16⽇日
–  キューの設定変更更等に関するAPIコールのログをS3に保存
–  CloudTrailは2014年年7⽉月から東京リージョンで利利⽤用可能
前回のWebinar以降降にローンチされた機能の紹介
•  Delete  All  Messages  in  SQS  Queue  –  2014年年12⽉月8⽇日
–  PurgeQueue  アクションでキュー内のメッセージの⼀一括削除が可能に
前回のWebinar以降降にローンチされた機能の紹介
•  SQS  Client  Library  for  Java  Messaging  Service  (JMS)  –  2014
年年12⽉月29⽇日
–  JMS:  Javaでメッセージングサービスを利利⽤用するための標準API
–  SQSをJMSプロバイダーとして利利⽤用可能に
•  ご⾃自⾝身でJMSクラスタサーバーの保守運⽤用が不不要に!
Amazon  SQSを使う上での注意点
•  Amazon  SQSは⾼高い可⽤用性と信頼性を実現した分散システム
•  順序はベストエフォート
•  出来る限り順序を維持しようとするが保証しない
•  タイムスタンプやシーケンス番号をメッセージに
•  同じメッセージを複数回受信する可能性がある(少なくとも1回の配信)
•  SQSはメッセージを複数のサーバ/データセンタに保持
•  メッセージ削除時にサーバが⼀一時故障中の場合、復復旧後に受信され
る可能性がある
•  同じメッセージを複数回処理理した場合に悪影響を出さないように、
冪等性を意識識したアプリケーションの設計を⾏行行う
Amazon  SQSの上限
•  メッセージ保持期限
•  削除されないメッセージはデフォルトで4⽇日間保持。保持期間は60秒
から14⽇日の間で変更更可能
•  In  Flight(受信されたメッセージ&Visibility  Timeout内)メッセージ
•  1つのキューごとに最⼤大120,000In  Flightメッセージ
•  超えるとOverLimitエラー
•  メッセージの最⼤大サイズは256KB
•  2013年年6⽉月に64KB→256KBに
•  画像やムービー等の⼤大容量量データには適していない
–  S3に配置しメッセージ内にそのパスを記述
現場で使える実践的な機能
•  時間をおいてからメッセージを⾒見見せたい
•  Delay  Queue  と  Message  Timers
•  何度度受信されてもキューに残り続けるメッセージをなんとかしたい
•  Dead  Letter  Queue
•  SQS  を使って簡単にスケーラブルなバッチ処理理基盤を構築したい
•  Elastic  Beanstalk:  Worker  Tier
•  セキュリティ
•  AWS  Identity  and  Access  Management  (IAM)連携
•  モニタリング
•  CloudWatchでの監視
時間をおいてからメッセージを⾒見見せたい
•  Delay  Queue
–  キューに送られた新しいメッセージをある⼀一定秒の間⾒見見えなくする
–  0〜~900秒で設定
–  設定すると、そのキューに送信されるメッセージ全てに適⽤用
時間をおいてからメッセージを⾒見見せたい
•  Message  Timers
–  個々のメッセージに対して、送信されてから⾒見見えるようになるまで
の時間を設定
–  0〜~900秒で設定
–  Message  TimersはDelay  Queueの遅延時間の設定を上書き
Send  Message  
Request
Delay  Queue  30秒
Message  Timers  60秒
メッセージが⾒見見え
るようになる時間
キューに残り続けるメッセージをなんとかしたい
•  Dead  Letter  Queue
–  メッセージを、指定回数(1〜~1000で指定)受信後に、⾃自動で別の
キュー(Dead  Letter  Queue)に移動する機能
–  デフォルトは無効0〜~900秒で設定
①メッセージ受信
②タスク失敗
③メッセージが削除されず
キューに残り続ける
④指定回数受信
後に移動
キュー
Dead  Letter  Queue
スケーラブルなバッチ処理理基盤
•  AWS  Elastic  Beanstalk:  Worker  Tier
–  SQS  +  Auto  Scalingでスケーラブルなバッチ処理理基盤
Sqsd
(deamon)
Elastic Beanstalk
Application
http://localhost:80/xxx
EC2 Instance
Auto Scaling group
CloudWatch
Auto Scaling
スケーラブルなバッチ処理理基盤
•  Job  Observerパターン
–  http://aws.clouddesignpattern.org/index.php/CDP:Job_̲Observerパターン
–  AWSブログ  
http://aws.typepad.com/aws_̲japan/2015/01/auto-‐‑‒scaling-‐‑‒with-‐‑‒sqs.html
セキュリティ
•  AWS  Identity  and  Access  Management  (IAM)連携
–  設定例例
»  特定のリソースやアクセス元のみアクセス許可/拒否
»  特定の時間帯のみアクセス許可
{      
      "Version":"2012-‐‑‒11-‐‑‒05",
      "Id":"cd3ad3d9-‐‑‒2776-‐‑‒4ef1-‐‑‒a904-‐‑‒4c229d1642ee",
      "Statement"  :  [
            {
                  "Sid":"1",  
                  "Effect":"Allow",                      
                  "Principal"  :  {
                        "aws":  "111122223333"
                  },
                  "Action":["sqs:SendMessage","sqs:ReceiveMessage"],  
                  "Resource":  "arn:aws:sqs:us-‐‑‒east-‐‑‒1:444455556666:queue2",
                  "Condition"  :  {
                        "IpAddress"  :  {
                              "aws:SourceIp":"10.52.176.0/24"
                        },
                          "DateLessThan"  :  {
                              "aws:CurrentTime":"2009-‐‑‒06-‐‑‒30T12:00Z”
モニタリング
•  CloudWatchでの監視
•  利利⽤用可能メトリクス
NumberOfMessageSent キューに追加されたメッセージ数
SentMessageSize キューに追加されたメッセージの合計サイズ
NumberOfMessageReceived ReceiveMessageコールによって返されたメッセージ数
NumberOfEmptyReceives ReceiveMessageによって返さなかったメッセージ数
NumberOfMessagesDeleted キューから削除されたメッセージ数
ApproximateNumberOfMessageDelayed Delayされすぐに読み込みができなかったメッセージ数。Delay  Queueまたは
メッセージ送信時のDelay設定によるもの
ApproximateNumberOfMessageVisible キューから利利⽤用可能になったメッセージ数
ApproximateNumberOfMessageNotVisible クライアントから送信されたが削除されていないか、visibility  winodowのendま
で到達していないメッセージ数
アジェンダ
•  Amazon  Simple  Queue  Service  (SQS)
•  Amazon  Simple  Notification  Service  (SNS)
•  SQSとSNSを組み合わせた構成
•  まとめ
Amazon  Simple  Notification  Service  (SNS)
•  Amazon  SNSはマルチプロトコルに対応したフルマネージド通知サービス
Publish
1.Topicに
メッセージを送信
2.  マルチプロトコルで通知
Amazon  SNS
Publisher Topic
HTTP(S)
EMAIL
SQS
Mobile Push
Subscriber
Amazon  Simple  Notification  Service  (SNS)
•  Mobile  Pushに関しては次週(2015年年3⽉月11⽇日)のAWS  Black  Belt  
Tech  Webinarで詳細にご案内します!
Amazon SNS
Mobile Push
Apple Devices
Google Devices
Amazon Kindle Fire
Devices
Amazon  SNSのコスト
•  Amazon  SNSを使えば安価で簡単に通知が送れます
•  無料料枠:  
–  モバイルプッシュ通知:  100万件
–  Email/Email-‐‑‒JSON:  1,000件
–  HTTP/HTTPS:  100,000件
–  Simple  Queue  Service(SQS):  無料料
•  リクエスト単価(64  KB  のチャンク毎に  1リクエストとして課⾦金金)
–  モバイルプッシュ通知:  100万件あたり0.5  USD
–  Email/Email-‐‑‒JSON:  100,000件あたり2  USD
–  HTTP/HTTPS:  100万件あたり0.6  USD
–  Simple  Queue  Service(SQS):  無料料
•  ※  SMSは東京リージョンではサービスを提供しておりません
Amazon  SNSをはじめるのは簡単です
•  Management  Consoleでは  Mobile  Services  の中に
Amazon  SNSをはじめるのは簡単です
1.  Topicの作成
2.  TopicをSubscribe
3.  Topicへ向けてメッセージをPublish
Amazon  SNSをはじめるのは簡単です
1.  Topicの作成
–  TopicのARN(Amazon  Resource  Name)が⽣生成される。リトライポリシー等も設定可能
Amazon  SNSをはじめるのは簡単です
2.  TopicのSubscribe
–  プロトコルを選択
–  Endpoint側でConfirmすることでメッセージ送信可能に
Amazon  SNSをはじめるのは簡単です
3.  Topicへ向けてメッセージをPublish
–  ブラウザからPublish
–  メッセージの受信(プロトコルでEmailを選択した場合)
Amazon  Simple  Notification  Service  (SNS)
•  AWSの様々なサービスと連携して通知可能
–  利利⽤用例例
•  Amazon  CloudWatch
–  Billing  Alertの通知
•  Amazon  SES
–  Bounce/Complaintのフィードバック通知
•  Amazon  S3
–  ファイルがアップロードされた時の通知
•  Amazon  Elastic  Transcoder
–  動画変換処理理完了了/失敗時の通知
Amazon  SNSと他サービスの連携
•  Amazon  CloudWatchのBilling  Alertの通知
Amazon  SNSと他サービスの連携
•  Amazon  SESのBounce/Complaintのフィードバック通知
Amazon  SNSと他サービスの連携
•  Amazon  S3にファイルがアップロードされた時の通知
Amazon  SNSと他サービスの連携
•  Amazon  Elastic  Transcoderでの動画変換処理理完了了/失敗時の通知
•  HTTPS  enhancements
–  Server  Name  Indication  (SNI)  サポート
–  Basic認証  および  Digest認証のサポート
•  Message  Attributes
•  Time  To  Live  (TTL)  サポート
前回のWebinar以降降にローンチされた機能の紹介
•  HTTPS  enhancements  –  2014年年4⽉月28⽇日
–  Server  Name  Indication  (SNI)サポート
•  SNIはSSL/TLSの拡張仕様。SSLハンドシェイク時にクライアン
トがアクセスしたいホスト名を伝えることで、サーバ側がグ
ローバルIPごとではなくホスト名によって異異なる証明書を使い
分けることを可能に
•  http://ja.wikipedia.org/wiki/Server_̲Name_̲Indication
–  Basic認証  および  Digest認証のサポート
•  HTTP  POST  で  HTTPS  URLにユーザー名とパスワードを指定
•  http://www.rfc-‐‑‒editor.org/info/rfc2617
前回のWebinar以降降にローンチされた機能の紹介
•  Message  Attributes  –  2014年年6⽉月12⽇日
–  String,  Number,  Binaryの属性をサポート
–  Mobile  Push⽤用Reserved  Message  Attributes
•  Baidu
•  MPNS
•  WNS
前回のWebinar以降降にローンチされた機能の紹介
•  TTLサポート  –  2014年年7⽉月10⽇日
–  Time  To  Live
•  メッセージ単位で⽣生存期間を設定
–  ⽣生存期間が過ぎて配信されていないメッセージは削除
•  例例えば、⾶飛⾏行行機を降降りた後に受け取る、既に終わったフラッ
シュセールのメッセージ
前回のWebinar以降降にローンチされた機能の紹介
アジェンダ
•  Amazon  Simple  Queue  Service  (SQS)
•  Amazon  Simple  Notification  Service  (SNS)
•  SQSとSNSを組み合わせた構成
•  まとめ
•  Cloud  Design  Pattern:  Fanoutパターン
–  http://aws.clouddesignpattern.org/index.php/CDP:Fanoutパターン
SQSとSNSを組み合わせた構成
•  画像をフォームからアップロードして登録
–  画像ファイルはS3
–  画像のコメントはRDS
–  画像のメタデータはDynamoDB
SQSとSNSを組み合わせた構成
①リクエストを受けた
WebアプリはSNSトピックへ
②SNSから
それぞれのSQSキューへ
Amazon  S3
Amazon  RDS
DynamoDB
③SQSキューからパラレルにそれぞれのデータストアへ
•  画像をフォームからアップロードして登録
–  画像ファイルはS3
–  画像のコメントはRDS  ←  ボトルネックであることが発覚したら…
–  画像のメタデータはDynamoDB
SQSとSNSを組み合わせた構成
①リクエストを受けた
WebアプリはSNSトピックへ
②SNSから
それぞれのSQSキューへ
Amazon  S3
Amazon  RDS
DynamoDB
③SQSキューからパラレルにそれぞれのデータストアへ
スケールアップ&アウト
•  SNS→SQSは無料料です
–  リクエスト単価(64  KB  のチャンク毎に  1リクエストとして課⾦金金)
•  Simple  Queue  Service(SQS):  無料料
SQSとSNSを組み合わせた構成
①リクエストを受けた
WebアプリはSNSトピックへ
②SNSから
それぞれのSQSキューへ
Amazon  S3
Amazon  RDS
DynamoDB
③SQSキューからパラレルにそれぞれのデータストアへ
アジェンダ
•  Amazon  Simple  Queue  Service  (SQS)
•  Amazon  Simple  Notification  Service  (SNS)
•  SQSとSNSを組み合わせた構成
•  まとめ
•  Amazon  SQS
–  信頼性が⾼高く、スケーラビリティに優れ、⼗十分に管理理されたメッ
セージキューサービス
–  簡単にコスト効率率率良良く、疎結合で柔軟なシステムを構築することが
できる
•  Amazon  SNS
–  信頼性が⾼高く、スケーラビリティに優れ、⼗十分に管理理されたプッ
シュメッセージングサービス
–  簡単にコスト効率率率良良く、マルチプロトコルで通知ができる
–  AWSの様々なサービスと連携して通知可能
まとめ
参考資料料
•  Amazon  SQS  Document
–  http://aws.amazon.com/jp/documentation/sqs/
•  Amazon  SQS  FAQ
–  http://aws.amazon.com/jp/sqs/faqs/
•  Amazon  SNS  Document
–  http://aws.amazon.com/jp/documentation/sns/
•  Amazon  SNS  FAQ
–  http://aws.amazon.com/jp/sns/faqs/
•  AWSクラウドデザインパターン
–  http://aws.clouddesignpattern.org/index.php
•  Massive  Message  Processing  with  Amazon  SQS  and  Amazon  DynamoDB  
(ARC301)  |  AWS  re:Invent  2013
–  https://www.youtube.com/watch?v=RJCpjRTvo_̲w
Webinar資料料の配置場所
•  AWS  クラウドサービス活⽤用資料料集
–  http://aws.amazon.com/jp/aws-‐‑‒jp-‐‑‒introduction/
公式Twitter/Facebook
AWSの最新情報をお届けします
@awscloud_̲jp
検索索
最新技術情報、イベント情報、お役⽴立立ち情報、お得なキャンペーン情報などを
⽇日々更更新しています!
もしくは
http://on.fb.me/1vR8yWm

More Related Content

What's hot

20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)Amazon Web Services Japan
 
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model  20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model Amazon Web Services Japan
 
20190326 AWS Black Belt Online Seminar Amazon CloudWatch
20190326 AWS Black Belt Online Seminar Amazon CloudWatch20190326 AWS Black Belt Online Seminar Amazon CloudWatch
20190326 AWS Black Belt Online Seminar Amazon CloudWatchAmazon Web Services Japan
 
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用Amazon Web Services Japan
 
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続Amazon Web Services Japan
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介Amazon Web Services Japan
 
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)Amazon Web Services Japan
 
AWS Black Belt Techシリーズ リザーブドインスタンス & スポットインスタンス
AWS Black Belt Techシリーズ リザーブドインスタンス & スポットインスタンスAWS Black Belt Techシリーズ リザーブドインスタンス & スポットインスタンス
AWS Black Belt Techシリーズ リザーブドインスタンス & スポットインスタンスAmazon Web Services Japan
 
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...Amazon Web Services Japan
 
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration ServiceAmazon Web Services Japan
 
20190522 AWS Black Belt Online Seminar AWS Step Functions
20190522 AWS Black Belt Online Seminar AWS Step Functions20190522 AWS Black Belt Online Seminar AWS Step Functions
20190522 AWS Black Belt Online Seminar AWS Step FunctionsAmazon Web Services Japan
 
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)Amazon Web Services Japan
 
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...Amazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAmazon Web Services Japan
 
20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems ManagerAmazon Web Services Japan
 
AWS Black Belt Online Seminar AWS Key Management Service (KMS)
AWS Black Belt Online Seminar AWS Key Management Service (KMS) AWS Black Belt Online Seminar AWS Key Management Service (KMS)
AWS Black Belt Online Seminar AWS Key Management Service (KMS) Amazon Web Services Japan
 
20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-RayAmazon Web Services Japan
 
20200721 AWS Black Belt Online Seminar AWS App Mesh
20200721 AWS Black Belt Online Seminar AWS App Mesh20200721 AWS Black Belt Online Seminar AWS App Mesh
20200721 AWS Black Belt Online Seminar AWS App MeshAmazon Web Services Japan
 
20191127 AWS Black Belt Online Seminar Amazon CloudWatch Container Insights で...
20191127 AWS Black Belt Online Seminar Amazon CloudWatch Container Insights で...20191127 AWS Black Belt Online Seminar Amazon CloudWatch Container Insights で...
20191127 AWS Black Belt Online Seminar Amazon CloudWatch Container Insights で...Amazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 AWS Storage Gateway
AWS Black Belt Online Seminar 2017 AWS Storage GatewayAWS Black Belt Online Seminar 2017 AWS Storage Gateway
AWS Black Belt Online Seminar 2017 AWS Storage GatewayAmazon Web Services Japan
 

What's hot (20)

20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
 
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model  20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
 
20190326 AWS Black Belt Online Seminar Amazon CloudWatch
20190326 AWS Black Belt Online Seminar Amazon CloudWatch20190326 AWS Black Belt Online Seminar Amazon CloudWatch
20190326 AWS Black Belt Online Seminar Amazon CloudWatch
 
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
 
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
 
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
 
AWS Black Belt Techシリーズ リザーブドインスタンス & スポットインスタンス
AWS Black Belt Techシリーズ リザーブドインスタンス & スポットインスタンスAWS Black Belt Techシリーズ リザーブドインスタンス & スポットインスタンス
AWS Black Belt Techシリーズ リザーブドインスタンス & スポットインスタンス
 
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
 
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
 
20190522 AWS Black Belt Online Seminar AWS Step Functions
20190522 AWS Black Belt Online Seminar AWS Step Functions20190522 AWS Black Belt Online Seminar AWS Step Functions
20190522 AWS Black Belt Online Seminar AWS Step Functions
 
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
 
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
 
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
 
20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager
 
AWS Black Belt Online Seminar AWS Key Management Service (KMS)
AWS Black Belt Online Seminar AWS Key Management Service (KMS) AWS Black Belt Online Seminar AWS Key Management Service (KMS)
AWS Black Belt Online Seminar AWS Key Management Service (KMS)
 
20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray
 
20200721 AWS Black Belt Online Seminar AWS App Mesh
20200721 AWS Black Belt Online Seminar AWS App Mesh20200721 AWS Black Belt Online Seminar AWS App Mesh
20200721 AWS Black Belt Online Seminar AWS App Mesh
 
20191127 AWS Black Belt Online Seminar Amazon CloudWatch Container Insights で...
20191127 AWS Black Belt Online Seminar Amazon CloudWatch Container Insights で...20191127 AWS Black Belt Online Seminar Amazon CloudWatch Container Insights で...
20191127 AWS Black Belt Online Seminar Amazon CloudWatch Container Insights で...
 
AWS Black Belt Online Seminar 2017 AWS Storage Gateway
AWS Black Belt Online Seminar 2017 AWS Storage GatewayAWS Black Belt Online Seminar 2017 AWS Storage Gateway
AWS Black Belt Online Seminar 2017 AWS Storage Gateway
 

Viewers also liked

AWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNS
AWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNSAWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNS
AWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNSAmazon Web Services Japan
 
[AWSマイスターシリーズ] Amazon SQS / SNS
[AWSマイスターシリーズ] Amazon SQS / SNS[AWSマイスターシリーズ] Amazon SQS / SNS
[AWSマイスターシリーズ] Amazon SQS / SNSAmazon Web Services Japan
 
AWS サービスアップデートまとめ 2014年3月
AWS サービスアップデートまとめ 2014年3月AWS サービスアップデートまとめ 2014年3月
AWS サービスアップデートまとめ 2014年3月Yasuhiro Horiuchi
 
AWS Blackbelt 2015シリーズ Amazon CloudWatch & Amazon CloudWatch Logs
AWS Blackbelt 2015シリーズ Amazon CloudWatch & Amazon CloudWatch LogsAWS Blackbelt 2015シリーズ Amazon CloudWatch & Amazon CloudWatch Logs
AWS Blackbelt 2015シリーズ Amazon CloudWatch & Amazon CloudWatch LogsAmazon Web Services Japan
 
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解するドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する増田 亨
 
CloudWatchの使い方
CloudWatchの使い方CloudWatchの使い方
CloudWatchの使い方ShinsukeYokota
 
元インフラエンジニアが
Scalaを触ってつまづいたところ。
元インフラエンジニアが
Scalaを触ってつまづいたところ。元インフラエンジニアが
Scalaを触ってつまづいたところ。
元インフラエンジニアが
Scalaを触ってつまづいたところ。takako onoue
 
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~Amazon Web Services Japan
 
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】JOYZO
 
AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜
AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜
AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜Amazon Web Services Japan
 
Amazon S3を中心とするデータ分析のベストプラクティス
Amazon S3を中心とするデータ分析のベストプラクティスAmazon S3を中心とするデータ分析のベストプラクティス
Amazon S3を中心とするデータ分析のベストプラクティスAmazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 初心者向け クラウドコンピューティング はじめの一歩
AWS Black Belt Online Seminar 2017  初心者向け クラウドコンピューティング はじめの一歩AWS Black Belt Online Seminar 2017  初心者向け クラウドコンピューティング はじめの一歩
AWS Black Belt Online Seminar 2017 初心者向け クラウドコンピューティング はじめの一歩Amazon Web Services Japan
 
DBワークロードのAWS化とデータベースサービス関連最新情報
DBワークロードのAWS化とデータベースサービス関連最新情報DBワークロードのAWS化とデータベースサービス関連最新情報
DBワークロードのAWS化とデータベースサービス関連最新情報Amazon Web Services Japan
 
[Black Belt Online Seminar] AWS上でのログ管理
[Black Belt Online Seminar] AWS上でのログ管理[Black Belt Online Seminar] AWS上でのログ管理
[Black Belt Online Seminar] AWS上でのログ管理Amazon Web Services Japan
 
データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜
データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜
データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜Mikiya Okuno
 

Viewers also liked (20)

AWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNS
AWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNSAWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNS
AWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNS
 
[AWSマイスターシリーズ] Amazon SQS / SNS
[AWSマイスターシリーズ] Amazon SQS / SNS[AWSマイスターシリーズ] Amazon SQS / SNS
[AWSマイスターシリーズ] Amazon SQS / SNS
 
AWS サービスアップデートまとめ 2014年3月
AWS サービスアップデートまとめ 2014年3月AWS サービスアップデートまとめ 2014年3月
AWS サービスアップデートまとめ 2014年3月
 
AWS Blackbelt 2015シリーズ Amazon CloudWatch & Amazon CloudWatch Logs
AWS Blackbelt 2015シリーズ Amazon CloudWatch & Amazon CloudWatch LogsAWS Blackbelt 2015シリーズ Amazon CloudWatch & Amazon CloudWatch Logs
AWS Blackbelt 2015シリーズ Amazon CloudWatch & Amazon CloudWatch Logs
 
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解するドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
 
CloudWatchの使い方
CloudWatchの使い方CloudWatchの使い方
CloudWatchの使い方
 
元インフラエンジニアが
Scalaを触ってつまづいたところ。
元インフラエンジニアが
Scalaを触ってつまづいたところ。元インフラエンジニアが
Scalaを触ってつまづいたところ。
元インフラエンジニアが
Scalaを触ってつまづいたところ。
 
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~
 
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
 
AWSデータベースアップデート2017
AWSデータベースアップデート2017AWSデータベースアップデート2017
AWSデータベースアップデート2017
 
AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜
AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜
AWS Black Belt Online Seminar AWS 体験ハンズオン 〜 Amazon DynamoDB テーブル作成編 〜
 
Machine Learning on AWS
Machine Learning on AWS Machine Learning on AWS
Machine Learning on AWS
 
Amazon S3を中心とするデータ分析のベストプラクティス
Amazon S3を中心とするデータ分析のベストプラクティスAmazon S3を中心とするデータ分析のベストプラクティス
Amazon S3を中心とするデータ分析のベストプラクティス
 
AWS Black Belt Online Seminar 2017 初心者向け クラウドコンピューティング はじめの一歩
AWS Black Belt Online Seminar 2017  初心者向け クラウドコンピューティング はじめの一歩AWS Black Belt Online Seminar 2017  初心者向け クラウドコンピューティング はじめの一歩
AWS Black Belt Online Seminar 2017 初心者向け クラウドコンピューティング はじめの一歩
 
2015/04/01 AWS Blackbelt EC2
2015/04/01 AWS Blackbelt EC22015/04/01 AWS Blackbelt EC2
2015/04/01 AWS Blackbelt EC2
 
DBワークロードのAWS化とデータベースサービス関連最新情報
DBワークロードのAWS化とデータベースサービス関連最新情報DBワークロードのAWS化とデータベースサービス関連最新情報
DBワークロードのAWS化とデータベースサービス関連最新情報
 
[Black Belt Online Seminar] AWS上でのログ管理
[Black Belt Online Seminar] AWS上でのログ管理[Black Belt Online Seminar] AWS上でのログ管理
[Black Belt Online Seminar] AWS上でのログ管理
 
AWS Black Belt Online Seminar Amazon Aurora
AWS Black Belt Online Seminar Amazon AuroraAWS Black Belt Online Seminar Amazon Aurora
AWS Black Belt Online Seminar Amazon Aurora
 
Growing up serverless
Growing up serverlessGrowing up serverless
Growing up serverless
 
データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜
データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜
データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜
 

Similar to AWS Black Belt Techシリーズ Amazon SNS / Amazon SQS

Scaling on AWS - Feb 2016
Scaling on AWS - Feb 2016Scaling on AWS - Feb 2016
Scaling on AWS - Feb 2016Eiji Shinohara
 
Amazon Web Servicesで未来へススメ!
Amazon Web Servicesで未来へススメ!Amazon Web Servicesで未来へススメ!
Amazon Web Servicesで未来へススメ!Genta Watanabe
 
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows Powershell
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows PowershellAWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows Powershell
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows PowershellAmazon Web Services Japan
 
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShellAmazon Web Services Japan
 
アマゾンクラウドの真価
アマゾンクラウドの真価アマゾンクラウドの真価
アマゾンクラウドの真価kaminashi
 
AWS Black Belt Online Seminar AWS re:Invent 2016で発表された新サービス・新機能の紹介 パート3
AWS Black Belt Online Seminar AWS re:Invent 2016で発表された新サービス・新機能の紹介 パート3AWS Black Belt Online Seminar AWS re:Invent 2016で発表された新サービス・新機能の紹介 パート3
AWS Black Belt Online Seminar AWS re:Invent 2016で発表された新サービス・新機能の紹介 パート3Amazon Web Services Japan
 
インフラ系自主トレするならAWS
インフラ系自主トレするならAWSインフラ系自主トレするならAWS
インフラ系自主トレするならAWSYasuhiro Araki, Ph.D
 
AWS Black Belt Online Seminar 2016 AWS Key Management Service
AWS Black Belt Online Seminar 2016 AWS Key Management Service AWS Black Belt Online Seminar 2016 AWS Key Management Service
AWS Black Belt Online Seminar 2016 AWS Key Management Service Amazon Web Services Japan
 
MTDDC Meetup HOKKAIDO 2013 (サーバーワークス発表資料)
MTDDC Meetup HOKKAIDO 2013 (サーバーワークス発表資料)MTDDC Meetup HOKKAIDO 2013 (サーバーワークス発表資料)
MTDDC Meetup HOKKAIDO 2013 (サーバーワークス発表資料)Serverworks Co.,Ltd.
 
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJPEiji Shinohara
 
BCPに活かせ!一撃 CloudFormation
BCPに活かせ!一撃 CloudFormationBCPに活かせ!一撃 CloudFormation
BCPに活かせ!一撃 CloudFormation真吾 吉田
 
AWS初心者向けWebinar AWS上にWebサーバーシステムを作ってみましょう ~まずは仮想サーバーから[演習つき]~
AWS初心者向けWebinar AWS上にWebサーバーシステムを作ってみましょう ~まずは仮想サーバーから[演習つき]~AWS初心者向けWebinar AWS上にWebサーバーシステムを作ってみましょう ~まずは仮想サーバーから[演習つき]~
AWS初心者向けWebinar AWS上にWebサーバーシステムを作ってみましょう ~まずは仮想サーバーから[演習つき]~Amazon Web Services Japan
 
Leap MotionとLambdaで「第九」を鳴らしてみる
Leap MotionとLambdaで「第九」を鳴らしてみるLeap MotionとLambdaで「第九」を鳴らしてみる
Leap MotionとLambdaで「第九」を鳴らしてみるTsuyoshi Seino
 
Aws tools for power shellをつかいこなそう
Aws tools for power shellをつかいこなそうAws tools for power shellをつかいこなそう
Aws tools for power shellをつかいこなそうGenta Watanabe
 
JAWS-UG CLI #25 LT - AWS Tools for Windows PowerShellでログを取得
JAWS-UG CLI #25 LT - AWS Tools for Windows PowerShellでログを取得JAWS-UG CLI #25 LT - AWS Tools for Windows PowerShellでログを取得
JAWS-UG CLI #25 LT - AWS Tools for Windows PowerShellでログを取得Nobuhiro Nakayama
 
AWS Black Belt Techシリーズ AWS Command Line Interface
AWS Black Belt Techシリーズ  AWS Command Line InterfaceAWS Black Belt Techシリーズ  AWS Command Line Interface
AWS Black Belt Techシリーズ AWS Command Line InterfaceAmazon Web Services Japan
 

Similar to AWS Black Belt Techシリーズ Amazon SNS / Amazon SQS (20)

Scaling on AWS - Feb 2016
Scaling on AWS - Feb 2016Scaling on AWS - Feb 2016
Scaling on AWS - Feb 2016
 
Amazon Web Servicesで未来へススメ!
Amazon Web Servicesで未来へススメ!Amazon Web Servicesで未来へススメ!
Amazon Web Servicesで未来へススメ!
 
AWS & cloudpack & CDP
AWS & cloudpack & CDPAWS & cloudpack & CDP
AWS & cloudpack & CDP
 
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows Powershell
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows PowershellAWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows Powershell
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows Powershell
 
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
 
アマゾンクラウドの真価
アマゾンクラウドの真価アマゾンクラウドの真価
アマゾンクラウドの真価
 
AWS Black Belt Online Seminar AWS re:Invent 2016で発表された新サービス・新機能の紹介 パート3
AWS Black Belt Online Seminar AWS re:Invent 2016で発表された新サービス・新機能の紹介 パート3AWS Black Belt Online Seminar AWS re:Invent 2016で発表された新サービス・新機能の紹介 パート3
AWS Black Belt Online Seminar AWS re:Invent 2016で発表された新サービス・新機能の紹介 パート3
 
インフラ系自主トレするならAWS
インフラ系自主トレするならAWSインフラ系自主トレするならAWS
インフラ系自主トレするならAWS
 
AWS Black Belt Online Seminar Amazon EC2
AWS Black Belt Online Seminar Amazon EC2AWS Black Belt Online Seminar Amazon EC2
AWS Black Belt Online Seminar Amazon EC2
 
AWS Black Belt Online Seminar 2016 AWS Key Management Service
AWS Black Belt Online Seminar 2016 AWS Key Management Service AWS Black Belt Online Seminar 2016 AWS Key Management Service
AWS Black Belt Online Seminar 2016 AWS Key Management Service
 
MTDDC Meetup HOKKAIDO 2013 (サーバーワークス発表資料)
MTDDC Meetup HOKKAIDO 2013 (サーバーワークス発表資料)MTDDC Meetup HOKKAIDO 2013 (サーバーワークス発表資料)
MTDDC Meetup HOKKAIDO 2013 (サーバーワークス発表資料)
 
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
 
AWS Support
AWS SupportAWS Support
AWS Support
 
BCPに活かせ!一撃 CloudFormation
BCPに活かせ!一撃 CloudFormationBCPに活かせ!一撃 CloudFormation
BCPに活かせ!一撃 CloudFormation
 
AWS初心者向けWebinar AWS上にWebサーバーシステムを作ってみましょう ~まずは仮想サーバーから[演習つき]~
AWS初心者向けWebinar AWS上にWebサーバーシステムを作ってみましょう ~まずは仮想サーバーから[演習つき]~AWS初心者向けWebinar AWS上にWebサーバーシステムを作ってみましょう ~まずは仮想サーバーから[演習つき]~
AWS初心者向けWebinar AWS上にWebサーバーシステムを作ってみましょう ~まずは仮想サーバーから[演習つき]~
 
Leap MotionとLambdaで「第九」を鳴らしてみる
Leap MotionとLambdaで「第九」を鳴らしてみるLeap MotionとLambdaで「第九」を鳴らしてみる
Leap MotionとLambdaで「第九」を鳴らしてみる
 
AWS Black Belt Techシリーズ AWS IAM
AWS Black Belt Techシリーズ  AWS IAMAWS Black Belt Techシリーズ  AWS IAM
AWS Black Belt Techシリーズ AWS IAM
 
Aws tools for power shellをつかいこなそう
Aws tools for power shellをつかいこなそうAws tools for power shellをつかいこなそう
Aws tools for power shellをつかいこなそう
 
JAWS-UG CLI #25 LT - AWS Tools for Windows PowerShellでログを取得
JAWS-UG CLI #25 LT - AWS Tools for Windows PowerShellでログを取得JAWS-UG CLI #25 LT - AWS Tools for Windows PowerShellでログを取得
JAWS-UG CLI #25 LT - AWS Tools for Windows PowerShellでログを取得
 
AWS Black Belt Techシリーズ AWS Command Line Interface
AWS Black Belt Techシリーズ  AWS Command Line InterfaceAWS Black Belt Techシリーズ  AWS Command Line Interface
AWS Black Belt Techシリーズ AWS Command Line Interface
 

More from Amazon Web Services Japan

202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFSAmazon Web Services Japan
 
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device DefenderAmazon Web Services Japan
 
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現Amazon Web Services Japan
 
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...Amazon Web Services Japan
 
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Web Services Japan
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したことAmazon Web Services Japan
 
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用Amazon Web Services Japan
 
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdfAmazon Web Services Japan
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon Web Services Japan
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチAmazon Web Services Japan
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介Amazon Web Services Japan
 
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer ProfilesAmazon Web Services Japan
 
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Web Services Japan
 
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨Amazon Web Services Japan
 
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介Amazon Web Services Japan
 
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介Amazon Web Services Japan
 
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...Amazon Web Services Japan
 
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピAmazon Web Services Japan
 

More from Amazon Web Services Japan (20)

202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
 
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
 
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
 
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
 
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
 
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと
 
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
 
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDD
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
 
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
 
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
 
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
 
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
 
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
 
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
 
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
 

AWS Black Belt Techシリーズ Amazon SNS / Amazon SQS

  • 1. Amazon  Simple  Queue  Service(SQS) Amazon  Simple  Notification  Service(SNS) AWS  Black  Belt  Tech  Webinar  2015 アマゾンデータサービスジャパン株式会社 ソリューションアーキテクト  篠原  英治 2015年年3⽉月4⽇日
  • 2. !   Name:   ・Eiji  Shinohara  (篠原  英治) !   Role: ・Solutions  Architect  for  Startups ・Amazon  CloudSearch  Subject  Matter  Expert Who  am  I?
  • 3. アジェンダ •  Amazon  Simple  Queue  Service  (SQS) •  Amazon  Simple  Notification  Service  (SNS) •  SQSとSNSを組み合わせた構成 •  まとめ
  • 4. アジェンダ •  Amazon  Simple  Queue  Service  (SQS) •  Amazon  Simple  Notification  Service  (SNS) •  SQSとSNSを組み合わせた構成 •  まとめ
  • 5. Amazon  Simple  Queue  Service  (SQS) •  ⻑⾧長い歴史を持つ『メッセージキュー』サービス https://aws.amazon.com/blogs/aws/amazon_̲simple_̲q/ 2006年年7⽉月13⽇日
  • 6. メッセージキューサービスとは? •  Message  Queue –  ソフトウェアの世界では古くからある概念念。MQと略略されることも –  http://ja.wikipedia.org/wiki/メッセージキュー –  Amazon  SQSはPull型のMQサービス •  受信側はSQSに問い合わせてメッセージ取得 送信 受信 polling
  • 7. Amazon  SQSはAWSフルマネージドな分散キュー •  ⾼高い信頼性:  複数のサーバー/データセンターにメッセージを保持 •  スケーラブル:  多数の送信者/受信者に対応 •  ⾼高スループット:  メッセージが増加しても⾼高スループットを出し続ける •  低コスト:  毎⽉月の無料料枠  +  使った分だけの従量量課⾦金金 Massive  Message  Processing  with  Amazon  SQS  and  Amazon  DynamoDB  (ARC301)  |  AWS  re:Invent  2013
  • 8. SQSを使う利利点:  疎結合  –  Loosely  Coupled •  例例えば、以下のようなケース –  ユウタさん:  今、⼤大量量のデータ登録をしたい。夜は⼤大事な予定がある –  ヒロシさん:  今は負荷が⾼高いので困る。⼀一定間隔で少しずつなら… ユウタさん 今から先⽉月のログデータ150万件 投⼊入しますね ヒロシさん 今はデータベースの負荷が⾼高いので 夜にやっていただけないですか??
  • 9. Amazon SQS SQSを使う利利点:  疎結合  –  Loosely  Coupled •  Amazon  SQSを⽤用いることでユウタさんもヒロシさんもHappyに! –  仮に、ヒロシさんが管理理するデータベースがメンテナンス中でも、 ユウタさんは気にせず作業してOK ユウタさん 得意のJavaでマルチスレッドでSQS にデータを⾼高速に投⼊入! AWS  SDKを使えば実装は簡単☺ ヒロシさん メッセージ内容の精査や画像チェックなどの 処理理が重いので、2つのインスタンスで! データベースの負荷を⾒見見ながらループの間隔 を調整出来るようにしておく マルチスレッドで投⼊入 メッセージ取得 データベースの負荷に 合わせた間隔で登録 Java PHP PHP
  • 11. Amazon  SQSをはじめるのは簡単です •  Management  Console編  –  キューの作成
  • 12. Amazon  SQSをはじめるのは簡単です •  Management  Console編  –  キューの作成:  キューの名前を⼊入⼒力力
  • 13. Amazon  SQSをはじめるのは簡単です •  Management  Console編  –  メッセージの送信
  • 14. Amazon  SQSをはじめるのは簡単です •  Management  Console編  –  メッセージの送信
  • 15. Amazon  SQSをはじめるのは簡単です •  Management  Console編  –  メッセージの受信:  ブラウザ上でポーリング
  • 16. Amazon  SQSをはじめるのは簡単です •  Management  Console編  -‐‑‒  メッセージの受信:  Message  Bodyの表⽰示
  • 17. Amazon  SQSをはじめるのは簡単です •  Management  Console編  -‐‑‒  メッセージの削除
  • 18. Amazon  SQSをはじめるのは簡単です •  Management  Console編  -‐‑‒  キューの削除
  • 19. Amazon  SQSを使う上で覚えておきたい識識別⼦子 •  Queue  URL –  キューを作成する際に払い出されるURL –  https://リージョン.queue.amazonaws.com/アカウントID/キュー名 •  Message  ID –  システムで割り当てられたID •  Receipt  Handle –  メッセージの削除やVisibilityの変更更に使⽤用 –  メッセージを受信する際に取得 •  受信されたメッセージのみ削除やVisibilityの変更更が可能 –  同じメッセージを受信する度度に異異なる→最新のものをつかうこと
  • 20. Amazon  SQSをはじめるのは簡単です •  AWS  CLI編 –  キューの作成 $  aws  sqs  create-‐‑‒queue  -‐‑‒-‐‑‒queue-‐‑‒name  blackbelt2015 {        “QueueUrl”:  “https://リージョン.queue.amazonaws.com/アカウントID/blackbelt2015" }
  • 21. Amazon  SQSをはじめるのは簡単です •  AWS  CLI編 –  キューの作成:  作成されたことを確認 $  aws  sqs  list-‐‑‒queues {        "QueueUrls":  [                “https://リージョン.queue.amazonaws.com/アカウントID/blackbelt2015"        ] }
  • 22. Amazon  SQSをはじめるのは簡単です •  AWS  CLI編 –  メッセージの送信 $  aws  sqs  send-‐‑‒message   -‐‑‒-‐‑‒queue-‐‑‒url  https://リージョン.queue.amazonaws.com/アカウントID/blackbelt2015   -‐‑‒-‐‑‒message-‐‑‒body  'Hello  World!' {        "MD5OfMessageBody":  "ed076287532e86365e841e92bfc50d8c",        "MessageId":  "2db5a1de-‐‑‒8bc5-‐‑‒4976-‐‑‒9b0c-‐‑‒68749bffee1a" }
  • 23. Amazon  SQSをはじめるのは簡単です •  AWS  CLI編 –  メッセージの受信 $  aws  sqs  receive-‐‑‒message   -‐‑‒-‐‑‒queue-‐‑‒url  https://リージョン.queue.amazonaws.com/アカウントID/blackbelt2015 {        "Messages":  [                {                        "Body":  "Hello  World!",                        “ReceiptHandle”:  “AQEBv3p27X8o44Nt4J0  〜~略略〜~  +8lujWoy6Ks=",                        "MD5OfBody":  "ed076287532e86365e841e92bfc50d8c",                        "MessageId":  "2db5a1de-‐‑‒8bc5-‐‑‒4976-‐‑‒9b0c-‐‑‒68749bffee1a"                }        ] }
  • 24. Amazon  SQSをはじめるのは簡単です •  AWS  CLI編 –  メッセージの削除 aws  sqs  delete-‐‑‒message   -‐‑‒-‐‑‒queue-‐‑‒url  https://リージョン.queue.amazonaws.com/アカウントID/blackbelt2015   -‐‑‒-‐‑‒receipt-‐‑‒handle  "AQEBv3p27X8o44Nt4J0  〜~略略〜~  +8lujWoy6Ks="
  • 25. Amazon  SQSをはじめるのは簡単です •  AWS  SDK編   –  キューの作成 –  メッセージの送信 AmazonSQS  sqs  =  new  AmazonSQSClient(); CreateQueueRequest  createQueueRequest  =  new  CreateQueueRequest("MyQueue"); String  myQueueUrl  =  sqs.createQueue(createQueueRequest).getQueueUrl(); sqs.sendMessage(new  SendMessageRequest(myQueueUrl,  ”Hello  World!  "));
  • 26. Amazon  SQSをはじめるのは簡単です •  AWS  SDK編 –  メッセージの受信 –  メッセージの削除 ReceiveMessageRequest  receiveMessageRequest  =  new  ReceiveMessageRequest(myQueueUrl); List<Message>  messages  =  sqs.receiveMessage(receiveMessageRequest).getMessages(); for  (Message  message  :  messages)  { //  取得したメッセージを元に処理理 } String  messageRecieptHandle  =  messages.get(0).getReceiptHandle(); sqs.deleteMessage(new  DeleteMessageRequest(myQueueUrl,  messageRecieptHandle));
  • 27. Amazon  SQSをはじめるのは簡単です •  AWS  SDK編 –  キューの削除 –  AWS  SDKは2015年年3⽉月現在下記の⾔言語をサポート •  Java  http://aws.amazon.com/jp/sdk-‐‑‒for-‐‑‒java/ •  Ruby  http://aws.amazon.com/jp/sdk-‐‑‒for-‐‑‒ruby/ •  Python  http://aws.amazon.com/jp/sdk-‐‑‒for-‐‑‒python/ •  .NET  http://aws.amazon.com/jp/sdk-‐‑‒for-‐‑‒net/ •  PHP  http://aws.amazon.com/jp/sdk-‐‑‒for-‐‑‒php/ •  JavaScript  http://aws.amazon.com/jp/sdk-‐‑‒for-‐‑‒browser/ •  Node.js    http://aws.amazon.com/jp/sdk-‐‑‒for-‐‑‒node-‐‑‒js/ •  Go(Coming  Soon!)  https://github.com/awslabs/aws-‐‑‒sdk-‐‑‒go sqs.deleteQueue(new  DeleteQueueRequest(myQueueUrl));
  • 28. Amazon  SQSのコスト •  無料料利利⽤用枠 –  (SQSご利利⽤用全ユーザー)  毎⽉月100万キューイングリクエストまで無料料 •  SQSリクエスト100万件につき0.476  USD –  複数メッセージを1つのリクエストとしてバッチ送信することも可能 •  データ転送 –  送信(アウト) •  最初の1GB/⽉月:0  USD 〜~略略〜~ •  次の350TBまで  /⽉月:0.120  USD  GBあたり •  350TBを越える場合の価格はお問い合わせください •  同⼀一リージョン内のSQSとEC2インスタンスのデータ転送は無料料
  • 29. 効率率率良良くAmazon  SQSを使う •  Visibility  Timeout  +  EC2  Spot  Instance •  ⼀一度度のAPIコールで10件のメッセージを送信/受信 •  Long  PollでReceive  Messageコールの頻度度を抑える http://www.slideshare.net/AmazonWebServices/advanced-‐‑‒topics-‐‑‒session-‐‑‒4-‐‑‒architecting-‐‑‒forhighavailability
  • 30. Amazon SQS 効率率率良良くAmazon  SQSを使う •  Visibility  Timeoutとは –  メッセージ受信者が複数の場合 送信 受信1 受信2 受信3
  • 31. Amazon SQS 効率率率良良くAmazon  SQSを使う •  Visibility  Timeoutとは –  受信1がメッセージを取得 送信 受信1 受信2 受信3
  • 32. Amazon SQS 効率率率良良くAmazon  SQSを使う •  Visibility  Timeoutとは –  30秒間(デフォルト設定。変更更可能。最⼤大12時間)、受信2と受信 3にはメッセージを⾒見見せない(in  Flight) 送信 受信1 受信2 受信3 X X
  • 33. Amazon SQS 効率率率良良くAmazon  SQSを使う •  Visibility  Timeoutとは –  受信1がキューからメッセージを削除せず、タイムアウトした場 合はどの受信サーバーからもメッセージが受信可能に 送信 受信1 受信2 受信3
  • 34. 効率率率良良くAmazon  SQSを使う •  Amazon  EC2  –  Spot  Instances –  Amazon  EC2  の価格をお客様が指定できるシステム –  ⼊入札価格がその時点のスポット価格を上回っていれば、インスタンス を実⾏行行できる •  スポット価格は、需要と供給の関係に基づいてリアルタイムで変動 •  スポット価格は⼀一般的に、オンデマンド価格を⼤大幅に下回る (2015年年3⽉月時点で、平均で約8割下回っている) –  「⼊入札額  >=  スポット価格」なら指定したインスタンスが起動 –  「⼊入札額  <  スポット価格」となるとインスタンスがターミネート –  1時間未満の使⽤用料料は課⾦金金されない
  • 35. 効率率率良良くAmazon  SQSを使う •  Visibility  Timeout  +  EC2  Spot  Instances –  Spot  Instanceを使っていて、受信1がターミネートされても、 Visibility  Timeout後に他のインスタンスが処理理すれば良良い –  コスト削減効果:  ⼤大 Amazon SQS 送信 受信1 受信2 受信3
  • 36. 効率率率良良くAmazon  SQSを使う •  メッセージ送信/受信は1度度にMAX10件 –  SQSへのリクエストが少なければ少ないほどコスト効率率率が良良い Amazon SQS 受信1 受信2 受信3 送信1 送信2 送信3 x  10 x  10 x  10 x  10 x  10 x  10
  • 37. 効率率率良良くAmazon  SQSを使う •  メッセージ送信/受信は1度度にMAX10件 –  送信例例:  AWS  CLI  で  send-‐‑‒message-‐‑‒batch  を利利⽤用 $  aws  sqs  send-‐‑‒message-‐‑‒batch -‐‑‒-‐‑‒queue-‐‑‒url  https://リージョン.queue.amazonaws.com/アカウントID/blackbelt2015   -‐‑‒-‐‑‒entries  '[{  "Id":  "01",  "MessageBody":  "test  message  01"  },{  "Id":  "02",   "MessageBody":  "test  message  02"  },…]ʼ’ {        "Successful":  [                {                        "MD5OfMessageBody":  "fa27aa462b939f0c8cf67189198f1b2d",                        "Id":  "01",                        "MessageId":  "041d1604-‐‑‒1c80-‐‑‒4440-‐‑‒90bf-‐‑‒598db00cf752"                },  ...                〜~略略〜~
  • 38. 効率率率良良くAmazon  SQSを使う •  メッセージ送信/受信は1度度にMAX10件 –  受信例例:  AWS  CLI  で  receive-‐‑‒message  の-‐‑‒-‐‑‒max-‐‑‒number-‐‑‒of-‐‑‒ messagesオプションを利利⽤用(デフォルト1。最⼤大10) $  aws  sqs  receive-‐‑‒message -‐‑‒-‐‑‒queue-‐‑‒url  https://リージョン.queue.amazonaws.com/アカウントID/blackbelt2015   -‐‑‒-‐‑‒max-‐‑‒number-‐‑‒of-‐‑‒messages  10 {        "Messages":  [                {                        "Body":  "test  message  01",                        "ReceiptHandle":  "AQEB  〜~略略〜~  7g/jA=",                        "MD5OfBody":  "fa27aa462b939f0c8cf67189198f1b2d",                        "MessageId":  "041d1604-‐‑‒1c80-‐‑‒4440-‐‑‒90bf-‐‑‒598db00cf752"                },…
  • 39. 効率率率良良くAmazon  SQSを使う •  クライアントサイドでのバッファリング –  AWS  SDK  for  Java  の  AmazonSQSAsyncClient  を利利⽤用 –  最⼤大10リクエストのバッファリング処理理を簡単に実現可能 –  下記のパラメータを設定し微調整することが可能 •  maxBatchOpenMs:  最⼤大待ち時間をミリ秒単位で指定 •  maxBatchSize:  1回のリクエストのメッセージの最⼤大数を指定
  • 40. 効率率率良良くAmazon  SQSを使う •  Long  Polling –  受信者が頻繁にSQSに対してReceive  Messageコールをするとリク エスト回数がかさみ、コスト効率率率がよくない –  “メッセージが取得出来るまで”待つ時間を設定できる(0秒から20秒)
  • 41. 効率率率良良くAmazon  SQSを使う •  Long  Polling  と  Short  Polling  の使い分け –  基本的に  Long  Polling  推奨(呼び出し元のCPU負荷,  リクエスト課⾦金金等) •  複数のキューを使う場合は、マルチスレッドでPolling –  Receive  Message呼び出し後、直ちに応答が必要な場合はShort  Polling •  例例えば複数のキューを単⼀一スレッドでポーリングする場合、Long   Pollingするとその間、他のキューにアクセスできない Polling処理理 Polling処理 スレッド1 スレッド2 Polling処理理 Polling処理 スレッド1
  • 42. 前回のWebinar以降降にローンチされた機能の紹介 •  SQS  Message  Attributes •  AWS  CloudTrail対応 •  Delete  All  Messages  in  SQS  Queue •  SQS  Client  Library  for  Java  Messaging  Service  (JMS)
  • 43. 前回のWebinar以降降にローンチされた機能の紹介 •  Message  Attributes  –  2014年年5⽉月6⽇日 –  メッセージBodyとは別に属性を10個まで定義可能に –  属性はName、Type(String/Number/Binary)、Valueで定義 •  Typeはカスタム可能(例例:  float,  int)
  • 44. 前回のWebinar以降降にローンチされた機能の紹介 •  AWS  CloudTrail対応  –  2014年年7⽉月16⽇日 –  キューの設定変更更等に関するAPIコールのログをS3に保存 –  CloudTrailは2014年年7⽉月から東京リージョンで利利⽤用可能
  • 45. 前回のWebinar以降降にローンチされた機能の紹介 •  Delete  All  Messages  in  SQS  Queue  –  2014年年12⽉月8⽇日 –  PurgeQueue  アクションでキュー内のメッセージの⼀一括削除が可能に
  • 46. 前回のWebinar以降降にローンチされた機能の紹介 •  SQS  Client  Library  for  Java  Messaging  Service  (JMS)  –  2014 年年12⽉月29⽇日 –  JMS:  Javaでメッセージングサービスを利利⽤用するための標準API –  SQSをJMSプロバイダーとして利利⽤用可能に •  ご⾃自⾝身でJMSクラスタサーバーの保守運⽤用が不不要に!
  • 47. Amazon  SQSを使う上での注意点 •  Amazon  SQSは⾼高い可⽤用性と信頼性を実現した分散システム •  順序はベストエフォート •  出来る限り順序を維持しようとするが保証しない •  タイムスタンプやシーケンス番号をメッセージに •  同じメッセージを複数回受信する可能性がある(少なくとも1回の配信) •  SQSはメッセージを複数のサーバ/データセンタに保持 •  メッセージ削除時にサーバが⼀一時故障中の場合、復復旧後に受信され る可能性がある •  同じメッセージを複数回処理理した場合に悪影響を出さないように、 冪等性を意識識したアプリケーションの設計を⾏行行う
  • 48. Amazon  SQSの上限 •  メッセージ保持期限 •  削除されないメッセージはデフォルトで4⽇日間保持。保持期間は60秒 から14⽇日の間で変更更可能 •  In  Flight(受信されたメッセージ&Visibility  Timeout内)メッセージ •  1つのキューごとに最⼤大120,000In  Flightメッセージ •  超えるとOverLimitエラー •  メッセージの最⼤大サイズは256KB •  2013年年6⽉月に64KB→256KBに •  画像やムービー等の⼤大容量量データには適していない –  S3に配置しメッセージ内にそのパスを記述
  • 49. 現場で使える実践的な機能 •  時間をおいてからメッセージを⾒見見せたい •  Delay  Queue  と  Message  Timers •  何度度受信されてもキューに残り続けるメッセージをなんとかしたい •  Dead  Letter  Queue •  SQS  を使って簡単にスケーラブルなバッチ処理理基盤を構築したい •  Elastic  Beanstalk:  Worker  Tier •  セキュリティ •  AWS  Identity  and  Access  Management  (IAM)連携 •  モニタリング •  CloudWatchでの監視
  • 50. 時間をおいてからメッセージを⾒見見せたい •  Delay  Queue –  キューに送られた新しいメッセージをある⼀一定秒の間⾒見見えなくする –  0〜~900秒で設定 –  設定すると、そのキューに送信されるメッセージ全てに適⽤用
  • 51. 時間をおいてからメッセージを⾒見見せたい •  Message  Timers –  個々のメッセージに対して、送信されてから⾒見見えるようになるまで の時間を設定 –  0〜~900秒で設定 –  Message  TimersはDelay  Queueの遅延時間の設定を上書き Send  Message   Request Delay  Queue  30秒 Message  Timers  60秒 メッセージが⾒見見え るようになる時間
  • 52. キューに残り続けるメッセージをなんとかしたい •  Dead  Letter  Queue –  メッセージを、指定回数(1〜~1000で指定)受信後に、⾃自動で別の キュー(Dead  Letter  Queue)に移動する機能 –  デフォルトは無効0〜~900秒で設定 ①メッセージ受信 ②タスク失敗 ③メッセージが削除されず キューに残り続ける ④指定回数受信 後に移動 キュー Dead  Letter  Queue
  • 53. スケーラブルなバッチ処理理基盤 •  AWS  Elastic  Beanstalk:  Worker  Tier –  SQS  +  Auto  Scalingでスケーラブルなバッチ処理理基盤 Sqsd (deamon) Elastic Beanstalk Application http://localhost:80/xxx EC2 Instance Auto Scaling group CloudWatch Auto Scaling
  • 54. スケーラブルなバッチ処理理基盤 •  Job  Observerパターン –  http://aws.clouddesignpattern.org/index.php/CDP:Job_̲Observerパターン –  AWSブログ   http://aws.typepad.com/aws_̲japan/2015/01/auto-‐‑‒scaling-‐‑‒with-‐‑‒sqs.html
  • 55. セキュリティ •  AWS  Identity  and  Access  Management  (IAM)連携 –  設定例例 »  特定のリソースやアクセス元のみアクセス許可/拒否 »  特定の時間帯のみアクセス許可 {            "Version":"2012-‐‑‒11-‐‑‒05",      "Id":"cd3ad3d9-‐‑‒2776-‐‑‒4ef1-‐‑‒a904-‐‑‒4c229d1642ee",      "Statement"  :  [            {                  "Sid":"1",                    "Effect":"Allow",                                        "Principal"  :  {                        "aws":  "111122223333"                  },                  "Action":["sqs:SendMessage","sqs:ReceiveMessage"],                    "Resource":  "arn:aws:sqs:us-‐‑‒east-‐‑‒1:444455556666:queue2",                  "Condition"  :  {                        "IpAddress"  :  {                              "aws:SourceIp":"10.52.176.0/24"                        },                          "DateLessThan"  :  {                              "aws:CurrentTime":"2009-‐‑‒06-‐‑‒30T12:00Z”
  • 56. モニタリング •  CloudWatchでの監視 •  利利⽤用可能メトリクス NumberOfMessageSent キューに追加されたメッセージ数 SentMessageSize キューに追加されたメッセージの合計サイズ NumberOfMessageReceived ReceiveMessageコールによって返されたメッセージ数 NumberOfEmptyReceives ReceiveMessageによって返さなかったメッセージ数 NumberOfMessagesDeleted キューから削除されたメッセージ数 ApproximateNumberOfMessageDelayed Delayされすぐに読み込みができなかったメッセージ数。Delay  Queueまたは メッセージ送信時のDelay設定によるもの ApproximateNumberOfMessageVisible キューから利利⽤用可能になったメッセージ数 ApproximateNumberOfMessageNotVisible クライアントから送信されたが削除されていないか、visibility  winodowのendま で到達していないメッセージ数
  • 57. アジェンダ •  Amazon  Simple  Queue  Service  (SQS) •  Amazon  Simple  Notification  Service  (SNS) •  SQSとSNSを組み合わせた構成 •  まとめ
  • 58. Amazon  Simple  Notification  Service  (SNS) •  Amazon  SNSはマルチプロトコルに対応したフルマネージド通知サービス Publish 1.Topicに メッセージを送信 2.  マルチプロトコルで通知 Amazon  SNS Publisher Topic HTTP(S) EMAIL SQS Mobile Push Subscriber
  • 59. Amazon  Simple  Notification  Service  (SNS) •  Mobile  Pushに関しては次週(2015年年3⽉月11⽇日)のAWS  Black  Belt   Tech  Webinarで詳細にご案内します! Amazon SNS Mobile Push Apple Devices Google Devices Amazon Kindle Fire Devices
  • 60. Amazon  SNSのコスト •  Amazon  SNSを使えば安価で簡単に通知が送れます •  無料料枠:   –  モバイルプッシュ通知:  100万件 –  Email/Email-‐‑‒JSON:  1,000件 –  HTTP/HTTPS:  100,000件 –  Simple  Queue  Service(SQS):  無料料 •  リクエスト単価(64  KB  のチャンク毎に  1リクエストとして課⾦金金) –  モバイルプッシュ通知:  100万件あたり0.5  USD –  Email/Email-‐‑‒JSON:  100,000件あたり2  USD –  HTTP/HTTPS:  100万件あたり0.6  USD –  Simple  Queue  Service(SQS):  無料料 •  ※  SMSは東京リージョンではサービスを提供しておりません
  • 61. Amazon  SNSをはじめるのは簡単です •  Management  Consoleでは  Mobile  Services  の中に
  • 62. Amazon  SNSをはじめるのは簡単です 1.  Topicの作成 2.  TopicをSubscribe 3.  Topicへ向けてメッセージをPublish
  • 63. Amazon  SNSをはじめるのは簡単です 1.  Topicの作成 –  TopicのARN(Amazon  Resource  Name)が⽣生成される。リトライポリシー等も設定可能
  • 64. Amazon  SNSをはじめるのは簡単です 2.  TopicのSubscribe –  プロトコルを選択 –  Endpoint側でConfirmすることでメッセージ送信可能に
  • 65. Amazon  SNSをはじめるのは簡単です 3.  Topicへ向けてメッセージをPublish –  ブラウザからPublish –  メッセージの受信(プロトコルでEmailを選択した場合)
  • 66. Amazon  Simple  Notification  Service  (SNS) •  AWSの様々なサービスと連携して通知可能 –  利利⽤用例例 •  Amazon  CloudWatch –  Billing  Alertの通知 •  Amazon  SES –  Bounce/Complaintのフィードバック通知 •  Amazon  S3 –  ファイルがアップロードされた時の通知 •  Amazon  Elastic  Transcoder –  動画変換処理理完了了/失敗時の通知
  • 67. Amazon  SNSと他サービスの連携 •  Amazon  CloudWatchのBilling  Alertの通知
  • 68. Amazon  SNSと他サービスの連携 •  Amazon  SESのBounce/Complaintのフィードバック通知
  • 69. Amazon  SNSと他サービスの連携 •  Amazon  S3にファイルがアップロードされた時の通知
  • 70. Amazon  SNSと他サービスの連携 •  Amazon  Elastic  Transcoderでの動画変換処理理完了了/失敗時の通知
  • 71. •  HTTPS  enhancements –  Server  Name  Indication  (SNI)  サポート –  Basic認証  および  Digest認証のサポート •  Message  Attributes •  Time  To  Live  (TTL)  サポート 前回のWebinar以降降にローンチされた機能の紹介
  • 72. •  HTTPS  enhancements  –  2014年年4⽉月28⽇日 –  Server  Name  Indication  (SNI)サポート •  SNIはSSL/TLSの拡張仕様。SSLハンドシェイク時にクライアン トがアクセスしたいホスト名を伝えることで、サーバ側がグ ローバルIPごとではなくホスト名によって異異なる証明書を使い 分けることを可能に •  http://ja.wikipedia.org/wiki/Server_̲Name_̲Indication –  Basic認証  および  Digest認証のサポート •  HTTP  POST  で  HTTPS  URLにユーザー名とパスワードを指定 •  http://www.rfc-‐‑‒editor.org/info/rfc2617 前回のWebinar以降降にローンチされた機能の紹介
  • 73. •  Message  Attributes  –  2014年年6⽉月12⽇日 –  String,  Number,  Binaryの属性をサポート –  Mobile  Push⽤用Reserved  Message  Attributes •  Baidu •  MPNS •  WNS 前回のWebinar以降降にローンチされた機能の紹介
  • 74. •  TTLサポート  –  2014年年7⽉月10⽇日 –  Time  To  Live •  メッセージ単位で⽣生存期間を設定 –  ⽣生存期間が過ぎて配信されていないメッセージは削除 •  例例えば、⾶飛⾏行行機を降降りた後に受け取る、既に終わったフラッ シュセールのメッセージ 前回のWebinar以降降にローンチされた機能の紹介
  • 75. アジェンダ •  Amazon  Simple  Queue  Service  (SQS) •  Amazon  Simple  Notification  Service  (SNS) •  SQSとSNSを組み合わせた構成 •  まとめ
  • 76. •  Cloud  Design  Pattern:  Fanoutパターン –  http://aws.clouddesignpattern.org/index.php/CDP:Fanoutパターン SQSとSNSを組み合わせた構成
  • 77. •  画像をフォームからアップロードして登録 –  画像ファイルはS3 –  画像のコメントはRDS –  画像のメタデータはDynamoDB SQSとSNSを組み合わせた構成 ①リクエストを受けた WebアプリはSNSトピックへ ②SNSから それぞれのSQSキューへ Amazon  S3 Amazon  RDS DynamoDB ③SQSキューからパラレルにそれぞれのデータストアへ
  • 78. •  画像をフォームからアップロードして登録 –  画像ファイルはS3 –  画像のコメントはRDS  ←  ボトルネックであることが発覚したら… –  画像のメタデータはDynamoDB SQSとSNSを組み合わせた構成 ①リクエストを受けた WebアプリはSNSトピックへ ②SNSから それぞれのSQSキューへ Amazon  S3 Amazon  RDS DynamoDB ③SQSキューからパラレルにそれぞれのデータストアへ スケールアップ&アウト
  • 79. •  SNS→SQSは無料料です –  リクエスト単価(64  KB  のチャンク毎に  1リクエストとして課⾦金金) •  Simple  Queue  Service(SQS):  無料料 SQSとSNSを組み合わせた構成 ①リクエストを受けた WebアプリはSNSトピックへ ②SNSから それぞれのSQSキューへ Amazon  S3 Amazon  RDS DynamoDB ③SQSキューからパラレルにそれぞれのデータストアへ
  • 80. アジェンダ •  Amazon  Simple  Queue  Service  (SQS) •  Amazon  Simple  Notification  Service  (SNS) •  SQSとSNSを組み合わせた構成 •  まとめ
  • 81. •  Amazon  SQS –  信頼性が⾼高く、スケーラビリティに優れ、⼗十分に管理理されたメッ セージキューサービス –  簡単にコスト効率率率良良く、疎結合で柔軟なシステムを構築することが できる •  Amazon  SNS –  信頼性が⾼高く、スケーラビリティに優れ、⼗十分に管理理されたプッ シュメッセージングサービス –  簡単にコスト効率率率良良く、マルチプロトコルで通知ができる –  AWSの様々なサービスと連携して通知可能 まとめ
  • 82. 参考資料料 •  Amazon  SQS  Document –  http://aws.amazon.com/jp/documentation/sqs/ •  Amazon  SQS  FAQ –  http://aws.amazon.com/jp/sqs/faqs/ •  Amazon  SNS  Document –  http://aws.amazon.com/jp/documentation/sns/ •  Amazon  SNS  FAQ –  http://aws.amazon.com/jp/sns/faqs/ •  AWSクラウドデザインパターン –  http://aws.clouddesignpattern.org/index.php •  Massive  Message  Processing  with  Amazon  SQS  and  Amazon  DynamoDB   (ARC301)  |  AWS  re:Invent  2013 –  https://www.youtube.com/watch?v=RJCpjRTvo_̲w
  • 83. Webinar資料料の配置場所 •  AWS  クラウドサービス活⽤用資料料集 –  http://aws.amazon.com/jp/aws-‐‑‒jp-‐‑‒introduction/