SlideShare a Scribd company logo
Takayuki  Shimizu
Solutions  Architect,  Amazon  Data  Services  Japan,  K.K.
PHP  カンファレンス  2015
2015.  5.  30
                で始める
AWS  Mobile  サービス
⾃自⼰己紹介
清⽔水  崇之  @shimy.net
•  アマゾン  データ  サービス  ジャパン  株式会社
⎼  ソリューション  アーキテクト
•  ⻄西⽇日本担当(⼤大阪のお客様にもプライム対応!だけどプライスレス)
•  ゲーム、モバイル、Web  サービス全般
•  AWS  芸⼈人  (詳しくは  http://www.slideshare.net/shimy_̲net)
アジェンダ
"  AWS  Mobile  サービス
"  AWS  Mobile  SDK
•  AWS  SDK  for  PHP  アップデート
"  Amazon  Cognito
•  Identity  (ユーザ認証)
•  Sync(データ保存/同期)
"  Amazon  SNS  Mobile  Push
"  まとめ
アジェンダ
"  AWS  Mobile  サービス
"  AWS  Mobile  SDK
•  AWS  SDK  for  PHP  アップデート
"  Amazon  Cognito
•  Identity  (ユーザ認証)
•  Sync(データ保存/同期)
"  Amazon  SNS  Mobile  Push
"  まとめ
あなたのモバイルアプリの特徴は?
あなたがもっとも時間をかけている部分は?
質問
あなたのモバイルアプリの特徴は?
あなたがもっとも時間をかけている部分は?
質問
時間をかけるべき部分に
時間をかけられているかを
チェックする質問です
あなたのモバイルアプリの特徴は?
あなたがもっとも時間をかけている部分は?
質問
実際は、課題がいっぱい
開発者が直⾯面する課題
ü  複数のプラットフォーム
ü  スケーラビリティの確保
ü  管理理や運⽤用のコスト
ü  ユーザ体験の阻害
ü  ユーザIDの管理理
モバイルアプリのコード
ユーザID管理理、認証
ユーザデータの同期処理理
⾮非同期通信
アクティブデバイスの分析
ユーザ⾏行行動の分析
コンバージョンの分析
プッシュ通知
イベントトリガー
プラットフォームごとのはっきりしない仕様
データチェックと変換
ファイルやメディアのストレージ
共有データベースのストレージ
データコレクション  
その他さまざま….
AWS  Cloud  インフラストラクチャ
実際は、課題がいっぱい
開発者が直⾯面する課題
ü  複数のプラットフォーム
ü  スケーラビリティの確保
ü  管理理や運⽤用のコスト
ü  ユーザ体験の阻害
ü  ユーザIDの管理理
モバイルアプリのコード
ユーザID管理理、認証
ユーザデータの同期処理理
⾮非同期通信
アクティブデバイスの分析
ユーザ⾏行行動の分析
コンバージョンの分析
プッシュ通知
イベントトリガー
プラットフォームごとのはっきりしない仕様
データチェックと変換
ファイルやメディアのストレージ
共有データベースのストレージ
データコレクション  
その他さまざま….
AWS  Cloud  インフラストラクチャ
時間とお⾦金金は有限
クラウドを活⽤用して
課題を解決
でも実際は
サーバープログラムも
ちょっと必要
安⼼心と伝統の
AWS  SDK  for  PHP
管理理  &
セキュリティ
アクセス
コントロール
Identity
Management
キー管理理
&  ストレージ
モニタリング
&  ログ
リソース  &
利利⽤用の監査
プラットフォーム
サービス
分析 アプリケーション 開発者ツール  &  運⽤用 モバイル
Data
Pipelines
データウェアハウス
Hadoop
Real-time
Streaming Data
アプリケーション
ライフサイクル管理理
コンテナ
デプロイ
DevOps
イベント駆動
コンピューティング
リソース
テンプレート
ユーザ認証
アナリティクス
プッシュ通知
データ同期
App
Streaming
Eメール
キュー&通知
検索索
トランス
コーディング
Workflow
コアサービス CDN
コンピュート
(VMs, Auto-scaling
& Load Balancing)
データベース
(Relational,
NoSQL, Caching)
ネットワーク
(VPC, DX, DNS)
ストレージ
(Object, Block
and Archival)
インフラストラクチャ アベイラビリティゾーン
Points of
Presence
リージョン
エンタープライズ
アプリケーション ビジネスEメール共有&コラボレーション仮想デスクトップ
技術  &  
ビジネスサポート
アカウント
マネージメント
パートナー
エコシステムプロサービス
セキュリティ
料料⾦金金レポート
ソリューション
アーキテクト
サポート
トレーニング
資格
AWS  が提供する  40  以上のサービス
AWS  Mobile  サービス
Amazon  Cognito
Kinesis DynamoDB S3 SQS SES
グローバルインフラ
コアとなるサービス群
モバイルに最適化
されたコネクタ
モバイルに最適化
されたサービス
AWS  SDK  for  Android
ストレージ ネットワーク データベース 分析 コンピュート
AWS  Mobile  SDK
Amazon  Mobile  Analytics Amazon  SNS  Mobile  Push
AWS  SDK  for  iOS AWS  SDK  for  Unity
あなたのモバイルアプリ
ゲームアプリ ユーティリティアプリ 家計簿アプリ クーポンアプリ
Lambda
λ
Lambda  Functions
λ
λ
AWS  Mobile  サービス
Amazon  Cognito
Kinesis DynamoDB S3 SQS SES
グローバルインフラ
コアとなるサービス群
モバイルに最適化
されたコネクタ
モバイルに最適化
されたサービス
AWS  SDK  for  Android
ストレージ ネットワーク データベース 分析 コンピュート
AWS  Mobile  SDK
Amazon  Mobile  Analytics Amazon  SNS  Mobile  Push
AWS  SDK  for  iOS AWS  SDK  for  Unity
あなたのモバイルアプリ
ゲームアプリ ユーティリティアプリ 家計簿アプリ クーポンアプリ
Lambda
λ
Lambda  Functions
λ
λ
ユーザアイデンティティ    
データ同期
アナリティクス
レポート
プッシュ通知
NoSQLデータベース断続的なネットワーク
コネクションを処理理で
きるレコーダー
コンテンツのアップ
ロード,  ダウンロード
Eメール分散キュー
バックエンドサーバーな
しで実⾏行行できるステート
レスなクラウド関数
AWS  Mobile  サービス
Amazon  Cognito
Kinesis DynamoDB S3 SQS SES
グローバルインフラ
コアとなるサービス群
モバイルに最適化
されたコネクタ
モバイルに最適化
されたサービス
AWS  SDK  for  Android
ストレージ ネットワーク データベース 分析 コンピュート
AWS  Mobile  SDK
Amazon  Mobile  Analytics Amazon  SNS  Mobile  Push
AWS  SDK  for  iOS AWS  SDK  for  Unity
あなたのモバイルアプリ
ゲームアプリ ユーティリティアプリ 家計簿アプリ クーポンアプリ
Lambda
λ
Lambda  Functions
λ
λ
ユーザアイデンティティ    
データ同期
アナリティクス
レポート
プッシュ通知
NoSQLデータベース断続的なネットワーク
コネクションを処理理で
きるレコーダー
コンテンツのアップ
ロード,  ダウンロード
Eメール分散キュー
バックエンドサーバーな
しで実⾏行行できるステート
レスなクラウド関数
AWS  Mobile  サービス
Amazon  Cognito
Kinesis DynamoDB S3 SQS SES
グローバルインフラ
コアとなるサービス群
モバイルに最適化
されたコネクタ
モバイルに最適化
されたサービス
AWS  SDK  for  Android
ストレージ ネットワーク データベース 分析 コンピュート
AWS  Mobile  SDK
Amazon  Mobile  Analytics Amazon  SNS  Mobile  Push
AWS  SDK  for  iOS AWS  SDK  for  Unity
あなたのモバイルアプリ
ゲームアプリ ユーティリティアプリ 家計簿アプリ クーポンアプリ
Lambda
λ
Lambda  Functions
λ
λ
モバイルプラットフォームに合わせて
AWS  SDK  を利利⽤用
アジェンダ
"  AWS  Mobile  サービス
"  AWS  Mobile  SDK
•  AWS  SDK  for  PHP  アップデート
"  Amazon  Cognito
•  Identity  (ユーザ認証)
•  Sync(データ保存/同期)
"  Amazon  SNS  Mobile  Push
"  まとめ
AWS  Mobile  SDK
クロスプラットフォーム
•  Android,  Fire  OS,  iOS,  Unity  をサポート
共通の認証
•  Amazon  Cognito  により認証機構を迅速に導⼊入可能
ネットワーク状態を⾃自動でハンドリング
•  例例:  ローカルキャッシュによりオフラインでも利利⽤用可能
メモリフットプリントの削減
•  導⼊入するパッケージをサービス単位で選択可能
AWS  Mobile  SDK  for  Unity  (5/14  release)
⼈人気ゲームエンジン  Unity  をサポート
•  ゲームから  AWS  サービスをコールできるように構成されている
•  Unity  4.0  以降降をサポート
サポートする  AWS  サービス
•  Amazon  Cognito
•  Amazon  S3
•  Amazon  DynamoDB
•  Amazon  Mobile  Analytics
•  その他サービスも  Coming  Soon  !
多くの⾔言語とプラットフォームをカバーする  SDK  と  IDE
サーバーサイド
から利利⽤用
Android iOS
Java NodeJS .NET PHP Python Ruby
JavaScript  in  Browser
クライアントサイド
から利利⽤用
Unity
コマンドライン
から利利⽤用
モバイル ブラウザ
CLI Powershell
IDE  から利利⽤用
Eclipse Visual  Studio
SDK
PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530
PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530
性能改善、依存関係アップデート
ここ数年年にわたるバージョン  2  で受け取ったフィードバックに応えてビルドされまし
た。依存関係をアップデートし、性能を改善し、最新の  PHP  のスタンダードに則って
ビルドされました。
AWS  SDK  for  PHP  version  3  -‐‑‒  2015.5.27  NEW
⾮非同期コール
AWS  に対して⾮非同期コールを⾏行行うことが可能になり
ました。コールは  Promises  を返します。コールを発
⾏行行した後、それが完了了し、結果にアクセスできるよう
になるのを待つことができます。⾮非同期ワークフロー
を作成するために複数のコールを⼀一緒につなげること
ができます。
同期コールと⾮非同期コール
//  処理理を実⾏行行すると  Result  オブジェクトが返却される
$result = $s3Client->putObject([!
    'Bucket' => 'your-bucket',!
    'Key'    => 'docs/file.pdf',!
    'Body'   => fopen('/path/to/file.pdf', 'r'),!
]);!
 !
//  Result  オブジェクトを通して結果にアクセスできる
echo $result['ObjectURL'];!
//  処理理を実⾏行行すると  Promise  オブジェクトが⾮非同期に返却される
$promise = $s3Client->putObjectAsync([!
    'Bucket' => 'your-bucket',!
    'Key'    => 'docs/file.pdf',!
    'Body'   => fopen('/path/to/file.pdf', 'r'),!
]);!
 !
//  処理理が完了了して  Result  オブジェクトを取得できるのを待つ
$result = $promise->wait();!
 !
//  その後、同期コールと同じように  Result  オブジェクトを通して結果にアクセスできる
echo $result['ObjectURL'];!
同期コール
⾮非同期コールNEW
例例)⾮非同期コールによる  DynamoDB  のテーブル作成
$client->createTableAsync([!
    'TableName' => $table,!
    // Other params...!
])->then(function () use ($client, $table) {!
    return $client->getWaiter('TableExists', [!
        'TableName' => $table,!
    ])->promise();!
})->then(function () use ($client, $table) {!
    return $client->putItemAsync([!
        'TableName' => $table,!
        'Item' => [!
            // Item attributes...!
        ]!
    ]);!
})->wait();!
⾮非同期ワークフローを作れる
DynamoDB(NoSQLデータベース)  のテーブルを作る場合は、Waiters  を利利⽤用してテー
ブルが  ACTIVE  になるまで待ち、その後データを書き込むことができる。Promise  オブ
ジェクトの  then()  メソッドを使って、このようなアクションを続けざまに実装すること
ができる。
アジェンダ
"  AWS  Mobile  サービス
"  AWS  Mobile  SDK
•  AWS  SDK  for  PHP  アップデート
"  Amazon  Cognito
•  Identity  (ユーザ認証)
•  Sync(データ保存/同期)
"  Amazon  SNS  Mobile  Push
"  まとめ
Amazon  Cognito
Amazon  Cognito  
ユーザIDとアクセス
管理理の簡略略化
クロスデバイス、クロスプ
ラットフォームのデータ同期
Guest
独⾃自認証
ID  プロバイダ
ゲストアクセス
独⾃自認証システム
ユニーク  ID
ジョー アンナ ボブ
デバイス
プラットフォーム
AWS  サービス
独⾃自認証システム
ID  プロバイダによる認証ではなく
独⾃自の  Username  と  Password  で認証
複数の  ID  プロバイダ
ID  プロバイダと簡単に連携して認証
Amazon,  Facebook,  Twitter,  Google,  
OpenID  Connect  などに対応
ゲストユーザアクセス
アカウント作成やログインを必要とせず、セ
キュアに  AWS  サービスを利利⽤用でき、アプリ
の特徴を損なわない。”モノ”の  ID  として
Amazon  Cognito  Identity
Mobile
Analytics
S3
 DynamoDB
 Kinesis
