SlideShare une entreprise Scribd logo
1  sur  92
Télécharger pour lire hors ligne
Amazon Simple Queue Service(SQS)
Amazon Simple Notification Service(SNS)
AWS Black Belt Tech Webinar 2016
アマゾン ウェブ サービス ジャパン株式会社
AWS Black Belt Tech Webinar 2016
• AWSJのTechメンバがAWSのプロダクトを
深堀りして解説するWebセミナー
– サービスの概要、使いどころの説明
– アップデートのキャッチアップ
• 毎週水曜 18〜19時
• 申し込みサイト
– http://aws.amazon.com/jp/event_schedule/
• Twitter ハッシュタグ
– #awsblackbelt で確認
2
Agenda
• Amazon Simple Queue Service (SQS)
• Amazon Simple Notification Service (SNS)
• SQSとSNSを組み合わせた構成
• まとめ
Agenda
• 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をはじめるのは簡単です
• マネジメントコンソール編
Amazon SQSをはじめるのは簡単です
• マネジメントコンソール編 - キューの作成
Amazon SQSをはじめるのは簡単です
• マネジメントコンソール編 - キューの作成:キュー名等入力
Amazon SQSをはじめるのは簡単です
• マネジメントコンソール編 - キューの作成:作成完了
Amazon SQSをはじめるのは簡単です
• マネジメントコンソール編 - キューの作成:メッセージ送信
Amazon SQSをはじめるのは簡単です
• マネジメントコンソール編 - キューの作成:メッセージ送信
Amazon SQSをはじめるのは簡単です
• マネジメントコンソール編 - メッセージの受信:ブラウザ上で
Amazon SQSをはじめるのは簡単です
• マネジメントコンソール編 - メッセージの受信:ブラウザ上で
Amazon SQSをはじめるのは簡単です
• マネジメントコンソール編 - メッセージの受信:ブラウザ上で
Amazon SQSをはじめるのは簡単です
• マネジメントコンソール編 - メッセージの削除
Amazon SQSをはじめるのは簡単です
• マネジメントコンソール編 - キューの削除
Amazon SQSで利用する識別子
• Queue URL(キューURL)
– キューを作成する際に払い出されるURL
– https://sqs.リージョン.amazonaws.com/アカウントID/キュー名
• Message ID(メッセージID)
– システムで割り当てられたID (例:0a41026d-283b-4e5c-9b3f-debffb709ef4)
• Receipt Handle(受信ハンドル)
– メッセージの削除や可視性(Visibility)の変更には、”受信ハンドル”を指定する必要がある
– メッセージを受信するたびに”受信ハンドル”も受信する
– 同じメッセージでも、受信する度に異なる”受信ハンドル”を受け取る
– このため、常に最新の受信ハンドルを使って削除等をすること
参考URL: http://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/ImportantIdentifiers.html
Amazon SQSをはじめるのは簡単です
• AWS CLI編
– キューの作成(que01という名前のキューを作る)
• 例:リージョン指定(ここでは東京)
– 実行結果:キューURLが表示される
C:¥> aws sqs create-queue --queue-name que01 --region ap-northeast-1
{
“QueueUrl”: “https://ap-northeast-1.queue.amazonaws.com/<アカウントID>/que01"
}
C:¥> aws sqs create-queue --queue-name que02
{
“QueueUrl”: “https://queue.amazonaws.com/<アカウントID>/que02"
}
参考URL: https://docs.aws.amazon.com/ja_jp/general/latest/gr/rande.html#sqs_region
• 例:リージョン指定せず(デフォルトはバージニア北部(us-east-1))
– 実行結果: (us-east-1のときは、queue.amazon.comとなる)
キューURLは、「レガシーエンドポイント」という表示もあり、以下のようなURLになります。これは、CLIまたは、SDK for Pythonのとき利用可能です。
・バージニア北部リージョン(us-east-1): queue.amazonaws.com
・その他リージョン: <リージョン名>.queue.amazonaws.com
Amazon SQSをはじめるのは簡単です
• AWS CLI編
– キューの一覧表示: 作成されたことを確認
• 例: デフォルトリージョンが「オレゴン」(us-west-2)の場合
– 結果: 存在するキューの、リージョン名付のキューURLが返却されている
C:¥> aws sqs list-queues
{
"QueueUrls": [
“https://us-west-2.queue.amazonaws.com/ <アカウントID> /que011",
“https://us-west-2.queue.amazonaws.com/ <アカウントID> /que012",
~ (中略) ~
“https://us-west-2.queue.amazonaws.com/ <アカウントID> /que019"
]
}
Amazon SQSをはじめるのは簡単です
• AWS CLI編
– メッセージの送信
• 例: デフォルトリージョンが「オレゴン」(us-west-2)の場合(1行で)
– 結果: ハッシュされた結果とメッセージIDが返却される
C:¥> aws sqs send-message --queue-url https://us-west-2.queue.amazonaws.com/<アカウントID> /que011
--message-body AAAAAAAAAAAAAAAAAAAAA
{
"MD5OfMessageBody": "5bc308c3d25645d2516222e055134c04",
"MessageId": "fc7d64b4-b015-4dd7-b118-11c20fcd85ac"
}
Amazon SQSをはじめるのは簡単です
• AWS CLI編
– メッセージの送信
• 例: デフォルトリージョンが「オレゴン」(us-west-2)の場合(1行で)
– 結果: ハッシュされた結果とメッセージIDが返却される
C:¥> aws sqs send-message --queue-url https://us-west-2.queue.amazonaws.com/<アカウントID> /que011
--message-body AAAAAAAAAAAAAAAAAAAAA
{
"MD5OfMessageBody": "5bc308c3d25645d2516222e055134c04",
"MessageId": "fc7d64b4-b015-4dd7-b118-11c20fcd85ac"
}
Amazon SQSをはじめるのは簡単です
• AWS CLI編
– メッセージの受信
• 例: デフォルトリージョンが「オレゴン」(us-west-2)の場合
– 結果: メッセージと共に、「受信ハンドル」や「メッセージID」も返却される
C:¥> aws sqs receive-message --queue-url https://us-west-2.queue.amazonaws.com/<アカウントID> /que011
{
"Messages": [
{
"Body": "'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'",
“ReceiptHandle”: “AQEBP3Zah1+ofjs… ~中略~ …ryXHENpytJ2kAAOFI8n4wr03bVog==",
"MD5OfBody": "5bc308c3d25645d2516222e055134c04",
"MessageId": "fc7d64b4-b015-4dd7-b118-11c20fcd85ac"
}
]
}
Amazon SQSをはじめるのは簡単です
• AWS CLI編
– メッセージの削除
• 例: デフォルトリージョンが「オレゴン」(us-west-2)の場合
– 結果: 何も返却されない
C:¥> aws sqs delete-message --queue-url https://us-west-2.queue.amazonaws.com/<アカウントID> /que011
--receipt-handle “AQEBP3Zah1+ofjs… ~中略~ …ryXHENpytJ2kAAOFI8n4wr03bVog=="
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));
sqs.deleteQueue(new DeleteQueueRequest(myQueueUrl));
Amazon SQSをはじめるのは簡単です
• AWS SDK編
– AWS SDKは現時点では以下の言語をサポート
• 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
Amazon SQSのコスト
• 無料利用枠
– (SQSご利用全ユーザー) 毎月100万キューイングリクエストまで無料
• SQSリクエスト100万件につき0.476 USD (※東京リージョン)
– 複数メッセージを1つのリクエストとしてバッチ送信することも可能
• データ転送
– 送信(アウト)
• 最初の1GB/月: 0 USD
• 10TBまで/月: 0.140 USD GBあたり
〜略〜
• 次の350TBまで /月: 0.120 USD GBあたり
• 350TBを越える場合の価格はお問い合わせください
• 同一リージョン内のSQSとEC2インスタンスのデータ転送は無料
参考URL: https://aws.amazon.com/jp/sqs/pricing/
効率良く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
最近アップデートされた新機能のご紹介
1. SQS Message Attributes
2. AWS CloudTrail対応
3. Delete All Messages in SQS Queue
4. SQS Client Library for Java Messaging Service (JMS)
最近アップデートされた新機能のご紹介
1. SQS Message Attributes
– メッセージBodyとは別に属性を10個まで定義可能に
– 属性はName、Type(String/Number/Binary)、Valueで定義
• Typeはカスタム可能(例: float, int)
最近アップデートされた新機能のご紹介
2. AWS CloudTrail対応
– キューの設定変更等に関するAPIコールのログをS3に保存
最近アップデートされた新機能のご紹介
3. Delete All Messages in SQS Queue
– PurgeQueue (「キューの消去」)アクションで
キュー内のメッセージの一括削除が可能に
最近アップデートされた新機能のご紹介
4. SQS Client Library for Java Messaging Service (JMS)
– JMS: Javaでメッセージングサービスを利用するための標準API
– SQSをJMSプロバイダーとして利用可能に
• ご自身でJMSクラスタサーバーの保守運用が不要に!
Amazon SQSを使う上での注意点
• 順序はベストエフォート
• 出来る限り順序を維持しようとするが保証しない
• タイムスタンプやシーケンス番号をメッセージに
• 同じメッセージを複数回受信する可能性がある(少なくとも1回の配信)
• SQSはメッセージを複数のサーバ/データセンタに保持
• メッセージ削除時にサーバが一時故障中の場合、復旧後に受信される可能性
がある
• 同じメッセージを複数回処理した場合に悪影響を出さないように、冪等性を
意識したアプリケーションの設計を行う
(冪等性(べきとうせい)・・・1回行っても複数回行っても同じ結果になること)
Amazon SQSの上限
• メッセージ保持期限
• 削除されないメッセージはデフォルトで4日間保持
• 保持期間は60秒から14日の間で変更可能
• In Flight(受信されたメッセージ&Visibility Timeout内)メッセージ
• 1つのキューごとに最大120,000 In Flightメッセージ
• 超えるとOverLimitエラー
• メッセージの最大サイズは256KB
• 2013年6月に64KBから256KBに
• 画像やムービー等の大容量データには適していない
– S3に配置しメッセージ内にそのパスを記述
• [New!] (2015/10/27) Extended Client Libraryを利用すると、2GBまでのメッセージの送受信
が可能に。
– バックエンドとしては、S3に格納します。1メッセージにつき1回のS3アクセスとそのデータ量の課金がなされます。
参考URL: https://aws.amazon.com/jp/about-aws/whats-new/2015/10/now-send-payloads-up-to-2gb-with-amazon-sqs/
現場で使える実践的な機能
• 時間をおいてからメッセージを見せたい
• Delay Queue と Message Timers
• 何度受信されてもキューに残り続けるメッセージをなんとかしたい
• Dead Letter Queue
• SQS を使って簡単にスケーラブルなバッチ処理基盤を構築したい
• Elastic Beanstalk: Worker Tier
• セキュリティ
• AWS Identity and Access Management (IAM)連携
• モニタリング
• CloudWatchでの監視
時間をおいてからメッセージを見せたい
• Delay Queue(遅延キュー)
– キューに送られた新しいメッセージをある一定秒の間見えなくする
– 0〜900秒で設定
– 設定すると、そのキューに送信されるメッセージ全てに適用
参考URL: AWS Documentation » Amazon Simple Queue Service » Developer Guide » Amazon SQS 遅延キュー
https://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-delay-queues.html
時間をおいてからメッセージを見せたい
• Message Timers(メッセージタイマー)
– 個々のメッセージに対して、送信されてから見えるようになるまでの時間を
設定
– 0〜900秒で設定
– Message TimersはDelay Queueの遅延時間の設定を上書き
Send Message
Request
Delay Queue 30秒
Message Timers 60秒
メッセージが見え
るようになる時間
参考URL: AWS Documentation » Amazon Simple Queue Service » Developer Guide » Amazon SQS メッセージタイマー
https://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-timers.html
キューに残り続けるメッセージをなんとかしたい
• Dead Letter Queue(デッドレターキュー)
– メッセージを、指定回数(1〜1000で指定)受信後に、自動で別の
キュー(Dead Letter Queue)に移動する機能
– デフォルトは無効0〜900秒で設定
①メッセージ受信
②タスク失敗
③メッセージが削除されず
キューに残り続ける
④指定回数受
信後に移動
キュー
Dead Letter Queue
参考URL: AWS Documentation » Amazon Simple Queue Service » Developer Guide » Amazon SQS デッドレターキューの使用
https://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSDeadLetterQueue.html
スケーラブルなバッチ処理基盤
• 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パターン
– CDP(Cloud Design Pattern)
• 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まで到達していないメッセージ数
Agenda
• 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 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は、現在、「バージニア北部(us-east-1)」リージョンのみでのサービスです。
参考URL: http://aws.amazon.com/jp/sns/pricing/
Amazon SNSのコスト
• データ転送(アウト):
– 最初の 1 GB / 月: 0 USD /GB
– 10TBまで / 月: 0.140 USD /GB
〜中略〜
– 次の350TB / 月: 0.120 USD /GB
(※ 東京リージョンでの価格です)
参考URL: http://aws.amazon.com/jp/sns/pricing/
Amazon SNSをはじめるのは簡単です
• マネジメントコンソールでは Mobile Services の中に
Amazon SNSをはじめるのは簡単です
1. Topicの作成
2. TopicをSubscribe
3. Topicへ向けてメッセージをPublish
Amazon SNSをはじめるのは簡単です
1. Topicの作成
Amazon SNSをはじめるのは簡単です
1. Topicの作成
– TopicのARN(Amazon Resource Name)が生成される。リトライポリシー等も設定可能
Amazon SNSをはじめるのは簡単です
2. TopicのSubscribe
– 「Create Subscription」にてプロトコルを選択
(※ 疎通可能なエンドポイントが必要。たとえばここではEMailを選択)
Amazon SNSをはじめるのは簡単です
2. TopicのSubscribe
– Endpoint側でConfirmすることでメッセージ送信可能に
(EMailでは、確認のメールが送られてくる。その本文にあるURLをクリッ
クすることで、Confirm完了)
■メール受信
■ブラウザ
Amazon SNSをはじめるのは簡単です
3. Topicへ向けてメッセージをPublish(EMailの場合)
– マネジメントコンソールからPublish
Amazon SNSをはじめるのは簡単です
3. Topicへ向けてメッセージをPublish(E-Mailの場合)
– メッセージの受信(メッセージのメールを受信)
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) サポート
最近アップデートされた新機能のご紹介
• HTTPS enhancements
– 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
最近アップデートされた新機能のご紹介
参考URL: AWS Documentation » Amazon SNS » Developer Guide » HTTP/HTTPS エンドポイントへの Amazon SNS メッセージの送信
http://docs.aws.amazon.com/ja_jp/sns/latest/dg/SendMessageToHttp.html
• Message Attributes
– String, Number, Binaryの属性をサポート
– Mobile Push用Reserved Message Attributes
• Baidu
• MPNS
• WNS
最近アップデートされた新機能のご紹介
• TTLサポート
– Time To Live
• メッセージ単位で生存期間を設定
– 生存期間が過ぎて配信されていないメッセージは削除
• 例えば、飛行機を降りた後に受け取る、既に終わったフラッ
シュセールのメッセージ
最近アップデートされた新機能のご紹介
Agenda
• 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キューからパラレルにそれぞれのデータストアへ
Agenda
• Amazon Simple Queue Service (SQS)
• Amazon Simple Notification Service (SNS)
• SQSとSNSを組み合わせた構成
• まとめ
• Amazon SQS
– 信頼性が高く、スケーラビリティに優れ、十分に管理されたメッ
セージキューサービス
– 簡単にコスト効率良く、疎結合で柔軟なシステムを構築することが
できる
• Amazon SNS
– 信頼性が高く、スケーラビリティに優れ、十分に管理されたプッ
シュメッセージングサービス
– 簡単にコスト効率良く、マルチプロトコルで通知ができる
– AWSの様々なサービスと連携して通知可能
まとめ
参考
• 256KB以上のメッセージを送ったら
– Status Code 400でエラーとなる。
Amazon SQS からの応答にエラーが含まれています:
com.amazonaws.AmazonServiceException: One or more
parameters are invalid. Reason: Message must be shorter than
262144 bytes. (Service: AmazonSQS; Status Code: 400; Error
Code: InvalidParameterValue; Request ID: 693c5fec-04d0-5212-
adac-10e2d431a14e)
参考資料
• 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
Webinar資料の配置場所
• AWS クラウドサービス活用資料集
– http://aws.amazon.com/jp/aws-jp-introduction/
公式Twitter/Facebook
AWSの最新情報をお届けします
@awscloud_jp
検索
最新技術情報、イベント情報、お役立ち情報、お得なキャンペーン情報などを
日々更新しています!
もしくは
http://on.fb.me/1vR8yWm
ご参加ありがとうございました。

