GCP App Engine使ってみた

GCP

なんで使ってみたの?
資格取得の勉強にあたって、内容を理解したかったので。

App Engineとは
プログラムの実行環境を準備してくれるサービス。
プログラムを書いてデプロイするだけで動く。

プログラムの準備
とりあえずはチュートリアルに従い、準備する。
main.pyの中身はflaskで記述したHello Worldを表示するウェブページを出力するもの(と思う)

### Gitからクローン
$ git clone https://github.com/GoogleCloudPlatform/python-docs-samples

### 内容物確認
$ cd python-docs-samples/appengine/standard_python3/hello_world
$ ls -l
total 20
-rw-r--r-- 1 iwasaki_yutaro iwasaki_yutaro   18 Jan 20 06:06 app.yaml
-rw-r--r-- 1 iwasaki_yutaro iwasaki_yutaro 1228 Jan 20 06:06 main.py
-rw-r--r-- 1 iwasaki_yutaro iwasaki_yutaro  801 Jan 20 06:06 main_test.py
-rw-r--r-- 1 iwasaki_yutaro iwasaki_yutaro   14 Jan 20 06:06 requirements-test.txt
-rw-r--r-- 1 iwasaki_yutaro iwasaki_yutaro   13 Jan 20 06:06 requirements.txt

アプリケーションの作成
下のコマンドを叩くとプロジェクトに対してリージョン内でアプリケーションを作成する。

$ gcloud app create

アプリケーションのデプロイ
下のコマンドを叩くとアプリケーションがデプロイされる。

gcloud app deploy app.yaml --project プロジェクトID

Environmentについて
Environmentには標準とフレキシブルがある。
標準だと環境構成はGoogleにおまかせ。
フレキシブルだとGCEが立ち上がって、その上のDocker上で自分専用の環境が立ち上がる。
そのため、Dockerfileでのランタイムの構成変更や、SSHでのデバッグができる。
ただし、フレキシブル特有の制限事項もあり、値段も高かったりする。

参考URL
https://cloud.google.com/appengine/docs/standard?hl=ja
https://cloud.google.com/appengine/docs/flexible?hl=ja
https://cloud.google.com/appengine/docs/the-appengine-environments?hl=ja

コメント

タイトルとURLをコピーしました