DynamoDB
モバイルアプリ
Amazon  Cognito
Identity
Cognito  ID
Temp  Credentials
S3
Access  Token
Pool  ID
Role  ARNs
Temp  Credentials
Mobile  SDK
IDプロバイダ
Kinesis
Cognito  による認証のフロー
ID  プロバイダや独⾃自認証システムと連携して認証することで、任意のポリシーを持った⼀一
時的なクレデンシャルが発⾏行行され、AWS  リソースを利利⽤用する。
Amazon  Cognito  Identity
ゲストアクセス
独⾃自の認証システム
セキュリティ
細やかなアクセス制御
IAM  との連携で  AWS  リソースへの細かなアクセ
ス制御を実現
AWS  Credentials  の保護
必要な権限だけを付与された⼀一時的なクレデンシャル
を取得できるので、アプリにクレデンシャルを埋め込
まなくてよい
セキュリティのベストプラクティスを⽀支援
セキュリティトークンサービスと連携したり、トー
クンベンディングマシンを構築する必要はない
セキュアに  AWS  サービスを利利⽤用
EC2
 S3
 DynamoDB
 Kinesis
S3
DynamoDB
Get Delete Put
Developer  Authenticated  Identities  
DynamoDBモバイルアプリ
Amazon  Cognito
Identity1.  Login
4.  OpenID  
Token 6.  Cognito  ID
Temp  Credentials
S3
5.  OpenID  Token
Pool  ID
Role  ARNs
7.  Temp  Credentials
Mobile  SDK
独⾃自の認証システム
Analytics
2.  GetOpenIDTokenForDeveloperIdentity()
3.  OpenID  Token
独⾃自認証のフロー
パブリック  ID  プロバイダではなく独⾃自の  Username/Password  で認証し、任意のポリ
シーを持った⼀一時的なクレデンシャルが発⾏行行され、AWS  リソースを利利⽤用する。
PHP
プログラム
Developer  Authenticated  Identities  
DynamoDBモバイルアプリ
Amazon  Cognito
Identity1.  Login
4.  OpenID  
Token 6.  Cognito  ID
Temp  Credentials
S3
5.  OpenID  Token
Pool  ID
Role  ARNs
7.  Temp  Credentials
Mobile  SDK
独⾃自の認証システム
Analytics
2.  GetOpenIDTokenForDeveloperIdentity()
3.  OpenID  Token
独⾃自認証のフロー
パブリック  ID  プロバイダではなく独⾃自の  Username/Password  で認証し、任意のポリ
シーを持った⼀一時的なクレデンシャルが発⾏行行され、AWS  リソースを利利⽤用する。
PHP
プログラム
独⾃自認証システムと連携する(GetOpenIdTokenForDeveloperIdentity)
//  サーバープログラムから  Cognito  へ問い合わせて  Token  を取得する
$result = $client->getOpenIdTokenForDeveloperIdentity(array(!
'IdentityPoolId' => 'string',!
'IdentityId' => 'string',!
'Logins' => array(!
'IdentityProviderName' => 'string',!
), !
'TokenDuration' => integer, !
));!
Returns
GuzzleServiceResourceModel
IdentityId => (string)!
Token => (string)!
Amazon  Cognito  
ユーザIDとアクセス
管理理の簡略略化
クロスデバイス、クロスプ
ラットフォームのデータ同期
Guest
独⾃自認証
Amazon  Cognito  Sync  クラウドへのデータ保存と同期
User Data
Storage and
Sync
Any Platform
iOS/Android/FireOS
アプリのデータ、設定、状態などをクラウドへ保存
アプリやデバイスのデータをクラウドに保存でき、ログイ
ン後にマージされる
クロスデバイス、クロスプラットフォームで同期
ユーサデータや設定をデバイスをまたいで同期
k/v data
Identity pool
複数のアカウントにリンク
アプリやデバイスのデータをクラウドに保存で
き、ログイン後にマージされる
ユーザあたり  20MB  
各データセットは  1MB  までの  Key/Value
最⼤大  1024  Key  まで保存
バイナリデータは  Base64  でエンコードして保存
SDK
ローカルデータストア
オフライン動作
データはまずローカルのデータストレージに保存されるので、
電波が不不安定もしくは不不通であってもシームレスに動作できる
インテリジェントな同期処理理
同期メソッドはローカルとクラウドのデータのバージョンを⽐比
較して、データをプッシュ/プル
柔軟なコンフリクトの解決
同期メソッドは、変更更を読み取り後、ローカルの変更更をクラウ
ドのデータストアへ書き込む。デフォルトでは、最後の書き込
みを有効として保存する。開発者はコンフリクト処理理を独⾃自に
上書きして実装することもできる。
Amazon  Cognito  Sync  クラウドへのデータ保存と同期
Amazon  Cognito  Sync  クラウドへのデータ保存と同期
モバイルアプリ
Amazon  Cognito  
Identity
Mobile  SDK
Amazon  Cognito  
Sync  Store
3.  Dataset
Amazon  Cognito  Sync  のフロー
認証後に  Amazon  Cognito  から発⾏行行された  Cognito  ID  ごとに  Amazon  Cognito  Sync  
Store  というデータ領領域が割り当てられ、任意のデータセットを保存できる。
2.  Cognito  ID
Temp  Credentials
1.  Access  Token
Pool  ID
Role  ARNs
AWS  
Account
Dataset
Identity
Identity
Identity
Dataset
Dataset
Identity
Pool
1:n
1:n
1:n
ユーザ情報
Dataset
ゲーム状況
Dataset
お役⽴立立ちアプリ
ゲームアプリ
DatasetDataset
Key/Value
1:n
Amazon  Cognito  Sync  データモデル  –  例例
モバイルアプリ
(デバイス1)
Mobile  SDK
Amazon  Cognito
Sync  Store
1.  データ同期
モバイルアプリ
(デバイス2)
Mobile  SDK
Amazon  SNS
Mobile  Push
2.  プッシュ通知
3.  データ同期
Amazon  SNS  Mobile  Push  との連携
Amazon  Cognito  がデータストアが更更新されたタイミングで、Amazon  SNS  Mobile  
Push  と連携して、各デバイスにプッシュ通知を送信できる。
プッシュ通知を受け取ったアプリはデータストアの再同期を⾏行行うように実装するなど。
Amazon  Cognito  Push  Sync
Amazon  Kinesis  との連携
Amazon  Cognito  のデータストアが更更新されたタイミングで、Amazon  Kinesis  スト
リームで更更新や同期のデータを受け取ることができる。
モバイルアプリ
Mobile  SDK
Amazon  Cognito
Sync  Store
1.  データ同期
Amazon  Kinesis
2.  Stream
Content
ストリームの内容
3.  例例えば
Amazon  Redshift
{!
"identityPoolId" : "Pool Id”!
"identityId" : "Identity Id ”!
"dataSetName" : "Dataset Name”!
"operation" : "(replace|remove)”!
"kinesisSyncRecords" : [!
  {!
"key" : "Key",!
"value" : "Value",!
"syncCount" : 1,!
"lastModifiedDate" : 1424801824343,!
"deviceLastModifiedDate" : 1424801824343,!
"op": "(replace|remove)" }, ...!
],!
"lastModifiedDate": 1424801824343,!
"kinesisSyncRecordsURL": "S3Url",!
"payloadType" : "(S3Url|Inline)",!
"syncCount" : 1 !
}!
Amazon  Cognito  Stream
モバイルアプリ
Mobile  SDK Amazon  Cognito
Sync  Store
1.  データ同期
AWS  Lambda
2.  Sync  Trigger
Amazon  Lambda  との連携
3.  何か処理理
Amazon  Cognito  Events
Key Value
住所 ⼤大阪市□北北区□中之島
Key Value
住所 ⼤大阪市北北区中之島
元データ
修正済みデータ
空⽩白を削除
するプログラム
Lambda  Function
(Node.js)
Amazon  Cognito  Sync  をアプリに組み込む(Android)
CognitoSyncManager  の初期化
同期の実⾏行行
Dataset  の作成、  Key  Values  の追加
cognito = new CognitoSyncManager (context,!
Regions.US_EAST_1, provider);!
dataset.synchronize(new SyncCallback(){..});!
Dataset dataset = !
cognito.openOrCreateDataset(datasetName);!
dataset.put(key, value);!
アジェンダ
"  AWS  Mobile  サービス
"  AWS  Mobile  SDK
•  AWS  SDK  for  PHP  アップデート
"  Amazon  Cognito
•  Identity  (ユーザ認証)
•  Sync(データ保存/同期)
"  Amazon  SNS  Mobile  Push
"  まとめ
Amazon  SNS  Mobile  Push
通知は各プラットフォーム独⾃自の仕組みで送信
送信者 モバイルアプリ
モバイル
プラットフォーム
(e.g.  Apple,  
Google,  
Amazon)
そのため、プラットフォームごとのAPIを抽象化した中間プロバイダを利利
⽤用するのが⼀一般的
?
中間プロバイダ
送信者
モバイルアプリ
Apple APNS
Google GCM
Amazon ADM
プラットフォームを抽象化することの  メリット/デメリット
ü どのプラットフォームの
アプリに対しても簡単に
送信できる
ü 信頼性のある通知の管理理
ができる
û  運⽤用の複雑化
û  スケーラビリティの確保
û  堅牢牢性の確保
û  コスト  –  プラットフォー
ム側が無料料だとしても
メリット デメリット
けんろうせい
プラットフォームを抽象化することの  メリット/デメリット
ü どのプラットフォームの
アプリに対しても簡単に
送信できる
ü 信頼性のある通知の管理理
ができる
û  運⽤用の複雑化
û  スケーラビリティの確保
û  堅牢牢性の確保
û  コスト  –  プラットフォー
ム側が無料料だとしても
メリット デメリット
けんろうせい
Amazon  SNS  Mobile  Push  
なら  ⼤大丈夫
Amazon  SNS  Mobile  Push  はプラットフォーム横断型プッシュ通知の
ための中間マネージドサービス
Amazon SNS
Mobile Push
Apple  iOS
Google  Android
Amazon  Kindle  Fire
送信者
Baidu  Android
MS  Windows  Phone
独⾃自構築ウェブアプリの  API  経由でトークンを収集
モバイル
プラットフォーム モバイルアプリ
1.  トークン要求
2.  トークン返却
3.  トークン収集
4.  トークン登録
(Create  Platform  
Endpoint)
5.  EndpointArn  返却
6.  EndpointArn  保存
Mobile  Push
(属性情報も)
Database
Web
ELB
PHP
プログラム
独⾃自構築ウェブアプリの  API  経由でトークンを収集
モバイル
プラットフォーム モバイルアプリ
1.  トークン要求
2.  トークン返却
3.  トークン収集
4.  トークン登録
(Create  Platform  
Endpoint)
5.  EndpointArn  返却
6.  EndpointArn  保存
Mobile  Push
(属性情報も)
Database
Web
ELB
PHP
プログラム
トークンを登録して  Endpoint  を⽣生成
$result = $client->createPlatformEndpoint(array(!
'PlatformApplicationArn' => 'string',!
'Token' => 'string',!
'CustomUserData' => 'string',!
'Attributes' => array(!
'String' => 'string',!
), !
));!
トークンと属性情報を紐紐付けてプッシュ送信
モバイル
プラットフォーム モバイルアプリ
5.  メッセージ送信
2.  EndpointArn  ⼀一覧
Mobile  Push
1.  属性情報
などで検索索
Web Database
ELB
Worker
3.  Publish4.  メッセージ送信要求
メッセージ
管理理ツール
PHP
プログラム
トークンと属性情報を紐紐付けてプッシュ送信
モバイル
プラットフォーム モバイルアプリ
5.  メッセージ送信
2.  EndpointArn  ⼀一覧
Mobile  Push
1.  属性情報
などで検索索
Web Database
ELB
Worker
3.  Publish4.  メッセージ送信要求
メッセージ
管理理ツール
PHP
プログラム
Endpoint  にメッセージを送信
$result = $client->publish(array(!
'TopicArn' => 'string',!
'TargetArn' => 'string',!
'Message' => 'string',!
'Subject' => 'string',!
'MessageStructure' => 'string',!
'MessageAttributes' => array(!
'String' => array( !
'DataType' => 'string',!
'StringValue' => 'string',!
'BinaryValue' => 'string', !
),!
), !
));!
料料⾦金金
Amazon  Cognito
無料料利利⽤用枠(最初の  12  ヶ⽉月)
•  ⽉月あたり  100  万回の同期オペレーショ
ン
•  ⽉月あたり  10  GB  のデータストア
それ以降降
•  同期オペレーション
10000  回の同期オペレーションあたり  
$0.15
•  同期⽤用データストアの容量量
$0.15  /  GB
Amazon  SNS  Mobile  Push
無料料利利⽤用枠(最初の  12  ヶ⽉月)
•  ⽉月あたり  100  万リクエストまで
それ以降降
•  ⽉月あたり  100  万リクエストにつき  $1
アジェンダ
"  AWS  Mobile  サービス
"  AWS  Mobile  SDK
•  AWS  SDK  for  PHP  アップデート
"  Amazon  Cognito
•  Identity  (ユーザ認証)
•  Sync(データ保存/同期)
"  Amazon  SNS  Mobile  Push
"  まとめ
ユーザ認証
アクセスの認可
データの同期
ユーザ⾏行行動分析
メディアの管理理
メディアの配信
プッシュ通知の送信
共有データの保存
モバイル
アプリ
まとめ:モバイルアプリの課題を  AWS  サービスで解決
Amazon  Cognito
(Identity)
AWS  Identity  and  
Access  Management
Amazon  Cognito  
(Sync)
Amazon  Mobile  
Analytics
AWS  Lambda
Amazon  CloudFront
(Device  Detection)
Amazon  DynamoDB
(Object  Mapper)
Amazon  Kinesis
(Recorder)
Amazon  SNS  
Mobile  Push
AWS  Mobile  SDK
Amazon  S3
Transfer  Manager
ストリームリアルタイムデータビジネスロジックの実⾏行行
まとめ:AWS  を活⽤用して本来の業務へ集中!!
開発者が直⾯面する課題
ü  複数のプラットフォーム
ü  スケーラビリティの確保
ü  ⾼高コストな管理理や運⽤用
ü  ユーザ体験の阻害
ü  ユーザIDの管理理
モバイルアプリのコード
ユーザID管理理、認証
ユーザデータの同期処理理
⾮非同期通信
アクティブデバイスの分析
ユーザ⾏行行動の分析
コンバージョンの分析
プッシュ通知
イベントトリガー
プラットフォームごとのはっきりしない仕様
データチェックと変換
ファイルやメディアのストレージ
共有データベースのストレージ
データコレクション  
その他さまざま….
AWS  Cloud  インフラストラクチャ
本来の業務に集中!
まとめ:AWS  を活⽤用して本来の業務へ集中!!
開発者が直⾯面する課題
ü  複数のプラットフォーム
ü  スケーラビリティの確保
ü  ⾼高コストな管理理や運⽤用
ü  ユーザ体験の阻害
ü  ユーザIDの管理理
モバイルアプリのコード
ユーザID管理理、認証
ユーザデータの同期処理理
⾮非同期通信
アクティブデバイスの分析
ユーザ⾏行行動の分析
コンバージョンの分析
プッシュ通知
イベントトリガー
プラットフォームごとのはっきりしない仕様
データチェックと変換
ファイルやメディアのストレージ
共有データベースのストレージ
データコレクション  
その他さまざま….
AWS  Cloud  インフラストラクチャ
アプリを差別化!
PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530

