Google Cloud Platformを使う 〜その1 AppEngineを使ってPHP環境を作ってみる〜
最近仕事でGoogleCloudPlatformに関わる事になったので、勉強としていろんな環境を構築してみる。
今日はGoogleCloudPlatformのAppEngineで、PHPとMySQLが動く環境を作ってみます😊
【準備】Google Cloud Platformに登録する
私はGoogle Mapの開発などを行った関係ですでに登録されていたんですが、Google App Engineを使うためにはそのプラットフォームであるGoogle Cloud Platformへの登録が必要です。
Google App Engineを使えるようにする
どうやらこれはとっても簡単らしい。
Google Cloud Platformのコンソール画面にログインできたら、上部メニューからプロジェクトを選択する。なければここで「新しいプロジェクト」を選択して作成する事ができます。
Google App Engineのダッシュボードに移動する
左側のハンバーガーメニューからApp Engineに移動できた。
アプリを作成していく。今回はアメリカのサーバーを選んで、リソースは開発に使いたい言語、PHPを選択した。昔はJavaが使えるサーバーなんて、専用サーバーを借りるか自分で自宅サーバーを構築しなきゃいけなかったのに、開発を勉強する人にとっても良い時代になったなー。
ここで、一瞬「?」となって止まりました。この次どうしたらいいの?
「後で」ではないね・・・そうか、CLOUD SDKをダウンロードするという所から何かのアプリをダウンロードして、このAppEngineで作った環境をデスクトップのアプリから触れるとかそういう事なのかな。
Google Cloud SDKのインストール
ダウンロードしたファイルを解凍して任意の場所に置いた。下記のコマンドを実行するとあったので、install.shがある場所まで移動したけど、逆にうまくいかなかった。1つ上のgoogle-cloud-sdkフォルダを置いた場所で、下記コマンドを実行するとうまく行った。これは覚えておきたい。
./google-cloud-sdk/install.sh
YとかNとか聞かれるのでそのまま進める。どちらもNでも良さそう。
終わったらパスが追加されているかどうか、確認してみても良い。
$ cat /Users/xxxxx.yyyyyyyy/.bash_profile
次にCloud Sdkの初期化を開始します。Yを押して進めていくと、ブラウザが自動で開いて、Googleのアカウント認証、続いてCloud SDKへの権限許可の画面になったのでつなぎたいGoogleアカウントを選んでOKとしました。
$ ./google-cloud-sdk/bin/gcloud init
ちなみに、パスが通ってるからコマンドだけ打ったらいいかと思ったらうまくいかなかった。なぜだ・・・上記で通ったので一旦良しとします。
画面操作が完了すると、どのプロジェクトで利用するか選択肢が出てきます。ここで私の場合無関係なプロジェクトが多すぎて、参考にしていた手順書の画面と違いすぎて、壊れたかと思いましたw
特にエラー無く進めばGoogle Cloud SDKのインストールは完了です。
コマンドラインでバージョンの確認。とにかくパスが通っていない・・・というか端末再起動していないからか?(今は再起動できない環境なので後ほど検証させて頂きます。)
./google-cloud-sdk/bin/gcloud version
次にコマンドラインツールのアップデートについても試しておきます。
./google-cloud-sdk/bin/gcloud components update
これでGoogle Cloud SDKのインストールは完了です。
PHPファイルを作って動かしてみる!
PHPファイルを動かすには、ローカル(PC側)で作業フォルダを作って行うようです。(なるほどそういう感じかー)
作業フォルダを作って、下記のファイルを格納しました。
app.yaml ・・・ 設定ファイルのようです。
runtime: php55
api_version: 1
handlers:
- url: /
script: index.php
- url: /(.*).php
script: \1.php
automatic_scaling:
min_idle_instances: 1
max_idle_instances: 1
max_pending_latency: 2000ms
php.ini ・・・ 無くても動きそうですがphpの設定ファイル
google_app_engine.enable_functions = "phpversion, phpinfo"
info.php
<?php
phpinfo();
?>
ただ単にPHP情報が見えるだけのコード。サンプルとして。
PHPをGoogle App Engineで動かす!
ついに来ました。期待に胸を膨らませて・・・
コマンドプロンプトやターミナルで、PHPのファイルを作ったフォルダに移動します。そこで、以下のコマンドを実行。
gcloud app deploy
現在のフォルダの内容をベースに、PHPをAppEngineにアップするコマンドのようです。ただ、結論から言うと動きませんでした。
ERROR: (gcloud.app.deploy) Error Response: [7] Access Not Configured. Cloud Build has not been used・・・
理由は、請求先の情報がリンクされていないぞ!という事のようです。それが出来ないとこれ以上進めません。ちなみに、私はGoogle Cloud Platformの標準での支払い先のリンクが5プロジェクトまでらしくGoogle Mapでその上限になっていたので、使っていないアカウントを調査して無効にしてから、もう一度有効にするという面倒な手順を踏むことになりました。※最初にこのテスト用にアカウント自体作成したら良かったですね。次はそうします。
再チャレンジ!!・・・どうだ・・・どうかな・・・・・
・・・・動きそう
動かなかった・・・なんでだろうと思っていると、表示されたURLにアクセスしているけど、index.phpじゃなくてinfo.phpしか配置していないから、URLにinfo.phpを追加しないと404エラーで落ちるという事に気づいた。めちゃくちゃ初歩的なミスでした。
せっかくなのでindex.phpも作って再度デプロイしてみました・・・
動いた!!無事phpinfo()の関数が動作していました。
面白い仕組みですねー。
https://majirushi-phptest.uc.r.appspot.com/
次回はMySQLライクなDBが使えるということで、データベースに挑戦します!
この記事が気に入ったらサポートをしてみませんか?