Contenu connexe

Tendances

20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
20190220 AWS Black Belt Online Seminar Amazon S3 / GlacierAmazon Web Services Japan
 
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAmazon 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
 
AWS Well-Architected Security とベストプラクティス
AWS Well-Architected Security とベストプラクティスAWS Well-Architected Security とベストプラクティス
AWS Well-Architected Security とベストプラクティスAmazon 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のログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAkihiro Kuwano
 
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
 
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch ServiceAmazon Web Services Japan
 
20180509 AWS Black Belt Online Seminar Amazon GuardDuty
20180509 AWS Black Belt Online Seminar Amazon GuardDuty20180509 AWS Black Belt Online Seminar Amazon GuardDuty
20180509 AWS Black Belt Online Seminar Amazon GuardDutyAmazon 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
 
20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSync20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSyncAmazon Web Services Japan
 
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon CognitoAmazon 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
 
20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon Athena20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon AthenaAmazon Web Services Japan
 
20191120 AWS Black Belt Online Seminar Amazon Managed Streaming for Apache Ka...
20191120 AWS Black Belt Online Seminar Amazon Managed Streaming for Apache Ka...20191120 AWS Black Belt Online Seminar Amazon Managed Streaming for Apache Ka...
20191120 AWS Black Belt Online Seminar Amazon Managed Streaming for Apache Ka...Amazon Web Services Japan
 
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQLAmazon Web Services Japan
 
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本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
 
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
20210126 AWS Black Belt Online Seminar AWS CodeDeploy20210126 AWS Black Belt Online Seminar AWS CodeDeploy
20210126 AWS Black Belt Online Seminar AWS CodeDeployAmazon Web Services Japan
 