More Related Content

What's hot (20)

PDF
Amazon SNS Mobile Push を使ってみる
崇之 清水
 
PDF
AWSにおける モバイル向けサービス及び事例紹介(20151211)
Keisuke Nishitani
 
PDF
AWS Mobile Hub で構築するクラウドネイティブモバイルアーキテクチャ
yuki0211s
 
PDF
Black Belt Online Seminar Amazon Cognito
Amazon Web Services Japan
 
PDF
ゼロから始めるモバイルアプリ開発 / 
 AWS Mobile Hubハンズオン 本編
Koichiro Nishijima
 
PDF
Serverless Architecture on AWS(20151121版)
Keisuke Nishitani
 
PDF
[AWS初心者向けWebinar] AWSを活用したモバイルアプリの開発と運用
Amazon Web Services Japan
 
PDF
UnityとAmazon Web Servicesで生み出す新しい価値
Keisuke Nishitani
 
PDF
Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知
Sunao Komuro
 
PDF
Serverless Architecture on AWS (20151201版)
Keisuke Nishitani
 
PDF
AWS Lambda / Amazon API Gateway Deep Dive
Keisuke Nishitani
 
PDF
iOSアプリ開発者から見たMobile Hub
Jun Kato
 
PDF
Aws summits2014 サイバーエージェント_ユーザーの趣味嗜好に適した広告配信システムdynalystができるまでad_techstudioでの...
Boss4434
 
