Contenu connexe Similaire à Amazon Cognito + SNS + Zabbixでサーバー監視アプリを作ってみた (20) Amazon Cognito + SNS + Zabbixでサーバー監視アプリを作ってみた1. Cognito + SNS + Zabbixで
サーバー監視アプリを作ってみた
JAWS-UG山形 芦野 光
トラック:[Aceに聞け]
2. 自己紹介
芦野 光
宮城県仙台市在住
専門学生
JAWS-UG山形、仙台
AWS歴:6ヶ月
専門学校
東北電子専門学校 高度ITエンジニア科 所属(4年課程)
株式会社エスツー
サーバーエンジニア(アルバイト勤務)
最近のできごと
AWS麻雀はじめました
16. Amazon Cognitoとは
Amazon Cognito
AWSのモバイルサービス、2014年7月にリリース
提供している内容は大きく2つ
Sync
クラウド上にモバイルと同期できるデータストアを提供。
Identity Broker
モバイルからAWS上へのリソースのアクセス認証と制御。
提供しているリージョン
US East (N. Virginia)
EU (Ireland)
AWS Mobile SDKサポート
17. Amazon Cognitoとは
Sync
クラウド上にモバイルと同期できるデータストアを提供。
DatasetというテーブルにKey/Value形式でのデータの保存。
オフラインでもローカルのデータが利用可能。
同期時にコンフリクトの検知と発生時の処理実装が可能。
複数デバイスをまたいだ同期が可能。
18. Amazon Cognitoとは
Sync
Identitypool
Identity IdentityIdentity
Dataset…
key value
1 Blue
2 Red
3 White
Dataset…
key value
1 Blue
2 Red
3 White
Dataset…
key value
1 Blue
2 Red
3 White
Dataset…
key value
1 Blue
2 Red
3 White
Dataset…
key value
1 Blue
2 Red
3 White
Dataset…
key value
1 Blue
2 Red
3 White
Dataset…
key value
1 Blue
2 Red
3 White
Dataset…
key value
1 Blue
2 Red
3 White
Dataset…
key value
1 Blue
2 Red
3 White
19. Amazon Cognitoとは
Sync – 用語
Identitypool
アプリケーションのユーザアイデンティティを整理するコンテナ。
AWSアカウント1つにつき60個作成可能。
Identity
ユーザアイデンティティ
複数のデバイスで共有可能。
複数のDatasetを持つ。
Dataset(Key/Valueのテーブル,同期ストア)
Dataset1つあたり、1MBまでのデータが保存可能
Key/Value形式、Keyの数は最大1024個
保存できるデータ
英数字の文字列
バイナリデータはBase64でエンコードすることで保存可能。
1ユーザーあたり、Datasetの合計サイズの上限は20MB
20. Amazon Cognitoとは
Sync
Identity Pool…(App)
Dataset…
key value
1 Apple
2 Watermelon
3 Orange
Identity…(Device)
Dataset…
key value
1 Apple
2 Watermelon
3 Orange
App
Pull
Push
synchronize
21. Amazon Cognitoとは
Sync
Identity Pool…(App)
Dataset…
key value
1 Apple
2 Watermelon
3 Orange
Identity…(Device)
Dataset…
key value
1 Apple
2 Watermelon
3 Orange
App
Dataset…
key value
1 Apple
2 Watermelon
3 Strawberry
Put
Get
22. Amazon Cognitoとは
Sync
Identity Pool…(App)
Identity…(Device)
Dataset…
key value
1 Apple
2 Watermelon
3 Orange
App
Pull
Push
synchronize
Dataset…
key value
1 Apple
2 Watermelon
3 Strawberry
Conflict
Dataset…
key value
1 Apple
2 Watermelon
3 Strawberry
24. Amazon Cognitoとは
Identity Broker
モバイルからAWS上のリソースへのアクセス認証と制御。
AWS上のリソースをモバイルから直接利用できる。
(2 tier architecture)EC2なし構成ができる!
アクセス認証
OpenID Connect対応アイデンティティプロバイダーが利用可能
Facebook,Googleなどのアカウントを用いて認証可能
自前の認証基盤を利用することも可能
Developer Authenticated Identities
アクセス制御
認証あり、認証なし(ゲスト)ユーザにそれぞれのアクセス制御を
IAMのRoleで割り当てができる。
25. Amazon Cognitoとは
活用事例
株式会社ガリバー 様
クルマとの双方向コミュニケーションサービス
「DRIVE+」にてCognitoを認証基盤として採用。
Concrete Software,Inc
NHLホッケーターゲットスマッシュ(スマホアプ
リ)にて、ゲームデータの保存と認証に採用。
26. Amazon Cognitoとは
Cognitoの便利な機能
Cognitoストリーム(Kinessis連携)
同期ストアの同期、更新情報をKinessisで取り扱うことが可能に。
Push synchronization(SNS連携)
複数デバイスで使っている同期ストアが更新されると
AmazonSNSからサイレントプッシュ通知され、
複数デバイスがクラウド上の同期ストアと同期を行う。
27. Dataset…
key value
1 Apple
2 Watermelon
3 Orange
Dataset…
key value
1 Apple
2 Watermelon
3 Strawberry
Amazon Cognito
new!
Amazon SNS
Dataset…
key value
1 Apple
2 Watermelon
3 Orange
Pull
Push
synchronize
synchronize
Push synchronization
Mobile Push
Dataset…
key value
1 Apple
2 Watermelon
3 Strawberry
Dataset…
key value
1 Apple
2 Watermelon
3 Strawberry
30. Amazon SNSとは
Amazon Simple Notification Service
AWSのモバイルサービス
クラウド上からモバイルへのメッセージ配信サービス
特徴
マルチプロトコル対応
クロスプラットフォーム対応(プッシュ配信)
シンプル・スケーラブル
AWS Mobile SDKサポート
31. Amazon SNSとは
マルチプロトコル対応
プッシュ
Apple、Google、Fire OS、Windows デバイス対応
SMS, E-mail
テキストメッセージ
HTTP/s
任意の HTTP エンドポイントに配信
SQS(Amazon Simple Queue Service)
SNSからキューを登録
44. Amazon SNSとは
SNSの便利な機能
メッセージの配信結果の確認(CloudWatch連携)
CloudWatch上で配信結果の確認が可能に
イベントの通知
登録したアプリケーションに、エンドポイントが追加、削除、更
新された際にイベント通知。
53. 機能紹介
アラートの一覧表示機能
アラートの状況、ホスト名、トリガー名を表示。
プッシュ受信と共にリアルタイムで表示。
エスカレーション通知機能(少し実装)
※Zabbixのエスカレーション機能は使用しません。
エスカレーション発生時に、メンバーに通知、状況を共有。
Slackへの投稿(未実装)
エスカレーション発生状況を自動でSlackに投稿。
アラート状況をクラウドと複数端末間での同期(Cognito)
SNSでプッシュが受信できなかった時の対策として
定期的にクラウドの同期ストアと同期。
55. 参考サイト
Cognito
http://techlife.cookpad.com/entry/2014/07/29/173726
http://dev.classmethod.jp/cloud/aws/
http://aws.amazon.com/jp/cognito/
http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-
tech-amazon-cognito-amazon-mobile-analytics
http://blog.takuros.net/entry/2015/01/20/070824
http://mobile.awsblog.com/
http://221616.com/gulliver/news/press/20140930-13992.html
http://media.amazonwebservices.com/jp/csd20140909/KEY-01-03.pdf
http://mobile.awsblog.com/post/Tx3LC2Y5I3MXF0K/Concrete-Software-
uses-Amazon-Cognito-for-NHL-Hockey-Target-Smash
SNS
http://www.slideshare.net/AmazonWebServicesJapan/20130917-aws-
meisterregenerateextrasnsmobilepushpublic?related=1
http://aws.amazon.com/jp/sns/