Tendances (20)

20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
 
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormation
 
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
 
AWS Well-Architected Security とベストプラクティス
AWS Well-Architected Security とベストプラクティスAWS Well-Architected Security とベストプラクティス
AWS Well-Architected Security とベストプラクティス
 
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のログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
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
 
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service
 
20180509 AWS Black Belt Online Seminar Amazon GuardDuty
20180509 AWS Black Belt Online Seminar Amazon GuardDuty20180509 AWS Black Belt Online Seminar Amazon GuardDuty
20180509 AWS Black Belt Online Seminar Amazon GuardDuty
 
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アカウント シングルサインオンの設計と運用
 
20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSync20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSync
 
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
 
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...
 
20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon Athena20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon Athena
 
AWSからのメール送信
AWSからのメール送信AWSからのメール送信
AWSからのメール送信
 
20191120 AWS Black Belt Online Seminar Amazon Managed Streaming for Apache Ka...
20191120 AWS Black Belt Online Seminar Amazon Managed Streaming for Apache Ka...20191120 AWS Black Belt Online Seminar Amazon Managed Streaming for Apache Ka...
20191120 AWS Black Belt Online Seminar Amazon Managed Streaming for Apache Ka...
 
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
 
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本
 
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
 
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
20210126 AWS Black Belt Online Seminar AWS CodeDeploy20210126 AWS Black Belt Online Seminar AWS CodeDeploy
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
 