PDF
AWS IoTアーキテクチャパターン
Amazon Web Services Japan
 
PPTX
Cognito User Pool
Takeru Ujinawa
 
PDF
クラウドネイティブ化する未来
Keisuke Nishitani
 
PDF
ここが知りたいAws導入までのato z配布用
takaoka susumu
 
PDF
5分でわかるAWS IoT! - あなたも今日からIoT生活 -
Toshiaki Enami
 
PDF
AWS Black Belt Online Seminar 2017 AWS Cognito
Amazon Web Services Japan
 
PDF
これでAWSマスター!? 初心者向けAWS簡単講座
Serverworks Co.,Ltd.
 
Amazon SNS Mobile Push を使ってみる
崇之 清水
 
AWSにおける モバイル向けサービス及び事例紹介(20151211)
Keisuke Nishitani
 
AWS Mobile Hub で構築するクラウドネイティブモバイルアーキテクチャ
yuki0211s
 
Black Belt Online Seminar Amazon Cognito
Amazon Web Services Japan
 
ゼロから始めるモバイルアプリ開発 / 
 AWS Mobile Hubハンズオン 本編
Koichiro Nishijima
 
Serverless Architecture on AWS(20151121版)
Keisuke Nishitani
 
[AWS初心者向けWebinar] AWSを活用したモバイルアプリの開発と運用
Amazon Web Services Japan
 
