20120303 jaws summit-meister-06_sns-sqs

Post on 05-Dec-2014

1.298 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

2012.3.3 JAWS SUMMIT 2012 マイスターリターンズにて紹介された資料です。

TRANSCRIPT

AWSマイスターシリーズ SQS, SNS, SWF (#jawsug #マイスター)

2012年03月03日

大谷 晋平 (@shot6 ) ソリューションアーキテクト

AWSマイスターシリーズ ~Simple Queue Service~

2012年03月03日

大谷 晋平 (@shot6 ) ソリューションアーキテクト

アジェンダ

SQSとは

SQSの機能

SQSの使いどころ

Q&A

SQS(Simple Queue Service)とは

AWSの隠し技

SQS(Simple Queue Service)とは

分散キューサービス AWSをスケールアウトして使うためのキーコ

ンポーネント

最低一度は届くことを保証

信頼性が高く、すぐに使えて、管理者不要、低コスト

2006年よりある最古参サービス

何故キューが必要か?

“分割できないものは、スケール出来ない” by Randy Shoup(eBay) スケールするには疎結合なアーキテクチャに

する必要がある

疎結合アーキテクチャに非同期通信が不可欠

非同期通信の典型例がキューシステム

SQSの機能

“分散”キューサービス

最低一度のメッセージ到達保障

シンプルなAPI

キューシステムのインストール不要、SDKから直接使える

分散キューサービス

メッセージは自動的に複数DC間でレプリケーションされる

メッセージロストを防ぐ

Persistent Message

自分で高い耐障害性を持つキューシステムを構築するのは困難

シンプルなAPIとSDK

CreateQueue

SendMessage

ReceiveMessage

ChangeMessageVisibility

DeleteMessage

バッチ処理

SDKはJava/.NET/PHP/Ruby

動作イメージ

1.キューの作成/4.キューの削除 (http://sqs.ap-northeast-1.amazonaws.com/123456789012/queue2)

管理者

メッセージ送信者 (Writer or Producer)

2.メッセージ送信

メッセージ受信者 (Reader or Consumer)

3.メッセージ受信

メッセージの到達保障

1.キューの作成/4.キューの削除 (http://sqs.ap-northeast-1.amazonaws.com/123456789012/queue2)

管理者

2.メッセージ送信 3.メッセージ受信

Visibility Timeout

Visibility Timeoutとは

Readerがメッセージを受信した場合に、ある一定期間その他のReaderがメッセージは見えなくなる

メッセージ自体はユーザが明示的に消さない限り残存する(最大2週間)

Visibility Timeoutとは(2) あるReader-Aが メッセージ1を依頼

あるReader-Dが メッセージ1を依頼

あるReader-Bが 依頼

あるReader-Cが 依頼

メッセージは 返却されない

メッセージは 返却されない

メッセージの返却 削除されていない場合 (メッセージの 返却)

この間にReader-Aは、 ・受信したメッセージを処理する ・処理出来たらメッセージを削除する

最低一度のメッセージ到達保障

At-Least-Once delivery

メッセージは複数DCにコピー

堅牢性・耐障害性にフォーカス

デメリット:稀に複数回メッセージが届くこともある

メッセージの状態管理

複数回届く前提

メッセージサンプリング

メッセージは送信後すぐに取れるとは限らない

受信リクエストを送り続ければ取れる

イベンチュアルコンシステンシ前提

サンプリングしたサーバからメッセージを順次返却 (メッセージEが含まれていない)

メッセージの受信者

SQSキューの分散されたサーバ群

サンプリング対象サーバ (グレー)

開発者に優しい無料枠と価格

月間100,000 requestまで無料

価格

10,000リクエストあたり$0.01

データトランスファーはAWSから外部に送出する場合に限り、$0.201/GBから課金

SQSのキューのセキュリティ

IAMまたはポリシーベースでユーザとアクションを制限する事が可能

{ "Statement":[{ "Effect":"Allow", "Action":"sqs:SendMessage", "Resource":"arn:aws:sqs:*:123456789012:SampleQueue" } , { "Effect":"Deny", "NotAction":"sqs:SendMessage", "NotResource":"arn:aws:sqs:*:123456789012:SampleQueue" } ] }

SQSの制約

メッセージの順序性は保証しない

メッセージの保存は最大2週間まで

メッセージのサイズは64KBまで

キュー内に入るメッセージ数には制限なし

キュー名は80文字まで

最近のSQS機能追加

CloudWatchによるメトリクス監視

AutoScalingと組み合わせやすく

マネージメントコンソールから利用可能に

ディレイキュー

メッセージタイマー

バッチAPI

SQSをいつ使うか?

AWSクラウド内での疎結合アーキテクチャを採用したい場合

コンポーネント間の依存関係を減らしたい

AWSクラウドとオンプレミスの間でのやり取りのインタフェース

受諾と処理→結果の送信の分離

顧客はいつSQSを使っているか?

Webアプリケーション/SaaS

ビッグデータや バッチ処理

ハイブリッド クラウド連携

オンプレミスとAWSクラウド連携

EMRやAWSクラウドの その他サービスとの連携に利用

イメージ処理、インデクシング等のシステム間の疎結合なやり取りに利用

SQSまとめ

AWSが提供するキューサービス

最低一度は届くことを保証

分散キューのためスケールする

高い耐障害性

シンプルにすぐに使える

セキュア

低コスト

AWSマイスターシリーズ ~Simple Notification Service~

2012年03月03日

大谷 晋平 (@shot6 ) ソリューションアーキテクト

アジェンダ

SNSとは

SNSの機能

SNSの使いどころ

Q&A

SNS(Simple Notification Service)とは

AWSの小道具

SNSとは

クラウド上の通知サービス

簡単に使えて、マルチプロトコル

従量課金制で非常に安い

インストール・管理不要ですぐに使える

SNSの機能

様々なプロトコルに対応した通知プラットフォーム

メール、SQSキュー、HTTP/HTTPSコールバック、SMS

シンプルなAPI/SDK

プッシュベースアーキテクチャ

非常に低価格

動作イメージ

1.トピックの作成/5.トピックの削除 管理者

メッセージ配信者 (Publisher)

3.メッセージ配信

メッセージ購読者 (Subscriber)

2.トピック購読

4.メッセージ受信

利用用途

様々なプロトコルを通じたアプリケーション間のフックに使う

AWSクラウド上のアプリケーション S3

ファイル

SNS

完了通知依頼

ジョブ 完了通知&ジョブ実行

利用用途

S3上からファイルが削除されたときをフック

AWSクラウド上のアプリケーション S3

SNS

削除通知依頼

削除されたことを通知

ユーザが削除

SQSとSNSの違い

SQSはポーリングモデル

1:1コミュニケーション

Producer-Consumer

SNSはプッシュモデル

1:Nコミュニケーション

Publisher-Subscriber

開発者に優しい無料枠と価格

月間100,000 requestまで無料

価格

100,000リクエストあたり$0.06

HTTPは100,000あたり$0.06

メールは100,000通あたり$2.0

100SMSあたり、$0.75

SQSにはチャージなし

SNSの制約

最大1アカウント100トピックまで

メッセージは最大8KBまで

SNSまとめ

クラウド上の通知サービス

簡単に使えて、マルチプロトコル

従量課金制で非常に安い

インストール・管理不要ですぐに使える

AWSマイスターシリーズ ~Simple Workflow Service~

2012年03月03日

大谷 晋平 (@shot6 ) ソリューションアーキテクト

アジェンダ

SWFとは

SWFの機能

SWFとは

SWFとは

AWSマエストロ

http://ja.wikipedia.org/wiki/%E6%8C%87%E6%8F%AE%E8%80%85

SWFとは

AWS/オンプレミスを使った連携を自動化

ワークフローの階層構造も可能

Flow Framework

Javaで出来たSWFを使うためのワークフローフレームワーク

DSLを実装していて、APTでコードを自動生成→コンパイル

サンプルも豊富

SWFまとめ

AWS上のコンポーネント、オンプレミス問わずオーケストレーションするサービス

分散処理をもっと手軽に、もっとやりやすく

Flow Framework

SQS、SNS、SWFを通じて

AWS SシリーズはAWSクラウドをよりよく使うためのコンポーネント

SQS=疎結合を提供する

SNS=プロトコル非依存な通知

SWF=分散処理オーケストレーション

ありがとう ございました

Copyright © 2011 Amazon Web Services

top related