Similaire à AWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNS

AWS Black Belt Techシリーズ Amazon SNS / Amazon SQS
AWS Black Belt Techシリーズ Amazon SNS / Amazon SQSAWS Black Belt Techシリーズ Amazon SNS / Amazon SQS
AWS Black Belt Techシリーズ Amazon SNS / Amazon SQSAmazon Web Services Japan
 
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 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 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
 
AWS初心者向けWebinar AWS上でのDDoS対策
AWS初心者向けWebinar AWS上でのDDoS対策AWS初心者向けWebinar AWS上でのDDoS対策
AWS初心者向けWebinar AWS上でのDDoS対策Amazon Web Services Japan
 
2016年9月のAWSサービスアップデートまとめ
 2016年9月のAWSサービスアップデートまとめ 2016年9月のAWSサービスアップデートまとめ
2016年9月のAWSサービスアップデートまとめAmazon Web Services Japan
 
AWS Black Belt Techシリーズ Amazon CloudWatch & Auto Scaling
AWS Black Belt Techシリーズ  Amazon CloudWatch & Auto ScalingAWS Black Belt Techシリーズ  Amazon CloudWatch & Auto Scaling
AWS Black Belt Techシリーズ Amazon CloudWatch & Auto ScalingAmazon Web Services Japan
 
Scaling on AWS - Feb 2016
Scaling on AWS - Feb 2016Scaling on AWS - Feb 2016
Scaling on AWS - Feb 2016Eiji Shinohara
 
[要約] 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
 
AWS初心者向けWebinar AWS上にWebサーバーシステムを作ってみましょう ~まずは仮想サーバーから[演習つき]~
AWS初心者向けWebinar AWS上にWebサーバーシステムを作ってみましょう ~まずは仮想サーバーから[演習つき]~AWS初心者向けWebinar AWS上にWebサーバーシステムを作ってみましょう ~まずは仮想サーバーから[演習つき]~
AWS初心者向けWebinar AWS上にWebサーバーシステムを作ってみましょう ~まずは仮想サーバーから[演習つき]~Amazon Web Services Japan
 
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormationAWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormationAmazon Web Services Japan
 
Security Night #1 AWSのセキュリティアプローチとTLS
Security Night #1 AWSのセキュリティアプローチとTLSSecurity Night #1 AWSのセキュリティアプローチとTLS
Security Night #1 AWSのセキュリティアプローチとTLShkiriyam
 
SimpleDB, SQS, SNS詳細 - AWSマイスターシリーズ
SimpleDB, SQS, SNS詳細 - AWSマイスターシリーズSimpleDB, SQS, SNS詳細 - AWSマイスターシリーズ
SimpleDB, SQS, SNS詳細 - AWSマイスターシリーズSORACOM, INC
 

Similaire à AWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNS (20)

AWS Black Belt Techシリーズ Amazon SNS / Amazon SQS
AWS Black Belt Techシリーズ Amazon SNS / Amazon SQSAWS Black Belt Techシリーズ Amazon SNS / Amazon SQS
AWS Black Belt Techシリーズ Amazon SNS / Amazon SQS
 
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 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 & cloudpack & CDP
AWS & cloudpack & CDPAWS & cloudpack & CDP
AWS & cloudpack & CDP
 
はじめてのAWS CLI
はじめてのAWS CLIはじめてのAWS CLI
はじめてのAWS CLI
 
アマゾンクラウドの真価
アマゾンクラウドの真価アマゾンクラウドの真価
アマゾンクラウドの真価
 
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
 
AWS初心者向けWebinar AWS上でのDDoS対策
AWS初心者向けWebinar AWS上でのDDoS対策AWS初心者向けWebinar AWS上でのDDoS対策
AWS初心者向けWebinar AWS上でのDDoS対策
 
2016年9月のAWSサービスアップデートまとめ
 2016年9月のAWSサービスアップデートまとめ 2016年9月のAWSサービスアップデートまとめ
2016年9月のAWSサービスアップデートまとめ
 
20170725 black belt_monitoring_on_aws
20170725 black belt_monitoring_on_aws20170725 black belt_monitoring_on_aws
20170725 black belt_monitoring_on_aws
 
AWS Black Belt Techシリーズ Amazon CloudWatch & Auto Scaling
AWS Black Belt Techシリーズ  Amazon CloudWatch & Auto ScalingAWS Black Belt Techシリーズ  Amazon CloudWatch & Auto Scaling
AWS Black Belt Techシリーズ Amazon CloudWatch & Auto Scaling
 
