見出し画像

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」にアクセス。

画像1

◎ 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」にアクセスしてアプリを表示。

画像1

【注意】 課金防止のためプロジェクトを削除したい場合は、「Cloud Console」のメニュー「IAMと管理 → リソースの管理」で行います。

4. 参考

次回


この記事が気に入ったらサポートをしてみませんか?