Google App EngineでWebアプリのお試し
AppEngineの勉強中
要望は…
- Cloud SQL、BigQueryとAppをつなぎたい
- とはいえ、AppEngineのデプロイは??
- 文献を参考にtry
- 結果、最小限の動きとして、cloud shellのみでもいろいろできそう。
試してみます。
【参考文献】
GAE: second generation runtime の機能を有効活用しつつ、Python 3.7 の Web アプリを動かす - Qiita
Google App Engine (GAE)とは
Googleが提供しているPaaSです。
Paas : Platform as a Service : サービスとしてのプラットフォーム 引用:Google App Engine とは? | App Engine | Google Cloud
魅力は、
Google の強固で安定したインフラ上でアプリケーションを運用でき、
勝手にスケールするため爆発的なアクセスにも悩まされることがない 引用:【GCP入門編・第5回】 Google App Engine の魅力とは? Google App Engine (GAE) でのアプリケーション起動方法! | 株式会社トップゲート
他にも、良いところは、
・瞬間スケールアウト
・バージョン = 「Blue-Green」デプロイメント
(app.yamlにversion項を設定するだけで、別にversionもデプロイ可)
・権限管理はGoogle アカウントにお任せ
など 引用:個人的に最強のPaaSプラットフォームGoogle App Engineの良い所を挙げてみる - Qiita
つまり、
- 小さいアプリをパッと作れるだけでなく、
- スケーラビリティも同時に確保でき、
- バージョン管理が容易で、
- Cloudのみで完結できる。
なんと都合の良い・・・
ということで、try。
試しにGAEのWebアプリをデプロイしてみる
(少なくとも、Google Cloud Platform (GCP) のアカウントが必要です)
【参考】GCPの始めるには…
- Google Cloud Platform
- GCPが注目を集める背景と、ITエンジニアがGCPをいま学ぶべき理由とは (1/3):CodeZine(コードジン)
- AWSとGCPの一生無料枠を活用する - Qiita
まずは、Google Cloud Shellを立ち上げる。
こちらの文献を参考に、
# ソースの取得 $ git clone https://github.com/ao-log/gae-second-generation-python-demo $ cd gae-second-generation-python-demo # デプロイ $ gcloud app deploy .
出たエラー
descriptor: [/home/hoge/gae-second-generation-python-demo/app.yaml] source: [/home/hoge/gae-second-generation-python-demo] target project: [hogehoge] target service: [default] target version: [20190xxxtxxxxxx] target url: [https://hogehoge.appspot.com] Do you want to continue (Y/n)? Y Beginning deployment of service [default]... Created .gcloudignore file. See `gcloud topic gcloudignore` for details. ╔════════════════════════════════════════════════════════════╗ ╠═ Uploading 9 files to Google Cloud Storage ═╣ ╚════════════════════════════════════════════════════════════╝ File upload done. Updating service [default]...failed. ERROR: (gcloud.app.deploy) Error Response: [9] Cloud build ~~~ status: FAILURE. Build error details: Access to bucket staging.polar-reef-156008.appspot.com denied. You must grant Storage Object Viewer permission to ~~~@cloudbuild.gserviceaccount.com. . Check the build log for errors: https://console.cloud.google.com/gcr/builds/~~~?project=~~~
権限か・・・
IAMで権限を付与しないとだめらしい
Cloud IAM 権限の使用 | Cloud Storage | Google Cloud
Google Cloud PlatformのCloud Storageを覗いてみると
「hogehoge.appspot.com Multi-Regional」
というバケットができているので、
ブラウザの右端にある「︙」を右クリック
「バケットの権限を編集」
「メンバーを追加」
「~~~@cloudbuild.gserviceaccount.com」(エラーで指定されたアドレスで)
役割は「Cloud Build サービスアカウント」
「保存」
やり直し。
Beginning deployment of service [default]... ╔════════════════════════════════════════════════════════════╗ ╠═ Uploading 0 files to Google Cloud Storage ═╣ ╚════════════════════════════════════════════════════════════╝ File upload done. Updating service [default]...done. Setting traffic split for service [default]...done. Deployed service [default] to [https://hogehoge.appspot.com] You can stream logs from the command line by running: $ gcloud app logs tail -s default To view your application in the web browser run: $ gcloud app browse To take a quick anonymous survey, run: $ gcloud alpha survey
今度はビルドが通った。
サイトを眺めてみる
https://hogehoge.appspot.com にアクセスしてみる(hogehoge
はご自身のプロジェクト名で)
動いた!!
さほど人気はないようですが、使い方次第な気がします。
しかも、お手軽なのが良い。
皆様もお試しあれ。