Black Belt Online Seminar Amazon CloudWatch
Black Belt Online Seminar Amazon CloudWatchBlack Belt Online Seminar Amazon CloudWatch
Black Belt Online Seminar Amazon CloudWatch
 
Scaling on AWS - Feb 2016
Scaling on AWS - Feb 2016Scaling on AWS - Feb 2016
Scaling on AWS - Feb 2016
 
[要約] 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初心者向けWebinar AWS上にWebサーバーシステムを作ってみましょう ~まずは仮想サーバーから[演習つき]~
AWS初心者向けWebinar AWS上にWebサーバーシステムを作ってみましょう ~まずは仮想サーバーから[演習つき]~AWS初心者向けWebinar AWS上にWebサーバーシステムを作ってみましょう ~まずは仮想サーバーから[演習つき]~
AWS初心者向けWebinar AWS上にWebサーバーシステムを作ってみましょう ~まずは仮想サーバーから[演習つき]~
 
AWS Update 2011/10
AWS Update 2011/10AWS Update 2011/10
AWS Update 2011/10
 
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormationAWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
 
Security Night #1 AWSのセキュリティアプローチとTLS
Security Night #1 AWSのセキュリティアプローチとTLSSecurity Night #1 AWSのセキュリティアプローチとTLS
Security Night #1 AWSのセキュリティアプローチとTLS
 
SimpleDB, SQS, SNS詳細 - AWSマイスターシリーズ
SimpleDB, SQS, SNS詳細 - AWSマイスターシリーズSimpleDB, SQS, SNS詳細 - AWSマイスターシリーズ
SimpleDB, SQS, SNS詳細 - AWSマイスターシリーズ
 

Plus de 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
 
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
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介Amazon 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
 

Plus de Amazon Web Services Japan (20)

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)
 
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
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
 
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のご紹介
 

Dernier

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 

