Google App Engineのログは、WEB上( appengine.google.com のLogs )で見る事も出来るけど、デバッグにはイマイチ使いにくいですね。
GAE SDK for Java を使えば、ログをダウンロード出来ます。
インストール手順はこちらを参照。(Windows XPです)
cd %GAE_HOME%
bin\appcfg.cmd –severity=0 request_logs “c:\Documents and Settings\myname\workspace\myapp\war” .\request.log
severityでログレベルを指定する
4 は「CRITICAL(致命的)」
3 は「ERROR(エラー)」
2 は「WARNING(警告)」
1 は「INFO(情報)」(デフォルト)
0 は「DEBUG(デバッグ)」
サーバにSSHでログインして、ログファイルを tail -f しちゃうのがデフォルトになっちゃっているので、やっぱり不便だなぁ。
参考サイト
Java アプリケーションのアップロードと管理 – Google Code
※開発機はWindows XPです。
Google App Engine SDK for javaを使って、コマンドラインでデプロイしようと
bin\appcfg.cmd update .\war
すると、javac.exeが見つからないと怒られた。
java.lang.IllegalStateException: cannot find javac executable based on java.home, tried “C:\Program Files\Java\jre6\bin\ javac.exe” and “C:\Program Files\Java\bin\javac.exe”
これに対する対処法は、Google App Engine SDK for java のインストールディレクトリにある、bin/appcfg.cmdを編集し、
@java -cp .....
を
@"%JAVA_HOME%\bin\java" -cp ...
に書き換えれば良い。
“でくくっているのは、JDKのインストール先にスペースが含まれる( c:\Program Files )から。
参考サイト
Issue 1226: appcfg cannot find javac – Project Hosting on Google Code
前回インストールした、Google App Engine SDK for javaを使って、コマンドラインでデプロイしてみる。
参考サイトの例に応用をきかせて、今回は SDKとは別ディレクトリに存在する Eclipseのワークスペース上のWARディレクトリを、デプロイします。
※開発機はWindows XPです。
cd %GAE_HOME%
bin\appcfg.cmd update “c:\Documents and Settings\myname\workspace\myapp\war” –sdk_root=”c:\Documents and Settings\myname\workspace\myapp”
Email: と聞かれるので、GAEアカウントのメールアドレスを入力。
Password for xxxx@gmail.com: と聞かれるので、GAEアカウントのパスワードを入力。
・・・う~ん、ちょっとめんどくさい。
このへんは最終的には Antタスクでやるつもり。
バッチ化して開発者(WEBデザイナ含む)に配布出来ないかな、と思ってはみたものの、やはり使いやすさ・説明のし易さ共にeclipseに軍配があがりますね。
参考サイト
アプリケーションのアップロード – Google Code
前に書いたEclipseによる開発環境構築以外に、コマンドラインでやる方法もある。
Google App Engine SDK for Java のインストール
-
ダウンロード – Google Code から、Google App Engine SDK for Java をダウンロードする。
-
ダウンロードしたSDKを、任意のフォルダに解凍する。※ここでは、c:\opt\java に解凍した。
-
コマンドラインで使うときの為に、環境変数を登録しておくと便利。
-
SET PATH=%PATH%;c:\opt\java\appengine-java-sdk-1.2.6\bin
-
SET GAE_HOME=c:\opt\java\appengine-java-sdk-1.2.6
-
コマンドプロンプトを開き、サンプルアプリケーションを起動してみる
-
cd %GAE_HOME%
-
bin\dev_appserver.cmd demos\guestbook\war
参考サイト
Java SDK のインストール – Google Code
脳内で、月間PVが300万PV位のソーシャルメディアを、Google App Engine for Java にのせてみる。
■ストレージ容量
無償は1GBまで。
コンテンツ、画像、DBでだいたい50GB位と仮定。
$0.005 x 50GB x 30日 = $7.5 / 月
■ネットワーク帯域
無償は、上り、下り それぞれ 10GB /日まで。
下りの 1日当たりのデータ転送量は、仮に4GB/日と仮定すると・・・
要らんやん。
上りはもっと少ないから、当然無償だな。
■CPU時間
無償は 6.5時間 / 日 まで。
以降、 $0.10 / 時間
これは読めないなぁ。
色々遊んでみて、感覚を掴むしかないか。
とりあえず、20時間として、
13.5時間 * $0.1 * 30 = $40.5
■メール送受信数
2000件 / 日 までは無料。
週3回、32000通のメルマガを発行したとして、
30000 * $0.0001 * 3 * 4 = $36 / 月
これが一番高くつきそうやん。
それでも4000円以下だから、メールサーバのホスティングとか管理とか考えたら安いモノだけど、
大量のメール送信を伴うアプリケーションは、別途ホスティング等を考えた方がいいかもしれない。
■合計
・ストレージ $7.5
・ネットワーク帯域 Free
・CPU時間 $40.5
・メール送受信 $36
計 $84.0
Amazon Web Services (EC2) で、同じ条件で脳内試算したときは、$185.1 だったから、半額以下になる。
しかもGAEの場合は、サービス立ち上がり当初 ~ 一定規模までは、無償な訳だから、圧倒的にコストメリットが高い。
GAEって素敵。