AWS対応してみました
今日のABC2011wでもAmazonさんが講演されていた今話題(?)のAmazon Web Service for Android(AWS)。
SmartTrainigでもAWSを利用してみたのでまとめまとめ。
◇今の状況
・「ラリー機能で誰が先頭を走ってるか表示できたら燃えるよ?」って意見もらう。
・GAE本買って読む。
・よくわからない。時間無い。挫折。
・半年放置。
・デ部でセカイのやましたさんからAWSについて教えてもらう。
・何それ、サーバプログラム書きたくない俺向きジャン。
・とりあえずテスト的にSmartTrainingに機能追加してみた。 ←今ここ!
◇成果
これまで、SmartTrainigのラリー機能は自分が走った距離を貯めて仮想的なコース上に進捗状況を表示するだけでした。
これに、他の人のラリー記録を重ね合わせて表示することができるようになりました。
◇手順
・AWSのアカウント作成。この辺から適当に。
・AWS SDK for Androidの取得。
・AWS SDKのセットアップ
・あとはやりたいことを書けばいい。
※詳しくはたぶんこちら(自分は日本語の情報を見つけられず、本家サイトの情報だけでなんとかなりました)
◇軽く技術的なこと
・SimpleDB上にドメインを1つ作る(ほぼサンプル通り)。
・各クライアントはラリー登録時にラリー関連のデータをアップロードする(ほぼサンプル通り)。
・他クライアントはラリー画面表示時に条件にヒットする他人のラリーデータをダウンロードしてマップ上に表示する(ほぼサンプル通り)。
・AWSへのアクセス用アカウントはAWS Identity and Access Management(IAM)で権限を制限したアカウントを生成して、全クライアントがこれを利用。accessKeyとsecretKeyは軽く暗号化かけてアプリ埋め込みw「セキュリティ軟弱じゃねぇ?」とか言われると、否定できません。でも、accessKeyとsecretKeyバレても権限制限してるから、いいかなっと。変なことされたら無効にして新しいKey生成しちゃえばいいや。みたいな。とにかく、鍵管理サーバとかも書きたくない。
・扱うデータに個人情報や機密情報は含めない。抜かれても大丈夫なデータだけ扱う。
・こことか真面目に読めばキーローテーションについて何か書かれているかもしれない。
そんな感じ。
◇感想
・NoSQLなDB(SimpleDB)って初めて扱ってみましたがその名の通りシンプル。
・NoSQLなくせにSQLが使えて便利。
・ライブラリのJarが700KB程度。個人的にはちょっとでかいなぁ。(元のアプリが1MB程度なので)
・利用料、$0.250GB・月ってなんだよw小学生の小遣いかよwww
◇今後
・散歩途中に撮影した画像をアップロードしてこれを地図上に表示したり。(Picasa APIでもできるな、たぶん)
・他ユーザとP2Pで何か(なんだろ。ときめきの「はじめましてボクと一緒に走りませんか?」的な)メッセージ送信したり。
・とか、とか、とか。あんまりアイディアないな。
SmartTrainigでもAWSを利用してみたのでまとめまとめ。
◇今の状況
・「ラリー機能で誰が先頭を走ってるか表示できたら燃えるよ?」って意見もらう。
・GAE本買って読む。
・よくわからない。時間無い。挫折。
・半年放置。
・デ部でセカイのやましたさんからAWSについて教えてもらう。
・何それ、サーバプログラム書きたくない俺向きジャン。
・とりあえずテスト的にSmartTrainingに機能追加してみた。 ←今ここ!
◇成果
これまで、SmartTrainigのラリー機能は自分が走った距離を貯めて仮想的なコース上に進捗状況を表示するだけでした。
これに、他の人のラリー記録を重ね合わせて表示することができるようになりました。
◇手順
・AWSのアカウント作成。この辺から適当に。
・AWS SDK for Androidの取得。
・AWS SDKのセットアップ
・あとはやりたいことを書けばいい。
※詳しくはたぶんこちら(自分は日本語の情報を見つけられず、本家サイトの情報だけでなんとかなりました)
◇軽く技術的なこと
・SimpleDB上にドメインを1つ作る(ほぼサンプル通り)。
・各クライアントはラリー登録時にラリー関連のデータをアップロードする(ほぼサンプル通り)。
・他クライアントはラリー画面表示時に条件にヒットする他人のラリーデータをダウンロードしてマップ上に表示する(ほぼサンプル通り)。
・AWSへのアクセス用アカウントはAWS Identity and Access Management(IAM)で権限を制限したアカウントを生成して、全クライアントがこれを利用。accessKeyとsecretKeyは軽く暗号化かけてアプリ埋め込みw「セキュリティ軟弱じゃねぇ?」とか言われると、否定できません。でも、accessKeyとsecretKeyバレても権限制限してるから、いいかなっと。変なことされたら無効にして新しいKey生成しちゃえばいいや。みたいな。とにかく、鍵管理サーバとかも書きたくない。
・扱うデータに個人情報や機密情報は含めない。抜かれても大丈夫なデータだけ扱う。
・こことか真面目に読めばキーローテーションについて何か書かれているかもしれない。
そんな感じ。
◇感想
・NoSQLなDB(SimpleDB)って初めて扱ってみましたがその名の通りシンプル。
・NoSQLなくせにSQLが使えて便利。
・ライブラリのJarが700KB程度。個人的にはちょっとでかいなぁ。(元のアプリが1MB程度なので)
・利用料、$0.250GB・月ってなんだよw小学生の小遣いかよwww
◇今後
・散歩途中に撮影した画像をアップロードしてこれを地図上に表示したり。(Picasa APIでもできるな、たぶん)
・他ユーザとP2Pで何か(なんだろ。ときめきの「はじめましてボクと一緒に走りませんか?」的な)メッセージ送信したり。
・とか、とか、とか。あんまりアイディアないな。
AWSをご利用頂きありがとうございます。ABC2011wでもAmazonさんが講演の、玉川です。
返信削除>ライブラリのJarが700KB程度。個人的にはちょっとでかいなぁ。
SimpleDBだけであれば、aws-android-sdk-0.1.0-sdb.jarという85KBのライブラリもありますので、お使い頂ければ有難いです。
玉川さん!昨日はありがとうございました。聴講させていただきました。そしてコメントもありがとうございます。
返信削除aws-android-sdk-0.1.0-sdb.jarも一度試したのですが、クラスがないだかなんだかで(あんまりしつこく調査してません)ビルドできなかったので手っ取り早く全部入りのライブラリを使ってしまいました。今度sdbだけのライブラリも試してみます!