GCEでFlaskを動かす!


はじめに

GCEでとりあえずFlaskを使ってWebページを公開する手順です。とりあえずなので、動けばいいといった感じです。

インスタンスの立ち上げ

とりあえず公開するので、最低スペックで行きます。下記の構成でインスタンスを作ります。

  • 名前
    • gce-flask
  • リージョン
    • asia-notheast1(東京)
  • ゾーン
    • asia-notheast1-b
  • マシン構成
    • N1, f1-micro
  • ブートディスク
    • 10GB, Ubuntu 18.07 LTS
  • ファイアウォール
    • HTTP トラフィックを許可する
    • HTTPS トラフィックを許可する

IPアドレスの固定

とりあえず動けばいいからIPアドレス固定しなくていいという方はスキップしても構いません。

静的アドレスの予約

VPCネットワーク→外部IPアドレス→静的アドレスを予約から静的アドレスを入手します。

  • 名前
    • gce-flask
  • 説明
    • FlaskでWebサーバー公開
  • リージョン
    • asia-notheast1(東京)
  • 接続先
    • gce-flask

作成したインスタンスに接続

共通の鍵ファイルor個別に設定した鍵ファイルを使って接続します。

ssh -i 鍵ファイル -l ユーザー名 固定IPアドレス

パッケージのアップデート

sudo apt-get update
sudo apt-get -y upgrade

Python3-pipのインストール

sudo apt-get -y install python3-pip

Flaskのインストール

pip3 install flask

Flaskファイルの作成

任意のディレクトリでFlaskでサーバーを公開するプログラムを作成します。

index.py
import flask

app = flask.Flask(__name__)

@app.route('/')
def index():
    return '''
        <!DOCTYPE html>
        <html lan="ja">
            <head>
                <title>Flask on GCE</title>
                <style>
                    h1 {
                        text-align: center;
                    }
                </style>
            </head>
            <body>
                <h1>GCEでFlaskを動かす!</h1>
            </body>
        </html>
    '''

if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=80)

実行

sudo python3 index.py

ブラウザで固定IPアドレスを入力し、GCEでFlaskを動かす!が表示されると成功です。