EC studio EC studio 技術ブログ

Googleが提供する、Google App Engineというサービスを知っていますか?

Google App Engine

Amazon EC2などと同じで、Googleが用意するクラウドサーバー環境で
アプリケーション開発ができるというサービスです。
(レンタルサーバーのようなもの)

その大きな特徴は、なんといっても月間500万PV相当まで"無料"ということです。
※有料で制限を拡張することも可能

※2011/09/07 注
Google App Engineの新料金体系が発表されました。
新料金体系では無料で使える枠が大幅に削減されています。
この記事の無料での使用制限に関する記述は、新料金体系では
正しくありませんのでご注意ください。

「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 App Engineに登録する必要があります。
Googleアカウント(GMAIL)が必要なので、
持っていない方は事前に作成してください。

下記のURLから登録できます。

https://appengine.google.com/

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/

Pythonのダウンロード

1.1 Pythonをインストール

Pythonのインストール

素直に「Next」を選んでいけばokです。

2.Google App Engine SDK をダウンロード

次にGAEの開発環境であるSDKをインストールします。

http://code.google.com/intl/ja/appengine/downloads.html

GAE SDKダウンロード

2.1 Google App Engine SDK をインストール

GAE SDKインストール

こちらも、そのまま「Next」を選べばokです。
これでGAEを使った開発環境のセットアップが完了しました!

3.Google App Engine Launcherを使ってファイルをアップロード

ではさっそく、先程インストールしたGoogle App Engine SDKを起動しましょう。

GAEランチャーの起動

スタートメニューから、
「Google App Engine Launcher」を選択します。

GAEランチャー

こんな画面が出てくればokです。
このアプリケーションを使ってファイルのアップロードなどを行います。
では、アプリケーションを追加してみましょう。

GAEランチャー アプリケーション作成

メニューの「File」から
「Create New Application..」をクリックします。

GAEランチャー アプリケーションの作成

「Application Name」に、最初にブラウザ側で作成した
アプリケーション名を入れます。
(Application Identiferの部分。サブドメインにあたるところです)

「Parent Directory」にはhtmlファイルなどを
入れるフォルダを指定します。
(指定したフォルダに、アプリケーション名のサブフォルダが作成されます)

作成すると、下部のボックスに表示されるようになります。

GAEランチャー アプリケーション選択

作成したアプリケーションを選択し、「Run」ボタンをクリックします。

GARランチャー アプリケーション起動

するとアプリケーションが起動します。
「Browse」ボタンを押すとローカル環境でテスト表示させることができます。
サーバーへのアップロードには、「Deploy」ボタンを使用します。

「Deploy」を押して、サーバーへアップしてみましょう。

デプロイ認証

Googleの認証を求められるので、Google App Engineに登録した
メールアドレスとパスワードを入力します。

GAEランチャー デプロイログ

認証に成功すれば、ファイルがサーバーへと自動的にアップロードされます。

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フォルダを作成

ここではサーバーの慣習にならって「htdocs」というフォルダを作りました。
(別のフォルダ名でも全然okです)

このフォルダの中に、アップしたいサイトのHTMLファイルや画像、
CSSファイルなどを入れておきます。

サイトのファイルを入れておく
次に、最初からある「app.yaml」 というファイルを編集します。
(メモ帳などのテキストエディタで開きます)

初期設定では

  1. application: [xxxxxx]
  2. version: 1
  3. runtime: python
  4. api_version: 1
  5.  
  6. handlers:
  7. - url: .*
  8. script: main.py

※[xxxxxx]の部分は、各アプリケーション名
こうなっていますが、これを

  1. application: [xxxxxx]
  2. version: 1
  3. runtime: python
  4. api_version: 1
  5.  
  6. handlers:
  7. - url: /
  8. static_files: htdocs/index.html
  9. upload: /
  10. - url: /
  11. 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とツイッターで会社は儲かる」

詳しくはこちらの詳細ページをご覧下さい!


関連した記事:

この記事へのコメント

月間500万PVまで無料という表現についてご指摘をいただいたので、修正しました。
正確には月間500万PV相当まで無料です。
詳しくはGoogleの公式ドキュメントを参照してください。

投稿者: 山本 正喜 | 2010/02/08 月曜日 13:51:01
投稿者: 鷹野三四 | 2010/02/08 月曜日 17:54:35

Java版の開発環境構築の記事を書いてみましたので、良かったら参考にしてください。
http://d.hatena.ne.jp/gungnir_odin/20100208

投稿者: gungnir_odin | 2010/02/09 火曜日 0:03:04

python2.6でも動くようになったんですか。以前は2.5以外ダメだったのに。

投稿者: hoge | 2010/02/09 火曜日 13:11:53

はい、2.6でも動きました。

投稿者: 山本 正喜 | 2010/02/09 火曜日 15:49:26

>この部分は後から変更したり、削除することができないので注意!
削除できると思いますが。。。

投稿者: ななし | 2010/06/08 火曜日 16:32:01

>ななしさん

あれ?そうですか?
記事を書いた時点では削除できませんでした、、、

投稿者: 山本 正喜 | 2010/07/16 金曜日 12:58:35

情報ありがとうございます
早速、Google無料サーバーを試してみます

投稿者: かんだきよし | 2010/12/15 水曜日 23:39:14

2.6だとUrllib2などのモジュールは動作しませんよ

投稿者: ひろぽん | 2010/12/22 水曜日 19:40:35

>この部分は後から変更したり、削除することができないので注意!
削除は出来ますが,今後同じアプリケーション名は使えないというのが正しい情報なようです.記事の時点から仕様変更されたのでしょうか.

投稿者: kazu | 2011/01/22 土曜日 16:34:59

おお、そうなのですね。記事時点では削除不可とGoogleのドキュメントにありました。

投稿者: 山本 正喜 | 2011/01/29 土曜日 0:20:54

すばらしい情報ありがとうございます.
これで,無料でホームページを作ることができました.
ありがとうございます♪

投稿者: Atsushi Sakai | 2011/03/04 金曜日 4:11:18

キャリアの中に、なぜか

q.vodafone.ne.jp(九州)だけありません。
しかも、otherにしても受け付けてもらえません。

なぜ?

投稿者: hana | 2011/03/28 月曜日 18:23:27
投稿者
人気のエントリー
カテゴリー
最近のエントリー
アーカイブ
Copyright© ChatWork, All Rights Reserved. secured by ESET.