背景
AWSで利用していた無料利用枠の期限が来てしまったので、GCPの無料枠に移行してみました。その時ハマってしまったことを備忘録として残しておきます。
動作環境
- dynabook B351/13D PB35113DSTW
- OS:Windows 10 Home Ver.1809
Windows 10 から Tera Term で GCP の VMインスタンスに接続して設定しています。
GCP の無料枠に登録
- [これから始めるGCP(GCE) 安全に無料枠を使い倒せ][1]
[1]:https://qiita.com/Brutus/items/22dfd31a681b67837a74
↑こちらを参考にさせて頂きました。「プロジェクトの作成」までは、手順通りです。
仮想マシンインスタンスの作成
ここもほぼ一緒ですが、イメージは使い慣れている Ubuntu で軽い方がよいと判断したため「Ubuntu 18.04 LTS Minimal」を選択しました。
この後気付かされますが、「Minimal」だと vim が入っていないなど不便な点もありました。
SSH接続
SSH のプルダウンから「gcloud コマンドを表示」を選ぶと、Cloud Shell でインスタンスに接続できるのですが、正直言ってどこに繋いで何をしているのかよくわかっていません。取り敢えず、ブラウザウィンドで接続します。
SSH 認証鍵の作成
「PuTTY key generator」で public(公開鍵)/private(秘密鍵)の key pair を作成します。
SSH 公開鍵の登録
作成した公開鍵をメタデータ>SSH認証鍵にコピぺして保存。
メモ帳からコピペするとき改行が入っているので、一行に修正してペーストする。
Tera Term で接続
ユーザ名は Google アカウントになります。パスフレーズは、key pair 作成時のもの。
秘密鍵は、公開鍵とペアのモノを選択して「OK」押下します。
sshd.conf の設定変更
- 以下のコマンドを実行して、設定ファイルをバックアップ
$ sudo cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.org
- 以下のコマンドを実行して、ポート番号を変更
$ sudo sed -i -e "s/#Port 22/Port 変更したいポート番号/g" /etc/ssh/sshd_config
ファイアーウォール ルールの設定
プロトコルとポートの22を、上記で変更した番号に変えて保存。
インスタンスを再起動しておく。
Tera Term でインスタンスに入れることを再確認
ポート番号を変更して接続できることを確認します。
再起動するとサイトの外部IPが変わっている場合があるので、注意して接続する。
時刻設定を日本時間にする
インスタンスの時刻設定はUTCになっているため、タイムゾーンをアジア(東京)に設定する。
- 以下のコマンドを実行
$ sudo apt-get install tzdata
地域とタイムゾーンを以下のとおり選択する。
Geographic area: 6
Time zone: 79
date コマンドで時刻を確認。
$ date Sat May 4 17:36:41 JST 2019
※tzdata がインストールされている場合は、次の通りに設定する。
$ sudo timedatectl set-timezone Asia/Tokyo #タイムゾーン設定
$ sudo timedatectl #設定確認
vim をインストールしておく
viが入っていないとなにかと不便なので、vim をインストールしておきます。
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install vim
スワップ領域の設定
- [【第5回】GCPの無料枠でdev.toなみの爆速WordPress環境を構築する(KUSANAGI Runs on Docker編)][2]
[2]:https://www.karelie.net/free-fast-wordpress-site-kusanagi-docker/
ここからは、↑ こちらを参考にさせて頂きました。
無料枠のメモリは 0.5GB と少ないので、スワップ領域を確保しておきます。
$ free -m
total used free shared buff/cache available
Mem: 581 422 77 16 81 64
Swap: 0 0 0
スワップが「0」と表示されているため、未設定。
Swapファイル領域を 2.0GB 確保してみた(処理に1ー2分かかる)。
$ sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
パーミッションの変更
$ sudo chmod 600 /swapfile
Swapの作成
$ sudo mkswap /swapfile
Swapを有効にする
$ sudo swapon /swapfile
Swapの確認
$ free -m
total used free shared buff/cache available
Mem: 581 355 46 20 180 114
Swap: 2047 286 1761
先ほど「0」になっていたのが「2047」となっている。
このままでは再起動した際にSwapファイルは無効になるので下記のコマンドで永続化する必要がある。
$ sudo sed -i '$ a /swapfile swap swap defaults 0 0' /etc/fstab
再起動
$ sudo reboot
再起動後、Swap の確認。
$ free -m
total used free shared buff/cache available
Mem: 581 355 46 20 180 114
Swap: 2047 286 1761
静的アドレスを予約する
インスタンスを停止して再起動するとIPアドレスが変わってしまうため、静的アドレスを予約してIPアドレスが変わらないようにします。
予約して未使用の場合は料金が発生するので、使わなくなったらすぐに解放しておきましょう。
まとめ
これで環境が整いました。次回はいよいよ Docker をインストールします。