UnityとAmazon Web Servicesで生み出す新しい価値
Keisuke Nishitani
 
Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知
Sunao Komuro
 
Serverless Architecture on AWS (20151201版)
Keisuke Nishitani
 
AWS Lambda / Amazon API Gateway Deep Dive
Keisuke Nishitani
 
iOSアプリ開発者から見たMobile Hub
Jun Kato
 
Aws summits2014 サイバーエージェント_ユーザーの趣味嗜好に適した広告配信システムdynalystができるまでad_techstudioでの...
Boss4434
 
AWS IoTアーキテクチャパターン
Amazon Web Services Japan
 
Cognito User Pool
Takeru Ujinawa
 
クラウドネイティブ化する未来
Keisuke Nishitani
 
ここが知りたいAws導入までのato z配布用
takaoka susumu
 
5分でわかるAWS IoT! - あなたも今日からIoT生活 -
Toshiaki Enami
 
AWS Black Belt Online Seminar 2017 AWS Cognito
Amazon Web Services Japan
 
これでAWSマスター!? 初心者向けAWS簡単講座
Serverworks Co.,Ltd.
 

Viewers also liked (20)

PPTX
PHP x AWS でスケーラブルなシステムをつくろう
Taiji INOUE
 
PDF
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜
崇之 清水
 
