Web開発メモ

AWSなどを利用したWebサービス構築の議事メモ。

AWSでLAMP環境構築①

AWSを今更ながら使ってみる。

今回作りたいのはこんな環境
f:id:banana_dev:20150221160320p:plain

※GPXは緯度経度の情報を含んだファイルの形式

サーバ名 役割 CPU Memory ディスク容量 備考
web01 Webサーバ 2 4 EBSonly t2.medium
web02 Webサーバ 2 4 EBSonly  t2.medium
api01  APIサーバ 2 4 EBSonly  t2.medium
api01  APIサーバ 2 4 EBSonly  t2.medium
mdb01 マスターDBサーバ 2 4 EBSonly  db.t2.medium
sdb01 マスターDBサーバ 2 4 EBSonly  db.t2.medium
web テストWebサーバ 1 EBSonly  t2.small
api テストapiサーバ 1 EBSonly  t2.small
db テストdbサーバ 1 EBSonly  db.t2.small
tool toolサーバ 1 EBSonly  t2.small
lb ロードバランサー - - - Elastic Load Balancing 

と思ったが。

初期ロンチにしては費用が。。。


ということで初期は以下の構成のセットアップをする。

f:id:banana_dev:20150221160335p:plain

サーバ名 役割 CPU Memory ディスク容量 備考
web01 Webサーバ 1 2 EBSonly t2.small/nginxのリバースプロキシー
web02 Webサーバ 1 2 EBSonly  t2.small
db01  DBサーバ 1 2 EBSonly  t2.small
web/api/db/tool テストサーバ 1 EBSonly  t2.micro

 

数値集計がめんどい②

前回の記事からの続き。

 

まあ、単純に以下の方法で検討。

①実際にログイン処理を行いながらログを監視

②プログラムで処理を再現

 

結論からいくと以下のような感じでした。

https://dev.flurry.com/secure/loginAction.doにID,PASSを送信

②かえってきたcookieを保存

cookie情報をセットしhttps://dev.flurry.com/fullPageTakeover.do?originalTarget=&defaultTarget=%2Fhome.doへアクセス

 

あとは、cookie情報をセットして取得したいイベントのcsvファイルのダウンロードURLを順番にコールするだけ。

 

 

 

数値集計がめんどい①

某アプリのPMを担当しています。

数値を集計して、解析し課題点を洗い出す。

この「課題点を洗い出す」が思っているより難しい。

 

そして...数値集計に恐ろしく時間がかかるしめんどい!

具体的にはFlurryというツールを利用している。

 

これは新規ダウンロード数やアクティブユーザ数の他に継続率などもとれてかなり便利。ただ、APIがまだまだしょぼい。大きなところはこんな感じ。

 

1.1秒に1回しかアクセス出来ない

 ⇒それでさえもTooManyAccessになることがある

2.いろいろ出来るようで出来ない

 ⇒Webツール上で出来ることが実は出来ない。例えば国別絞りこみとか。

 

ということで、今は1つ1つcsvファイルでダウンロードして解析している....

単純作業はプログラムで置き換えるのがエンジニア。

ということで、この作業を効率的に行えるプログラムを検討する。

 

まずはURLのパラメータを調査した。 

イベント系URL
キー名説明
projectID プロジェクトID
versionCut バージョン絞り込み
intervalCut 集計期間
segmentID セグメントID
channelID チャネルID
networkId ネットワークID
eventID イベントID
zoom 表示期間

 

USAGE系URL
キー名説明
projectID プロジェクトID
versionCut バージョン絞り込み
intervalCut 集計期間
segmentID セグメントID
channelID チャネルID
networkId ネットワークID
canCalculateHourly 不明
canCalculateDayparting 不明
zoom 表示期間

※intarvalCutのフォーマット

allTime・・・全ての期間

7Days・・・一週間

30Days・・・一ヶ月

365Days・・・一年間

customIntervalyyyy_mm_dd-yyyy_mm_dd・・・指定期間

 

次回はどうやってダウンロードするか。