GCPでは無料のインスタンス(GCE)を1つ作成できますが、
無料枠ゆえに低スペックなので絶対にやったほうが良い設定が一つあります。
GCEの無料枠について
2023年10月現在、GCPでは条件に該当する e2-micro インスタンスを無料で利用することができます。
詳細は公式ドキュメントを確認してください。
https://cloud.google.com/free/docs/free-cloud-features?hl=ja#compute
米国リージョンや e2-micro などの制限はあるものの、条件さえクリアしていれば毎月無料というのは最高です。
AWSやAzureでもVMインスタンスの無料枠はありますが、完全無料になるのはGCPだけだったと思います。
無料枠GCEインスタンスで絶対に設定したほうが良いこと
結論から言うと SWAP です。まじめに考えれば他にもいくつか挙がると思いますが、個人的には SWAP が必須です。
そもそもSWAPとは、ですが、ざっくりいうとメモリが足りない時にハードディスクの一部をメモリのように使用するOSの機能です。
無料枠で建てられるVMインスタンスは e2-micro で、メモリ割り当ては 1GBになっています。無料だから贅沢は言えませんが貧弱なんです…
SWAPを設定しないと少し重たい処理を動かしたときなどに OOM-killer が動作してプロセスが強制終了されてしまいます。
すなわち、少しでも重たい処理が全くできないのです。
そんな処理を無料の低スぺVMにさせるなよ!と思いますが、自分の場合 yum のパッケージインストールもできませんでした…
[test@test ~]$ sudo yum install mlocate
強制終了
[test@test ~]$
Apr 11 00:25:52 XXXX kernel: Out of memory: Killed process 19912 (yum) total-vm:763164kB, anon-rss:401104kB, file-rss:0kB, shmem-rss:0kB, UID:0 pgtables:1456kB oom_score_adj:0
設定方法
SWAPの設定方法についても紹介しますが、通常のLinuxなので特別なことはありません。
まずSWAP用の領域を作成してから、その領域を有効化します。今回は 1GB追加。
[root@XXXXX ~]# dd if=/dev/zero of=/swap bs=1M count=1024
1024+0 レコード入力
1024+0 レコード出力
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 9.69923 s, 111 MB/s
[root@XXXXX ~]#
[root@XXXXX ~]# mkswap /swap
スワップ空間バージョン 1 を設定します。サイズ = 1024 MiB (1073737728 バイト)
ラベルはありません, UUID=a692150d-4e12-4a3c-9b64-6ca23365b634
[root@XXXXX ~]#
[root@XXXXX ~]# swapon /swap
[root@XXXXX ~]#
問題なく作成できていればOKです。
[root@XXXXX ~]# ls -l /swap
-rw------- 1 root root 1073741824 4月 11 00:32 /swap
[root@XXXXX ~]#
[root@XXXXX ~]# swapon -s
ファイル名 タイプ サイズ 使用済み 優先順位
/swap file 1048572 1548 -2
[root@XXXXX ~]#
[root@XXXXX ~]# free -m
total used free shared buff/cache available
Mem: 801 332 60 20 408 334
Swap: 1023 1 1022
[root@XXXXX ~]#
再起動後も設定が有効となるように、/etc/fstab に /swap none swap sw 0 0 を追記します。
[root@XXXXX ~]# vi /etc/fstab
[root@XXXXX ~]#
[root@XXXXX ~]# diff -U0 /etc/fstab.org /etc/fstab
--- /etc/fstab.org 2023-03-07 03:23:44.544911300 +0900
+++ /etc/fstab 2023-04-11 00:34:28.009616616 +0900
@@ -13,0 +14 @@
+/swap none swap sw 0 0
[root@XXXXX ~]#
参考
https://qiita.com/azusanakano/items/96e7c490c285d9ec1b1a
無料枠のVMを立てたもののコマンドが強制終了してしまう、OOM-killerが動いてしまうという方はSWAPの設定を確認してみてください。
気に入ったらぜひ共有してください。