Dernier (10)

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 

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

  • 1. Amazon Simple Queue Service(SQS) Amazon Simple Notification Service(SNS) AWS Black Belt Tech Webinar 2016 アマゾン ウェブ サービス ジャパン株式会社
  • 2. AWS Black Belt Tech Webinar 2016 • AWSJのTechメンバがAWSのプロダクトを 深堀りして解説するWebセミナー – サービスの概要、使いどころの説明 – アップデートのキャッチアップ • 毎週水曜 18〜19時 • 申し込みサイト – http://aws.amazon.com/jp/event_schedule/ • Twitter ハッシュタグ – #awsblackbelt で確認 2
  • 3. Agenda • Amazon Simple Queue Service (SQS) • Amazon Simple Notification Service (SNS) • SQSとSNSを組み合わせた構成 • まとめ
  • 4. Agenda • 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 データ データデータ データデータ データデータ リソースは 自動的に伸縮 データデータ
  • 21. Amazon SQSで利用する識別子 • Queue URL(キューURL) – キューを作成する際に払い出されるURL – https://sqs.リージョン.amazonaws.com/アカウントID/キュー名 • Message ID(メッセージID) – システムで割り当てられたID (例:0a41026d-283b-4e5c-9b3f-debffb709ef4) • Receipt Handle(受信ハンドル) – メッセージの削除や可視性(Visibility)の変更には、”受信ハンドル”を指定する必要がある – メッセージを受信するたびに”受信ハンドル”も受信する – 同じメッセージでも、受信する度に異なる”受信ハンドル”を受け取る – このため、常に最新の受信ハンドルを使って削除等をすること 参考URL: http://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/ImportantIdentifiers.html
  • 22. Amazon SQSをはじめるのは簡単です • AWS CLI編 – キューの作成(que01という名前のキューを作る) • 例:リージョン指定(ここでは東京) – 実行結果:キューURLが表示される C:¥> aws sqs create-queue --queue-name que01 --region ap-northeast-1 { “QueueUrl”: “https://ap-northeast-1.queue.amazonaws.com/<アカウントID>/que01" } C:¥> aws sqs create-queue --queue-name que02 { “QueueUrl”: “https://queue.amazonaws.com/<アカウントID>/que02" } 参考URL: https://docs.aws.amazon.com/ja_jp/general/latest/gr/rande.html#sqs_region • 例:リージョン指定せず(デフォルトはバージニア北部(us-east-1)) – 実行結果: (us-east-1のときは、queue.amazon.comとなる) キューURLは、「レガシーエンドポイント」という表示もあり、以下のようなURLになります。これは、CLIまたは、SDK for Pythonのとき利用可能です。 ・バージニア北部リージョン(us-east-1): queue.amazonaws.com ・その他リージョン: <リージョン名>.queue.amazonaws.com
  • 23. Amazon SQSをはじめるのは簡単です • AWS CLI編 – キューの一覧表示: 作成されたことを確認 • 例: デフォルトリージョンが「オレゴン」(us-west-2)の場合 – 結果: 存在するキューの、リージョン名付のキューURLが返却されている C:¥> aws sqs list-queues { "QueueUrls": [ “https://us-west-2.queue.amazonaws.com/ <アカウントID> /que011", “https://us-west-2.queue.amazonaws.com/ <アカウントID> /que012", ~ (中略) ~ “https://us-west-2.queue.amazonaws.com/ <アカウントID> /que019" ] }
  • 24. Amazon SQSをはじめるのは簡単です • AWS CLI編 – メッセージの送信 • 例: デフォルトリージョンが「オレゴン」(us-west-2)の場合(1行で) – 結果: ハッシュされた結果とメッセージIDが返却される C:¥> aws sqs send-message --queue-url https://us-west-2.queue.amazonaws.com/<アカウントID> /que011 --message-body AAAAAAAAAAAAAAAAAAAAA { "MD5OfMessageBody": "5bc308c3d25645d2516222e055134c04", "MessageId": "fc7d64b4-b015-4dd7-b118-11c20fcd85ac" }
  • 25. Amazon SQSをはじめるのは簡単です • AWS CLI編 – メッセージの送信 • 例: デフォルトリージョンが「オレゴン」(us-west-2)の場合(1行で) – 結果: ハッシュされた結果とメッセージIDが返却される C:¥> aws sqs send-message --queue-url https://us-west-2.queue.amazonaws.com/<アカウントID> /que011 --message-body AAAAAAAAAAAAAAAAAAAAA { "MD5OfMessageBody": "5bc308c3d25645d2516222e055134c04", "MessageId": "fc7d64b4-b015-4dd7-b118-11c20fcd85ac" }
  • 26. Amazon SQSをはじめるのは簡単です • AWS CLI編 – メッセージの受信 • 例: デフォルトリージョンが「オレゴン」(us-west-2)の場合 – 結果: メッセージと共に、「受信ハンドル」や「メッセージID」も返却される C:¥> aws sqs receive-message --queue-url https://us-west-2.queue.amazonaws.com/<アカウントID> /que011 { "Messages": [ { "Body": "'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'", “ReceiptHandle”: “AQEBP3Zah1+ofjs… ~中略~ …ryXHENpytJ2kAAOFI8n4wr03bVog==", "MD5OfBody": "5bc308c3d25645d2516222e055134c04", "MessageId": "fc7d64b4-b015-4dd7-b118-11c20fcd85ac" } ] }
  • 27. Amazon SQSをはじめるのは簡単です • AWS CLI編 – メッセージの削除 • 例: デフォルトリージョンが「オレゴン」(us-west-2)の場合 – 結果: 何も返却されない C:¥> aws sqs delete-message --queue-url https://us-west-2.queue.amazonaws.com/<アカウントID> /que011 --receipt-handle “AQEBP3Zah1+ofjs… ~中略~ …ryXHENpytJ2kAAOFI8n4wr03bVog=="
  • 28. 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! "));
  • 29. 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)); sqs.deleteQueue(new DeleteQueueRequest(myQueueUrl));
  • 30. Amazon SQSをはじめるのは簡単です • AWS SDK編 – AWS SDKは現時点では以下の言語をサポート • 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
  • 31. Amazon SQSのコスト • 無料利用枠 – (SQSご利用全ユーザー) 毎月100万キューイングリクエストまで無料 • SQSリクエスト100万件につき0.476 USD (※東京リージョン) – 複数メッセージを1つのリクエストとしてバッチ送信することも可能 • データ転送 – 送信(アウト) • 最初の1GB/月: 0 USD • 10TBまで/月: 0.140 USD GBあたり 〜略〜 • 次の350TBまで /月: 0.120 USD GBあたり • 350TBを越える場合の価格はお問い合わせください • 同一リージョン内のSQSとEC2インスタンスのデータ転送は無料 参考URL: https://aws.amazon.com/jp/sqs/pricing/
  • 32. 効率良くAmazon SQSを使う • Visibility Timeout + EC2 Spot Instance • 一度のAPIコールで10件のメッセージを送信/受信 • Long PollでReceive Messageコールの頻度を抑える http://www.slideshare.net/AmazonWebServices/advanced-topics-session-4-architecting-forhighavailability
  • 33. Amazon SQS 効率良くAmazon SQSを使う • Visibility Timeoutとは – メッセージ受信者が複数の場合 送信 受信1 受信2 受信3
  • 34. Amazon SQS 効率良くAmazon SQSを使う • Visibility Timeoutとは – 受信1がメッセージを取得 送信 受信1 受信2 受信3
  • 35. Amazon SQS 効率良くAmazon SQSを使う • Visibility Timeoutとは – 30秒間(デフォルト設定。変更可能。最大12時間)、受信2と受信 3にはメッセージを見せない(in Flight) 送信 受信1 受信2 受信3 X X
  • 36. Amazon SQS 効率良くAmazon SQSを使う • Visibility Timeoutとは – 受信1がキューからメッセージを削除せず、タイムアウトした場 合はどの受信サーバーからもメッセージが受信可能に 送信 受信1 受信2 受信3
  • 37. 効率良くAmazon SQSを使う • Amazon EC2 – Spot Instances – Amazon EC2 の価格をお客様が指定できるシステム – 入札価格がその時点のスポット価格を上回っていれば、インスタンス を実行できる • スポット価格は、需要と供給の関係に基づいてリアルタイムで変動 • スポット価格は一般的に、オンデマンド価格を大幅に下回る (2015年3月時点で、平均で約8割下回っている) – 「入札額 >= スポット価格」なら指定したインスタンスが起動 – 「入札額 < スポット価格」となるとインスタンスがターミネート – 1時間未満の使用料は課金されない
  • 38. 効率良くAmazon SQSを使う • Visibility Timeout + EC2 Spot Instances – Spot Instanceを使っていて、受信1がターミネートされても、 Visibility Timeout後に他のインスタンスが処理すれば良い – コスト削減効果: 大 Amazon SQS 送信 受信1 受信2 受信3
  • 39. 効率良く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
  • 40. 効率良く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" }, ... 〜略〜
  • 41. 効率良く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" },…
  • 42. 効率良くAmazon SQSを使う • クライアントサイドでのバッファリング – AWS SDK for Java の AmazonSQSAsyncClient を利用 – 最大10リクエストのバッファリング処理を簡単に実現可能 – 下記のパラメータを設定し微調整することが可能 • maxBatchOpenMs: 最大待ち時間をミリ秒単位で指定 • maxBatchSize: 1回のリクエストのメッセージの最大数を指定
  • 43. 効率良くAmazon SQSを使う • Long Polling – 受信者が頻繁にSQSに対してReceive Messageコールをするとリク エスト回数がかさみ、コスト効率がよくない – “メッセージが取得出来るまで”待つ時間を設定できる(0秒から20秒)
  • 44. 効率良くAmazon SQSを使う • Long Polling と Short Polling の使い分け – 基本的に Long Polling 推奨(呼び出し元のCPU負荷, リクエスト課金等) • 複数のキューを使う場合は、マルチスレッドでPolling – Receive Message呼び出し後、直ちに応答が必要な場合はShort Polling • 例えば複数のキューを単一スレッドでポーリングする場合、Long Pollingするとその間、他のキューにアクセスできない Polling処理 Polling処理 スレッド1 スレッド2 Polling処理 Polling処理 スレッド1
  • 45. 最近アップデートされた新機能のご紹介 1. SQS Message Attributes 2. AWS CloudTrail対応 3. Delete All Messages in SQS Queue 4. SQS Client Library for Java Messaging Service (JMS)
  • 46. 最近アップデートされた新機能のご紹介 1. SQS Message Attributes – メッセージBodyとは別に属性を10個まで定義可能に – 属性はName、Type(String/Number/Binary)、Valueで定義 • Typeはカスタム可能(例: float, int)
  • 47. 最近アップデートされた新機能のご紹介 2. AWS CloudTrail対応 – キューの設定変更等に関するAPIコールのログをS3に保存
  • 48. 最近アップデートされた新機能のご紹介 3. Delete All Messages in SQS Queue – PurgeQueue (「キューの消去」)アクションで キュー内のメッセージの一括削除が可能に
  • 49. 最近アップデートされた新機能のご紹介 4. SQS Client Library for Java Messaging Service (JMS) – JMS: Javaでメッセージングサービスを利用するための標準API – SQSをJMSプロバイダーとして利用可能に • ご自身でJMSクラスタサーバーの保守運用が不要に!
  • 50. Amazon SQSを使う上での注意点 • 順序はベストエフォート • 出来る限り順序を維持しようとするが保証しない • タイムスタンプやシーケンス番号をメッセージに • 同じメッセージを複数回受信する可能性がある(少なくとも1回の配信) • SQSはメッセージを複数のサーバ/データセンタに保持 • メッセージ削除時にサーバが一時故障中の場合、復旧後に受信される可能性 がある • 同じメッセージを複数回処理した場合に悪影響を出さないように、冪等性を 意識したアプリケーションの設計を行う (冪等性(べきとうせい)・・・1回行っても複数回行っても同じ結果になること)
  • 51. Amazon SQSの上限 • メッセージ保持期限 • 削除されないメッセージはデフォルトで4日間保持 • 保持期間は60秒から14日の間で変更可能 • In Flight(受信されたメッセージ&Visibility Timeout内)メッセージ • 1つのキューごとに最大120,000 In Flightメッセージ • 超えるとOverLimitエラー • メッセージの最大サイズは256KB • 2013年6月に64KBから256KBに • 画像やムービー等の大容量データには適していない – S3に配置しメッセージ内にそのパスを記述 • [New!] (2015/10/27) Extended Client Libraryを利用すると、2GBまでのメッセージの送受信 が可能に。 – バックエンドとしては、S3に格納します。1メッセージにつき1回のS3アクセスとそのデータ量の課金がなされます。 参考URL: https://aws.amazon.com/jp/about-aws/whats-new/2015/10/now-send-payloads-up-to-2gb-with-amazon-sqs/
  • 52. 現場で使える実践的な機能 • 時間をおいてからメッセージを見せたい • Delay Queue と Message Timers • 何度受信されてもキューに残り続けるメッセージをなんとかしたい • Dead Letter Queue • SQS を使って簡単にスケーラブルなバッチ処理基盤を構築したい • Elastic Beanstalk: Worker Tier • セキュリティ • AWS Identity and Access Management (IAM)連携 • モニタリング • CloudWatchでの監視
  • 53. 時間をおいてからメッセージを見せたい • Delay Queue(遅延キュー) – キューに送られた新しいメッセージをある一定秒の間見えなくする – 0〜900秒で設定 – 設定すると、そのキューに送信されるメッセージ全てに適用 参考URL: AWS Documentation » Amazon Simple Queue Service » Developer Guide » Amazon SQS 遅延キュー https://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-delay-queues.html
  • 54. 時間をおいてからメッセージを見せたい • Message Timers(メッセージタイマー) – 個々のメッセージに対して、送信されてから見えるようになるまでの時間を 設定 – 0〜900秒で設定 – Message TimersはDelay Queueの遅延時間の設定を上書き Send Message Request Delay Queue 30秒 Message Timers 60秒 メッセージが見え るようになる時間 参考URL: AWS Documentation » Amazon Simple Queue Service » Developer Guide » Amazon SQS メッセージタイマー https://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-timers.html
  • 55. キューに残り続けるメッセージをなんとかしたい • Dead Letter Queue(デッドレターキュー) – メッセージを、指定回数(1〜1000で指定)受信後に、自動で別の キュー(Dead Letter Queue)に移動する機能 – デフォルトは無効0〜900秒で設定 ①メッセージ受信 ②タスク失敗 ③メッセージが削除されず キューに残り続ける ④指定回数受 信後に移動 キュー Dead Letter Queue 参考URL: AWS Documentation » Amazon Simple Queue Service » Developer Guide » Amazon SQS デッドレターキューの使用 https://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSDeadLetterQueue.html
  • 56. スケーラブルなバッチ処理基盤 • 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
  • 57. スケーラブルなバッチ処理基盤 • Job Observerパターン – CDP(Cloud Design Pattern) • http://aws.clouddesignpattern.org/index.php/CDP:Job_Observerパターン – AWSブログ • http://aws.typepad.com/aws_japan/2015/01/auto-scaling-with-sqs.html
  • 58. セキュリティ • 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”
  • 59. モニタリング • CloudWatchでの監視 • 利用可能メトリクス NumberOfMessageSent キューに追加されたメッセージ数 SentMessageSize キューに追加されたメッセージの合計サイズ NumberOfMessageReceived ReceiveMessageコールによって返されたメッセージ数 NumberOfEmptyReceives ReceiveMessageによって返さなかったメッセージ数 NumberOfMessagesDeleted キューから削除されたメッセージ数 ApproximateNumberOfMessageDelayed Delayされすぐに読み込みができなかったメッセージ数。Delay Queueまたは メッセージ送信時のDelay設定によるもの ApproximateNumberOfMessageVisible キューから利用可能になったメッセージ数 ApproximateNumberOfMessageNotVisible クライアントから送信されたが削除されていないか、visibility winodowの endまで到達していないメッセージ数
  • 60. Agenda • Amazon Simple Queue Service (SQS) • Amazon Simple Notification Service (SNS) • SQSとSNSを組み合わせた構成 • まとめ
  • 61. Amazon Simple Notification Service (SNS) • Amazon SNSはマルチプロトコルに対応したフルマネージド通知サービス Publish 1.Topicに メッセージを送信 2. マルチプロトコルで通知 Amazon SNS Publisher Topic HTTP(S) EMAIL SQS Mobile Push Subscriber
  • 62. 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は、現在、「バージニア北部(us-east-1)」リージョンのみでのサービスです。 参考URL: http://aws.amazon.com/jp/sns/pricing/
  • 63. Amazon SNSのコスト • データ転送(アウト): – 最初の 1 GB / 月: 0 USD /GB – 10TBまで / 月: 0.140 USD /GB 〜中略〜 – 次の350TB / 月: 0.120 USD /GB (※ 東京リージョンでの価格です) 参考URL: http://aws.amazon.com/jp/sns/pricing/
  • 65. Amazon SNSをはじめるのは簡単です 1. Topicの作成 2. TopicをSubscribe 3. Topicへ向けてメッセージをPublish
  • 67. Amazon SNSをはじめるのは簡単です 1. Topicの作成 – TopicのARN(Amazon Resource Name)が生成される。リトライポリシー等も設定可能
  • 68. Amazon SNSをはじめるのは簡単です 2. TopicのSubscribe – 「Create Subscription」にてプロトコルを選択 (※ 疎通可能なエンドポイントが必要。たとえばここではEMailを選択)
  • 69. Amazon SNSをはじめるのは簡単です 2. TopicのSubscribe – Endpoint側でConfirmすることでメッセージ送信可能に (EMailでは、確認のメールが送られてくる。その本文にあるURLをクリッ クすることで、Confirm完了) ■メール受信 ■ブラウザ
  • 72. Amazon Simple Notification Service (SNS) • AWSの様々なサービスと連携して通知可能 – 利用例 • Amazon CloudWatch – Billing Alertの通知 • Amazon SES – Bounce/Complaintのフィードバック通知 • Amazon S3 – ファイルがアップロードされた時の通知 • Amazon Elastic Transcoder – 動画変換処理完了/失敗時の通知
  • 73. Amazon SNSと他サービスの連携 • Amazon CloudWatchのBilling Alertの通知
  • 74. Amazon SNSと他サービスの連携 • Amazon SESのBounce/Complaintのフィードバック通知
  • 75. Amazon SNSと他サービスの連携 • Amazon S3にファイルがアップロードされた時の通知
  • 76. Amazon SNSと他サービスの連携 • Amazon Elastic Transcoderでの動画変換処理完了/失敗時の通知
  • 77. • HTTPS enhancements – Server Name Indication (SNI) サポート – Basic認証 および Digest認証のサポート • Message Attributes • Time To Live (TTL) サポート 最近アップデートされた新機能のご紹介
  • 78. • HTTPS enhancements – 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 最近アップデートされた新機能のご紹介 参考URL: AWS Documentation » Amazon SNS » Developer Guide » HTTP/HTTPS エンドポイントへの Amazon SNS メッセージの送信 http://docs.aws.amazon.com/ja_jp/sns/latest/dg/SendMessageToHttp.html
  • 79. • Message Attributes – String, Number, Binaryの属性をサポート – Mobile Push用Reserved Message Attributes • Baidu • MPNS • WNS 最近アップデートされた新機能のご紹介
  • 80. • TTLサポート – Time To Live • メッセージ単位で生存期間を設定 – 生存期間が過ぎて配信されていないメッセージは削除 • 例えば、飛行機を降りた後に受け取る、既に終わったフラッ シュセールのメッセージ 最近アップデートされた新機能のご紹介
  • 81. Agenda • Amazon Simple Queue Service (SQS) • Amazon Simple Notification Service (SNS) • SQSとSNSを組み合わせた構成 • まとめ
  • 82. • Cloud Design Pattern: Fanoutパターン – http://aws.clouddesignpattern.org/index.php/CDP:Fanoutパターン SQSとSNSを組み合わせた構成
  • 83. • 画像をフォームからアップロードして登録 – 画像ファイルはS3 – 画像のコメントはRDS – 画像のメタデータはDynamoDB SQSとSNSを組み合わせた構成 ①リクエストを受けた WebアプリはSNSトピックへ ②SNSから それぞれのSQSキューへ Amazon S3 Amazon RDS DynamoDB ③SQSキューからパラレルにそれぞれのデータストアへ
  • 84. • 画像をフォームからアップロードして登録 – 画像ファイルはS3 – 画像のコメントはRDS ← ボトルネックであることが発覚したら… – 画像のメタデータはDynamoDB SQSとSNSを組み合わせた構成 ①リクエストを受けた WebアプリはSNSトピックへ ②SNSから それぞれのSQSキューへ Amazon S3 Amazon RDS DynamoDB ③SQSキューからパラレルにそれぞれのデータストアへ スケールアップ&アウト
  • 85. • SNS→SQSは無料です – リクエスト単価(64 KB のチャンク毎に 1リクエストとして課金) • Simple Queue Service(SQS): 無料 SQSとSNSを組み合わせた構成 ①リクエストを受けた WebアプリはSNSトピックへ ②SNSから それぞれのSQSキューへ Amazon S3 Amazon RDS DynamoDB ③SQSキューからパラレルにそれぞれのデータストアへ
  • 86. Agenda • Amazon Simple Queue Service (SQS) • Amazon Simple Notification Service (SNS) • SQSとSNSを組み合わせた構成 • まとめ
  • 87. • Amazon SQS – 信頼性が高く、スケーラビリティに優れ、十分に管理されたメッ セージキューサービス – 簡単にコスト効率良く、疎結合で柔軟なシステムを構築することが できる • Amazon SNS – 信頼性が高く、スケーラビリティに優れ、十分に管理されたプッ シュメッセージングサービス – 簡単にコスト効率良く、マルチプロトコルで通知ができる – AWSの様々なサービスと連携して通知可能 まとめ
  • 88. 参考 • 256KB以上のメッセージを送ったら – Status Code 400でエラーとなる。 Amazon SQS からの応答にエラーが含まれています: com.amazonaws.AmazonServiceException: One or more parameters are invalid. Reason: Message must be shorter than 262144 bytes. (Service: AmazonSQS; Status Code: 400; Error Code: InvalidParameterValue; Request ID: 693c5fec-04d0-5212- adac-10e2d431a14e)
  • 89. 参考資料 • 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