1
4

More than 3 years have passed since last update.

GCPのComputeEngine上にPython3系+flask環境を構築する

Last updated at Posted at 2019-12-24
1 / 13

はじめに

GCPのロードバランサーの動作を確認したく、ComputeEngineでウェブアプリを立てることにしました。
もともとはロードバランサーの検証作業が目的だったのですが、その過程の作業もちゃんと記録しておいた方がいいなと思い、今回これを記事にすることにしました。


内容としてはタイトルの通りで「ComputeEngineを使ってPython3系+flask環境でウェブアプリを構築する」というものです。
GCP初心者の方は参考になるかと思いますので、よかったら読ん進めてみてください:thumbsup:


ComputeEngine構築

ComputeEngineの環境構築は簡単ですね。
ボタンをポチポチすれば簡単にLinuxサーバが立っちゃいます。

1. VMインスタンス作成

GCPコンソールのここからComputeEngineのVMマシンを作ります。
Shot 2.png


こちら↓はインスタンス設定の参考例です。
Shot.png

ポイントは『HTTPトラフィックを許可する』にチェックをいれることですね。
Webサーバ(flask)を立てるので、これをチェックしないと外からの動作確認ができません。
Shot 1.png

後は『作成』ボタンを押して数分待てばVMが起動します。


2. 動作確認(VMインスタンス起動)

ちゃんと起動したかどうかSSHしてみましょう。
Shot 3.png

はい、無事に起動しました:smile:
Shot 4.png


Python3系の準備

VMが無事立ち上がったので、次はPython環境を整えていきます。

1. aptアップデート

まずはaptのアップデートを。

sudo apt update

Shot 6.png


2. Pythonのバージョン確認

立てたVMはデフォルトでPython2系がインストールされています。
Shot 5.png

今回のDebian9パッケージではPython3系もインストールされています。
Shot 7.png

ただpip3はインストールされていないので、こちらを準備する必要があります。


3. pip3のインストール

次のコマンドでpip3が使えるようにします。

sudo apt install python3-pip

Shot 8.png

これでpip3が使えるようになりました。
次はpip3でflaskをインストールしていきます。


flaskインストール

pip3 install flask

pip3を使ったflaskをインストールします。簡単です。
Shot 9.png

これでflaskが使えるようになりました。
動作確認してみましょう。


動作確認

動作確認のためのflaskを使ったPythonスクリプトを用意しましょう。

1. Pythonスクリプト作成

まず、下記のコマンドからnano(テキストエディタ)でファイルを作成します。

nano main.py

エディタが開いたら、下記のスクリプトをコピペします。

main.py
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, Flask World!!'

if __name__ == '__main__':
    app.run(debug=False, host='127.0.0.1', port=5000)

こんな感じです↓
Shot 11.png

コピペできたら、

  • Control+O
  • Enter
  • Control+X

の順に入力してnanoエディタを終了します。


2. flask動作確認

下記のコマンドで作成したスクリプトを起動します。

python3 main.py

下記のような画面になっていればOKです。
flaskが動作しています。

Shot 12.png

ここまでで一応動作確認はできていますが、念の為curlコマンドでウェブアプリの応答を確認してみましょう。
もう一つ別のSSH接続をして、下記のコマンドを入力して応答を確認します。

curl 127.0.0.1:5000

ポート番号は5000で作っていますので、上記のコマンドでcurlを打ちます。

Shot 13.png

ちゃんと「Hello world」と言う文字列が応答されましたので、ウェブアプリが動作していることが確認できます。


おわりに

いかがでしたでしょうか?
いずれの作業もさほど難しくありませんので、慣れてしまえばComputeEngineの立ち上げからflaskウェブアプリケーションの起動まで、数分でできちゃいます!
よかったら挑戦してみてください:relaxed:

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4