GCP 入門 (13) - App Engine
「GCP」(Google Cloud Platform)の「App Engine」の使い方をまとめました。
・macOS 10.15.7
前回
1. App Engine
「App Engine」は、1インスタンス1アプリケーションなサーバレスサービスです。
料金は、次のとおりです。
2. スタンダード環境とフレキシブル環境
「App Engine」は「スタンダート環境」と「フレシキブル環境」を提供します。
◎ スタンダード環境
「スタンダード環境」は、指定した言語のアプリケーションをGAEが用意するサンドボックス内で実行する環境です。トラフィックがない場合はインスタンスを0(無料)にすることも可能です。即時のスケーリングを必要とする、トラフィックの突然かつ急激な増加がある場合に有効です。
◎ フレキシブル環境
「フレキシブル環境」は、「Google Compute Engine」(GCE)上の仮想マシンでDockerコンテナを実行する環境です。GAEでデプロイ可能なため、実質、管理が容易な「GCE」です。
3. サンプルアプリをApp Engineにデプロイ
サンプルアプリをApp Engineにデプロイする手順は、次のとおりです。
3-1. プロジェクトの作成
(1) Cloud SDKのアップデート。
$ gcloud components update
(2) 新規プロジェクトの作成
$ gcloud projects create [YOUR_PROJECT_ID] --set-as-default
(3) プロジェクトが作成されたことを確認。
$ gcloud projects describe [YOUR_PROJECT_ID]
(4) プロジェクトでApp Engineのアプリケーションを初期化し、リージョンを選択。
$ gcloud app create --project=[YOUR_PROJECT_ID]
3-2. サンプルアプリをローカルマシンに準備
(1) サンプルアプリのリポジトリのクローン。
$ git clone https://github.com/GoogleCloudPlatform/python-docs-samples
(2) プロジェクトの親フォルダで、Pythonの仮想環境を作成して有効化。
$ cd python-docs-samples/appengine/standard_python3
$ python -m venv env
$ source env/bin/activate
(3) プロジェクトフォルダに移動して、依存関係をインストールして、「main.py」を実行。
$ cd hello_world
$ pip install -r requirements.txt
$ python main.py
(4) ブラウザで「http://localhost:8080」にアクセス。
◎ main.py
「main.py」の中身は、次のとおりです。
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello World!'
if __name__ == '__main__':
app.run(host='127.0.0.1', port=8080, debug=True)
3-3. サンプルアプリをApp Engineにデプロイ
(1) サンプルアプリをApp Engineにデプロイ。
$ gcloud app deploy
3-4. 動作確認
(1) ブラウザを起動し、「https://PROJECT_ID.REGION_ID.r.appspot.com」にアクセスしてアプリを表示。
【注意】 課金防止のためプロジェクトを削除したい場合は、「Cloud Console」のメニュー「IAMと管理 → リソースの管理」で行います。
4. 参考
次回
この記事が気に入ったらサポートをしてみませんか?