PDF
Amazon Web Services (AWS) のご紹介
崇之 清水
 
PPTX
PHPerにもCoderDojoのメンターとしてお手伝いしてほしい
Ippei Sumida
 
PDF
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
ichikaway
 
PDF
Wocker 秒速で WordPress 開発環境を構築する
Kite Koga
 
PPTX
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
Yusuke Kawabata
 
PDF
エンジニア採用ヤバイ! PHPカンファレンス関西 懇親会LT
Tomoyuki Sugita
 
PDF
PHPカンファレンス2015
Daisuke Kasuya
 
PDF
PHP Codeception テスト -- 日本語
Florent Batard
 
PDF
PHPにないセキュリティ機能
Yasuo Ohgaki
 
PDF
日本語でおk AI スピーカーを作ってみた
崇之 清水
 
PDF
PHP初心者に贈る、まちがえないPHPの始め方・学び方
Hiroyuki Sugimoto
 
PDF
PHP7で変わること ——言語仕様とエンジンの改善ポイント
Yoshio Hanawa
 
PDF
20150531 phpcon kansai
kumamidori
 
PDF
関西スタートアップAWS勉強会 スタートアップ最新事例
崇之 清水
 
PDF
AWSはとんでもないものを盗んでいきました(JawsDays2013@shimy_net)
崇之 清水
 
