GCPにシンプル Web-Server 構築

GCP

ブログとは別に専用VMインスタンス作成

ブログ環境は可能な限りいじりたくないので、Python-Flaskなどが遊べる専用環境を作る。将来はAppe Engineなどと使い勝手を比べてみたい。

まずはブログと同じGCPプロジェクトでいいかな。
新しいVMインスタンスを作る。

GCPの左上のメニュー「≡」から「Compute Engine」→「VMインスタンス」。
「インスタンスを作成」ボタンを押す。
インスタンス名は xxxx-app など適当に。
Zoneはブログと同じus-west1-cにしておく。
あとは無料範囲内で下記:
Zone: us-west1-c
Machine type: f1-micro (シリーズN1)
Boot disk:
Ubuntu 20.04 LTS (とりあえずブログと合わせておく)
standard persistent disk, 30GB

ファイアフォールで、下記2つをチェック。
HTTP トラフィックを許可する
HTTPS トラフィックを許可する

「作成」を押す。
作成と同時にVMが起動する。次にIPアドレスを静的に変更。VM起動しながら設定変更可能。
左上のメニュー「≡」からVPC ネットワークの「外部 IP アドレス」を選択
xx該当VMを を「エフェメラル」から「静的」に変更し、xxxx-appなど管理しやすい静的IPアドレス名を設定。外部アドレスはメモしておく。

環境構築

GCPの左上のメニュー「≡」から「Compute Engine」→「VMインスタンス」から
該当VM(xxxx-app)の「SSH」を押してターミナル起動。

まず
$ sudo apt update
$ sudo apt upgrade

タイムゾーンをJSTに。
$ sudo timedatectl set-timezone Asia/Tokyo

swap設定

swap領域の確保
GCPでほぼ無料でWordPress構築(後編)
「SSH」ログインして free -m で現在 swap なしを確認。
$ free -m
total used free shared buff/cache available
Mem: 576 326 47 27 202 119
Swap: 0 0 0

2GBくらいswapを作っておく。一般的に実メモリの2倍くらいが目安。
$ sudo fallocate -l 2G /swapfile
$ sudo chmod 600 /swapfile
$ sudo mkswap /swapfile
$ sudo swapon /swapfile

$ free -m
total used free shared buff/cache available
Mem: 576 328 41 27 206 117
Swap: 2047 0 2047
となればまずはOK。
再起動した後に、swap領域が自動で作られるように /etc/fstab を変更。
$ sudo vi /etc/fstab

/swapfile none swap sw 0 0
この一文を追加。

Apache2インストール

Ubuntu 20.04にApache Webサーバーをインストールする方法
このあたりを参考に。

$ sudo apt install apache2

★GCPにファイアウォール機能があるのでufw設定はいらないはず。(一応記述)

—–ここからufw設定で必要なし—–
ファイアウォールの調整
$ sudo ufw app list
将来も考えてポート80と443の両方を開いておく。
$ sudo ufw allow “Apache Full”

SSHのポート22を開けておく。
$ sudo ufw allow 22
ファイアウォール起動。
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
と聞かれるがY。
(停止するときはsudo ufw disable)
これで ufw status が見れる。
$ sudo ufw status

ufw設定はこのあたりを参考に。
ufwの最小限設定について
—–ここまでufw設定で必要なし—–

Webサーバーの起動

$ sudo systemctl status apache2

Webサーバーにアクセスして確認。
ローカルPCなどのブラウザから、先のGCP xxxx-app 静的IPアドレスにアクセス。
http://xx.xx.xx.xx/
「Apache2 Ubuntu Default Page」が表示されればOK。
これは /var/www/html/index.html にある Apache2 のデフォルト html が表示されているだけ。適宜、変更して使う。

再起動して確認
SSHターミナルをexitし、GCPの左上のメニュー「≡」から「Compute Engine」→「VMインスタンス」
該当VMのSSHの右にある「・・・(縦表示)」から「停止」を選択。
しばらくすると「停止した旨表示される」。

そして再度「・・・」から「開始」してVM起動。
SSHボタンからSSHターミナル起動。
Connection via Cloud Identity-Aware Proxy Failedが出たら、
「Identity-Aware Proxyを使わずに接続」を選択。

再度ローカルPCなどのブラウザから、先のGCP xxxx-app 静的IPアドレスにアクセス。
http://xx.xx.xx.xx/
「Apache2 Ubuntu Default Page」が表示されればOK。

一応、下記でstatus確認。
$ sudo systemctl status apache2

コメント

  1. […] GCPにシンプル Web-Server 構築のサーバーにPython(Anaconda)とFlaskをインストール。 […]

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