Contents
Google App Engine (GAE) について
Google App Engine はインフラストラクチャーはお任せとなりGoogle のインフラストラクチャ上で動作します。
インフラやCIは任せて、コードの記述に専念したい人向けのサービスです。
環境は2つ存在
GAEの環境は2つあります。
- 標準環境
- フレキシブル環境
標準環境とは
制約がある環境
- 制約されるがアプリケーションのスケールアップ時間が短縮される
- アプリケーションインスタンスはランタイム環境を使用して サンドボックス内で実行される
フレキシブル環境とは
比較的自由度の高いGAE環境
- アプリケーションインスタンスが Google Compute Engine の Docker コンテナ内で実行される
- VM インスタンスは毎週再起動される
- 再起動中 Google の管理サービスは必要な OS とセキュリティアップデートを適用する
- VM インスタンスへの SSH は無効になっている
- VM インスタンスへのルートアクセスを有効にすることはできる
App Engine 導入
左のメニューから App Engine へ移動
最初に「言語」を選定して「ロケーション」を決定するとインフラ周りを自動で構築してくれます。
1分ほどで完了しますので、そうすると「 Google Cloud Shell 」が使用可能となります。
チュートリアルで Github からサンプル用 PHP プラグラムのリポジトリを clone したり、デプロイ方法をapp.yaml で設定する方法などを教えてくれます。
プレビューからデプロイまで
「 Google Cloud Shell 」はWeb上でコマンドラインが入力できるようになります。
「 Cloud Shell 」でデプロイする前にプレビューインスタンスを立ち上げてプレビューもできます。
プレビュー
app.yaml があるディレクトリに移動して dev_appserver.py を実行
1 |
dev_appserver.py --php_executable_path=/usr/bin/php-cgi $PWD |
中断
プレビューを終了し、「 Cloud Shell 」でデプロイします。
1 |
Ctrl+C |
デプロイ
デプロイ後、初期割当のURLが表示されますので、そちらからサイトを確認できます。
1 |
gcloud app deploy app.yaml --project project-id |
まとめ
GAE は DevOps 回りなどすぐに環境ができて素晴らしいでのですが、どこまで出来る必要があるか、また開発フローも考慮して、管理範囲から選定していく必要あります。
参考
公式:App Engine - 任意の言語でスケーラブルなウェブ バックエンドやモバイル バックエンドを構築 | Google Cloud Platform
App Engine 環境について :
https://cloud.google.com/appengine/docs/the-appengine-environments