PDF
Amazon ElastiCache(初心者向け 超速マスター編)JAWSUG大阪
崇之 清水
 
PDF
Amazon AI のスゴいデモ(仮) - Serverless Meetup Osaka
崇之 清水
 
PDF
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Hisateru Tanaka
 
PHP x AWS でスケーラブルなシステムをつくろう
Taiji INOUE
 
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜
崇之 清水
 
Amazon Web Services (AWS) のご紹介
崇之 清水
 
PHPerにもCoderDojoのメンターとしてお手伝いしてほしい
Ippei Sumida
 
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
ichikaway
 
Wocker 秒速で WordPress 開発環境を構築する
Kite Koga
 
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
Yusuke Kawabata
 
エンジニア採用ヤバイ! PHPカンファレンス関西 懇親会LT
Tomoyuki Sugita
 
PHPカンファレンス2015
Daisuke Kasuya
 
PHP Codeception テスト -- 日本語
Florent Batard
 
PHPにないセキュリティ機能
Yasuo Ohgaki
 
日本語でおk AI スピーカーを作ってみた
崇之 清水
 
PHP初心者に贈る、まちがえないPHPの始め方・学び方
Hiroyuki Sugimoto
 
PHP7で変わること ——言語仕様とエンジンの改善ポイント
Yoshio Hanawa
 
20150531 phpcon kansai
kumamidori
 
関西スタートアップAWS勉強会 スタートアップ最新事例
崇之 清水
 
AWSはとんでもないものを盗んでいきました(JawsDays2013@shimy_net)
崇之 清水
 
Amazon ElastiCache(初心者向け 超速マスター編)JAWSUG大阪
崇之 清水
 
Amazon AI のスゴいデモ(仮) - Serverless Meetup Osaka
崇之 清水
 
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Hisateru Tanaka
 
Ad

Similar to PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530 (20)

PPTX
AWS IoTのい・ろ・は
Daiki Mori
 
PDF
AWS Black Belt Techシリーズ Amazon Cognito / Amazon Mobile Analytics
Amazon Web Services Japan
 
PDF
Scale Your Business without Servers
Keisuke Nishitani
 
PDF
AWS Lake Formation で実現、マイクロサービスのサーバーレスな分散トレーシング
江藤 武司
 
PPTX
DevAx::connect はじめました
政雄 金森
 
PDF
AWS Black Belt Techシリーズ AWS SDK
Amazon Web Services Japan
 
PPTX
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
Yasuhiro Matsuo
 
PDF
AWS re:Invent 2019 Recap IoT アップデート
Amazon Web Services Japan
 
PDF
Lambda × Mobileの可能性
yuki0211s
 
PDF
AWS Summits 2014 AWS MobileServices JP
Amazon Web Services Japan
 
PDF
Architecting+for+high+availability
anzhong70
 
PDF
日本Androidの会鹿児島第10回勉強会LT
Takayuki Niinuma
 
PDF
AWS IoT アップデート 2016.02.16
Amazon Web Services Japan
 
PPTX
20170902 kixs azure&azure stack
Osamu Takazoe
 
PDF
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Keisuke Nishitani
 
PPTX
Architectingforhighavailability 170629010328
anzhong70
 
PDF
AWS Management Pack for Microsoft System Centerによるクラウド管理
Genta Watanabe
 
PDF
Farmnoteの技術(AWS Cloud Roadshow 2014 札幌)
Takehito Tanabe
 
PDF
AWS Black Belt Online Seminar 2018 re:Invent recap IoT and DevOps
Amazon Web Services Japan
 
PDF
aws mackerel twilio_handson_public
Tomoaki Sakatoku
 
AWS IoTのい・ろ・は
Daiki Mori
 
AWS Black Belt Techシリーズ Amazon Cognito / Amazon Mobile Analytics
Amazon Web Services Japan
 
Scale Your Business without Servers
Keisuke Nishitani
 
AWS Lake Formation で実現、マイクロサービスのサーバーレスな分散トレーシング
江藤 武司
 
DevAx::connect はじめました
政雄 金森
 
AWS Black Belt Techシリーズ AWS SDK
Amazon Web Services Japan
 
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
Yasuhiro Matsuo
 
AWS re:Invent 2019 Recap IoT アップデート
Amazon Web Services Japan
 
Lambda × Mobileの可能性
yuki0211s
 
AWS Summits 2014 AWS MobileServices JP
Amazon Web Services Japan
 
