以前紹介したGoogle App Engineですが、本当に簡単に動くところまでいけるので、5分で動かすところまで行ってみましょう。
<2017/4/20 追記> だいぶやり方が変わっているので、全面的に見直しました。
手順① Google Cloud Platform の登録とGAEのリージョンの指定
以下から、アカウントを作成し、任意の名前でプロジェクトを作成します。作成したアプリケーションのURLは、「プロジェクトID」で決まります。プロジェクトIDは全世界でグローバルで、あとから変えられませんので、慎重に決めましょう。
またクレカが必要ですが、無料枠があるのと、3万円の無料利用分があるので、テスト程度では課金されません。
次に左上のメニューからGAEのページを開き、下のような画面でリージョンだけ指定しておきます。
東京にする場合は、asia-northeast1
を選択します。
手順② SDKのインストール
以下から必要なSDKをインストールします。 インストールすると、デプロイ用のコマンドと、ローカル用の開発環境が使えるようになります。
Cloud SDK のインストール | Cloud SDK のドキュメント | Google Cloud Platform
どの方法でもいいですが、とりあえず入れる方は「対話型インストーラ」が簡単でおすすめです。
- ターミナルで以下コマンドを実行。途中でインストールするディレクトリや、パスを通すか、コマンドの補完をするか聞かれます。よくわからない場合は、すべてデフォルトでOKです。
curl https://sdk.cloud.google.com | bash
- シェルを再起動
exec -l $SHELL
- gcloudの初期設定をする
gcloud init
手順③ ソースコードを書く
適当な名前でディレクトリを作り、その中に以下のファイルを入れます。このディレクトリの中身をデプロイすることになります。
index.php
以下のようなPHPのプログラムを書き、index.php
で保存しましょう。
<?php echo 'Hello, World!';
app.yaml
このファイルで、アプリケーション名、実行環境(PHP5.5か5.3か)、ルーティングの設定、静的ファイルの設定を行います。
service: default runtime: php55 api_version: 1 handlers: - url: /.* script: index.php
手順④ ローカルでテストしてみる
以下のコマンドを実行すると、ローカル開発環境が立ち上がります。
$ cd /path/to/project_dir (index.phpがあるディレクトリ) $ dev_appserver.py .
初回はコンポーネントのインストールなどが走ります。 この状態でブラウザを開き、以下にアクセスすると、Hello Worldが表示されるはずです。
ちなみに、以下でローカル環境の管理画面があり、DataStoreの中身やMemcachedの中身や、インスタンスの数などが見られます。
手順⑤ デプロイする
テストは問題ないので、デプロイしましょう。
$ cd /path/to/project_dir (index.phpがあるディレクトリ) $ gcloud app deploy --project [プロジェクトID] --version 1 .
プロジェクトIDには、https://console.cloud.google.com/home/dashboard:ダッシュボードに表示されているプロジェクトIDを入れます。
ブラウザで以下のURLを開きます。
http://[プロジェクト名].appspot.com/
↑このURLは、SSL対応していて、httpsでもつながります。プロジェクト名に.があるときは、.
を-dot-
にするとつながります。
HelloWorldと表示されれば成功です!
手順⑥ コンソールで確認する
使用量の確認
プロジェクトトップに使用しているリソースが表示されます。 コードにsleepとか入れて、更新すると、インスタンスが増えるのがわかると思います。
バージョンの確認
デプロイが成功すると、「バージョン」タブの日時が変わります。 app.yamlのversionを変えると別versionとして認識され、A/Bテストができます。
アクセスログの確認
アクセスログは、左のタブで「ログ」を選択すると、見られます。 アプリからsyslogに送ったデータもここから確認できます。
まとめ
GAE のデプロイは本当に簡単。
慣れれば、プロジェクト作成(30秒)、app.yaml作成(1分)、デプロイ(30秒)ということで、2分くらいでデプロイできちゃいます。
PHPを新たに覚える方や、さくっとツール作る、なんてときにも簡単でおすすめです。
よいGAEライフを!!
次のステップ
次のステップとしては、以下がおすすめです。
ゲストブックを作るチュートリアル
https://cloud.google.com/appengine/docs/php/gettingstarted/introduction
phpMyAdminを設置するチュートリアル
PHPの設定を変えたい
date.timezoneをJSTにするのは、php.ini
というファイルをルートディレクトリに置いて変えます。詳細は以下。
The php.ini File | App Engine standard environment for PHP | Google Cloud Platform
ルーティングの設定など、app.yamlの設定を見たい
app.yaml Reference | App Engine standard environment for PHP | Google Cloud Platform
追記(2017/3/26)リージョン選択のタイミングについて
以前は以下のような記述がありましたが、リージョン選択はいつのまにかGAEを利用開始するタイミングに変わりました。
プロジェクト作成時にリージョンを選びます。これはあとから変えられません!東京リージョンを使う場合は、ここで必ず asia-northeast1
を選択します。
追記(2017/4/20)コマンドラインツール gcloud
について
gcloud
がすごく使いやすくなっているので、こちらの方法に書き換えました。
こちらにすると、以下のように app.yaml
のフォーマットが変わっているので気をつけてください。
application
→ 記載不要CLIで指定するようになりました
version
→ 記載不要CLIで指定するようになりました
module
→ service
内容は同じです。