Googleが提供する、Google App Engineというサービスを知っていますか?
Amazon EC2などと同じで、Googleが用意するクラウドサーバー環境で
アプリケーション開発ができるというサービスです。
(レンタルサーバーのようなもの)
その大きな特徴は、なんといっても月間500万PV相当まで"無料"ということです。
※有料で制限を拡張することも可能
「App Engine は無料で始めることができます。最大 500 MB の永続性ストレージに加え、月間約 500 万ページ ビューに対応できる十分な CPU と帯域幅を、すべてのアプリケーションで完全に無料で利用できます。」
- Google App Engine公式ドキュメントより
月間500万PVというと、相当な人気サイトでも余裕でさばけるようなスペックです。
これが無料というのはスゴイ・・・。
もちろんGoogleが提供する環境なので、信頼性の高さ(落ちにくさ)は間違いなしです。
このGoogle App Engine(以下 GAE)、アプリケーション開発だけでしか
使えないと思われがちなのですが、実は設定を工夫すれば
通常のHTMLによるサイトを作って運用することも可能です。
多少初期設定の手順は複雑ですが、このスペックのサーバーを無料で
使用出来ることを考えれば試してみる価値はあるのではないかと思います。
Webサイトを立ち上げるまでの手順をまとめてみましたので、公開したいと思います。
※縮小してある画像はクリックして拡大できます
1.Google App Engineを登録する
まずは、Google App Engineに登録する必要があります。
Googleアカウント(GMAIL)が必要なので、
持っていない方は事前に作成してください。
下記のURLから登録できます。
※Google Appsでも利用可能です。その場合は、
https://appengine.google.com/a/ドメイン名
から登録してください。
アカウントの登録ができたら、早速アプリケーションを作りましょう。
GAEにログインすると下記のような画面になります。
「Create Application」 をクリックします。
初回だけ、携帯メールでの認証が必要になります。
SMSと書いてますが、通常のメールアドレスで大丈夫です。
CountryにJapan、キャリアにdocomoなどを設定して、
Usernameのところにはメールアドレスを入力しましょう。
設定すると、携帯にメールが飛んできますので、
そのメール内にあるGoogle App Engine Codeを
フォームに入力すれば完了です。
認証が完了すれば、アプリケーションを作成できます。
作成するアプリケーション(サイト)の情報を入力しましょう。
「Application Identifier」がアプリケーション一つ一つに割り当てられるサブドメイン名になります。
この部分は後から変更したり、削除することができないので注意!
ドメインを取得するつもりで設定しましょう。
タイトルは後からでも変更できます。
作成が完了しました。
いまのところ、最大10個まで無料でアプリケーションを作成できます。
これで、オンライン側の設定は完了です!
2.開発環境のセットアップ
GAEへファイルをアップロードするには、FTPソフトなどの代わりに
Googleが用意する開発環境(SDK)を使用します。
いくつかソフトをインストールする必要があるので、
下記の手順でインストールしてください。
1.Pythonをダウンロード (v2.6.4)
GAEで動くスクリプト環境のPythonをインスールします。
各OSにあったファイルをダウンロードしてください。
(Python 3.x.xではなく、2.x.xのバージョンを選んでください)
http://www.python.org/download/
1.1 Pythonをインストール
素直に「Next」を選んでいけばokです。
2.Google App Engine SDK をダウンロード
次にGAEの開発環境であるSDKをインストールします。
http://code.google.com/intl/ja/appengine/downloads.html
2.1 Google App Engine SDK をインストール
こちらも、そのまま「Next」を選べばokです。
これでGAEを使った開発環境のセットアップが完了しました!
3.Google App Engine Launcherを使ってファイルをアップロード
ではさっそく、先程インストールしたGoogle App Engine SDKを起動しましょう。
スタートメニューから、
「Google App Engine Launcher」を選択します。
こんな画面が出てくればokです。
このアプリケーションを使ってファイルのアップロードなどを行います。
では、アプリケーションを追加してみましょう。
メニューの「File」から
「Create New Application..」をクリックします。
「Application Name」に、最初にブラウザ側で作成した
アプリケーション名を入れます。
(Application Identiferの部分。サブドメインにあたるところです)
「Parent Directory」にはhtmlファイルなどを
入れるフォルダを指定します。
(指定したフォルダに、アプリケーション名のサブフォルダが作成されます)
作成すると、下部のボックスに表示されるようになります。
作成したアプリケーションを選択し、「Run」ボタンをクリックします。
するとアプリケーションが起動します。
「Browse」ボタンを押すとローカル環境でテスト表示させることができます。
サーバーへのアップロードには、「Deploy」ボタンを使用します。
「Deploy」を押して、サーバーへアップしてみましょう。
Googleの認証を求められるので、Google App Engineに登録した
メールアドレスとパスワードを入力します。
認証に成功すれば、ファイルがサーバーへと自動的にアップロードされます。
http://[アプリケーション名].appspot.com
をブラウザで表示してみてください。
([アプリケーション名]の ところはApplication Identiferを入れてください)
Hello World!
と表示されていれば成功です!
4.Google App Engineを使ってWebサイトを立ち上げる
お待たせしました、ここからが本番です。
さきほどの様な要領でファイルをサーバーにアップロードできるのですが、
初期設定ではHTMLなどのファイルを上げても表示することができません。
アプリケーション開発用の設定になっているからなのですが、これを
Webサイト用の設定に書き換える必要があります。
では、Google App Engine Launcherで作成したアプリケーションの、
Parent Directoryで指定したフォルダの中にあるファイルをエクスプローラーで開いてください。
このような、3つのファイルがあるかと思います。
初期状態ではリクエストはすべてmain.pyというファイルで
処理されるような設定になっていますが、ここを変更して
HTMLファイルなどを自由に表示できるようにしてみます。
まず、HTMLファイルなどを入れるフォルダを作成します。
ここではサーバーの慣習にならって「htdocs」というフォルダを作りました。
(別のフォルダ名でも全然okです)
このフォルダの中に、アップしたいサイトのHTMLファイルや画像、
CSSファイルなどを入れておきます。
次に、最初からある「app.yaml」 というファイルを編集します。
(メモ帳などのテキストエディタで開きます)
初期設定では
-
application: [xxxxxx]
-
version: 1
-
runtime: python
-
api_version: 1
-
-
handlers:
-
- url: .*
-
script: main.py
※[xxxxxx]の部分は、各アプリケーション名
こうなっていますが、これを
-
application: [xxxxxx]
-
version: 1
-
runtime: python
-
api_version: 1
-
-
handlers:
-
- url: /
-
static_files: htdocs/index.html
-
upload: /
-
- url: /
-
static_dir: htdocs
この様に変更します。
(handlers: 以降の行を変更)
こう設定することで、htdocs/ 以下のフォルダを
Webサイトとして表示することができるようになりました。
例えば、
http://[アプリケーション名].appspot.com/page.html
↓
htdocs/page.html
と関連付けられ、サブフォルダがある場合でも
http://[アプリケーション名].appspot.com/image/logo.jpg
↓
htdocs/image/logo.jpg
と、同様に関連付けられるようになります。
アップしたいファイルを入れて、「Deploy」してみましょう!
完成!
お疲れ様でした!
あとはサイトの更新時にはhtdocsフォルダの中身を変更し、
随時Deployすればサーバーへアップロードできます。
このGoogle App Engineには独自ドメインを使用することもできるので、
本当にレンタルサーバー的に使用することができます。
GAEの詳しい使い方や、設定の詳細を知りたい方は
Googleのドキュメントを参照してください。
デベロッパー ガイド
http://code.google.com/intl/ja/appengine/docs/
ただ、GAEの欠点としてはPHPなどのプログラムを動かすことができません。
PythonやJavaのアプリケーションは動作しますが、
Googleの特殊な環境で動作するようになっていないといけません。
単純なお問い合わせフォームや注文フォームなどだけの場合は、
Googleドキュメントのフォーム機能を使うことをオススメします。
(とても簡単にお問い合わせフォームなどを組み込めます)
参考リンク:http://google-mania.net/archives/1039
またGAEを使ってみて面白いことがわかればブログ記事にしていきたいと思います。
ご要望やご質問、感想などがあれば私のtwitterまでどうぞ!
(http://twitter.com/msk_masaki)
[告知]
EC studioで本を出版することになりました!
EC studioでiPhoneとtwitterを全社導入した時の事例や、
Google Appsの活用法などを詳しくまとめています。
Google 辻野社長との対談も収録!
関連した記事:
■「iPhoneとツイッターで会社は儲かる」
導入して起きた効果、社内への落とし込み方、
iPhone とツイッター、iPhone 活用方法、
さらには、iPhone×ツイッター×Google Apps™によって起こる
クラウド上のコミュニケーション革命について詳細に解説します。
最終章にはGoogle 代表取締役社長 辻野氏との対談を収録。
「iPhoneとツイッターで会社は儲かる」
月間500万PVまで無料という表現についてご指摘をいただいたので、修正しました。
正確には月間500万PV相当まで無料です。
詳しくはGoogleの公式ドキュメントを参照してください。
https://groups.google.com/group/google-app-engine-japan/browse_thread/thread/f9a1d858ce44b0da?hl=ja&pli=1
面白いイベントがあるそうです。
Java版の開発環境構築の記事を書いてみましたので、良かったら参考にしてください。
http://d.hatena.ne.jp/gungnir_odin/20100208
python2.6でも動くようになったんですか。以前は2.5以外ダメだったのに。
はい、2.6でも動きました。