Architecting+for+high+availability
anzhong70
 
日本Androidの会鹿児島第10回勉強会LT
Takayuki Niinuma
 
AWS IoT アップデート 2016.02.16
Amazon Web Services Japan
 
20170902 kixs azure&azure stack
Osamu Takazoe
 
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Keisuke Nishitani
 
Architectingforhighavailability 170629010328
anzhong70
 
AWS Management Pack for Microsoft System Centerによるクラウド管理
Genta Watanabe
 
Farmnoteの技術(AWS Cloud Roadshow 2014 札幌)
Takehito Tanabe
 
AWS Black Belt Online Seminar 2018 re:Invent recap IoT and DevOps
Amazon Web Services Japan
 
aws mackerel twilio_handson_public
Tomoaki Sakatoku
 
Ad

More from 崇之 清水 (20)

PDF
WordPress RESTful API & Amazon API Gateway (English version)
崇之 清水
 
PDF
知らなきゃ損なアップデートを振り返り(2020年分)- いにしえのサービスから勝手にチョイス
崇之 清水
 
PDF
マイクロサービスを AWS サーバレス&コンテナで実装する方法
崇之 清水
 
PDF
RESTful API を Chalice で紐解く 〜 Python Serverless Microframework for AWS 〜
崇之 清水
 
PDF
クラウドを活用したセンシング/モニタリングなどデータ分析の実現
崇之 清水
 
PDF
AWS 主要なサービスアップデート 6/3-11/28
崇之 清水
 
PDF
5分でサーバーレスの環境構築から本番デプロイまでやったろやないか! - Serverless Meetup Osaka #4 LT
崇之 清水
 
PDF
サーバレスアプリケーションの入門と実践 - AWS Cloud Roadshow 2017 Osaka
崇之 清水
 
PDF
AWS における サーバーレスの基礎からチューニングまで
崇之 清水
 
PDF
データ分析 on AWS
崇之 清水
 
PDF
Amazon Pinpoint - re:Invent Serverless Follow Up - 20161207
崇之 清水
 
PDF
WordPress RESTful API & Amazon API Gateway - WordCamp Kansai 2016
崇之 清水
 
PDF
Amazon API Gateway を活用したゲームサーバー構築
崇之 清水
 
PDF
スタートアップ向け構成例とAWS活用事例(福岡市スタートアップカフェ)
崇之 清水
 
PDF
Amazon Aurora の活用 - Developers.IO in OSAKA
崇之 清水
 
PDF
Amazon Aurora の活用
崇之 清水
 
PDF
CTO Night & Days 2015 Winter - AWS Mobile Testing
崇之 清水
 
PDF
CTO Night & Days 2015 Winter - AWS Mobile Development
崇之 清水
 
PDF
AWS ロボを作ろう JAWSUG Kobe
崇之 清水
 
PDF
AWS を活用したモバイル開発 - 関西ソーシャルゲーム勉強会・2015夏
崇之 清水
 
WordPress RESTful API & Amazon API Gateway (English version)
崇之 清水
 
知らなきゃ損なアップデートを振り返り(2020年分)- いにしえのサービスから勝手にチョイス
崇之 清水
 
マイクロサービスを AWS サーバレス&コンテナで実装する方法
崇之 清水
 
RESTful API を Chalice で紐解く 〜 Python Serverless Microframework for AWS 〜
崇之 清水
 
クラウドを活用したセンシング/モニタリングなどデータ分析の実現
崇之 清水
 
AWS 主要なサービスアップデート 6/3-11/28
崇之 清水
 
5分でサーバーレスの環境構築から本番デプロイまでやったろやないか! - Serverless Meetup Osaka #4 LT
崇之 清水
 
サーバレスアプリケーションの入門と実践 - AWS Cloud Roadshow 2017 Osaka
崇之 清水
 
AWS における サーバーレスの基礎からチューニングまで
崇之 清水
 
データ分析 on AWS
崇之 清水
 
Amazon Pinpoint - re:Invent Serverless Follow Up - 20161207
崇之 清水
 
WordPress RESTful API & Amazon API Gateway - WordCamp Kansai 2016
崇之 清水
 
Amazon API Gateway を活用したゲームサーバー構築
崇之 清水
 
スタートアップ向け構成例とAWS活用事例(福岡市スタートアップカフェ)
崇之 清水
 
Amazon Aurora の活用 - Developers.IO in OSAKA
崇之 清水
 
Amazon Aurora の活用
崇之 清水
 
CTO Night & Days 2015 Winter - AWS Mobile Testing
崇之 清水
 
CTO Night & Days 2015 Winter - AWS Mobile Development
崇之 清水
 
AWS ロボを作ろう JAWSUG Kobe
崇之 清水
 
AWS を活用したモバイル開発 - 関西ソーシャルゲーム勉強会・2015夏
崇之 清水
 

Recently uploaded (9)

PDF
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
 
PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
 
PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
 
PPTX
Vibe Codingを始めよう 〜Cursorを例に、ノーコードでのプログラミング体験〜
iPride Co., Ltd.
 
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
 
PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
 
PPTX
勉強会_ターミナルコマンド入力迅速化_20250620. pptx. .
iPride Co., Ltd.
 
PPTX
色について.pptx .
iPride Co., Ltd.
 
PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
 
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
 
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
 
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
 
Vibe Codingを始めよう 〜Cursorを例に、ノーコードでのプログラミング体験〜
iPride Co., Ltd.
 
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
 
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
 
勉強会_ターミナルコマンド入力迅速化_20250620. pptx. .
iPride Co., Ltd.
 
色について.pptx .
iPride Co., Ltd.
 
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
 

PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530