WebARENA Indigo VPSを使ってみた際の備忘録

WebARENA Indigo VPSを使ってみた際の備忘録です。

> [https://web.arena.ne.jp/indigo/](https://web.arena.ne.jp/indigo/)

## WebARENA Indigo VPSを使うに至った背景

`ubuntu20.04` `2vCPU` `1GB memory` `約20GB〜40GB Storage` `約3ヶ月使用を想定`の条件でVPSを使いたかった。
類似サービスを比較した場合、indigoが最も安そうに見えたので決定した。 
（課金が怖いのでプリペイド可能なconohaがよかったが、indigoの方が安く心が傾いた） 

| サービス | 月額料金 | URL | 備考 |
|:-----------:|:------------:|:------------:|:------------:|
| conoha       | 946円/月        | [URL](https://www.conoha.jp/vps/pricing/?btn_id=vps-top--vpsHeader_vps-pricing)         | プリペイド可能 |
| AWS EC2(東京リージョン) | 0.0108USD/h(約893円/月)        | [URL](https://aws.amazon.com/jp/ec2/pricing/on-demand/)         | - |
| sakura(東京) | 990円/月 | [URL](https://vps.sakura.ad.jp/specification/?a8=h3s4_3t.TzmvMAOvtoNUXs-uerr_jRqO7.1VesdVJaFmlAw.kANbdAwuNvJAOCshJ3YWTAwi4RLQxs00000001717002) | - |
| WebARENA Indigo | 約699円/月 | [URL](https://web.arena.ne.jp/indigo/price/) | `2GB memory` |

（これは私が調べた時点の情報であり必ず最新情報や動かしたいアプリ等の要求スペックを確認して下さい。）

## 契約〜実際にVPSサーバ利用開始するまでの設定

以下を参照した。
設定画面が非常にシンプルであり、特に迷わず10分くらいで利用できる状態になった。

> [NTT の格安VPS Indigo を使ってみた](https://tabikumo.com/vps-indigo/)

## indigo console login時に、`Password incorrect`と表示される

consoleからではなく、TeraTermなどのターミナルソフトを利用してログインが必要である様子

[NTT の格安VPS Indigo を使ってみた](https://tabikumo.com/vps-indigo/)
[キーペア作成(SSH鍵の作成)からインスタンスへのSSH接続までの手順を教えてください。（Indigo）](https://help.arena.ne.jp/hc/ja/articles/360042134374)
[インスタンスへのログイン方法（Linuxのみ）](https://web.arena.ne.jp/indigo/spec/login.html)

## macの場合に使うterminalソフト

付属のterminalでOK。ssh設定は`~/.ssh/config `に記載すればOK。

[Mac付属のターミナルソフト（Terminal.app）](https://guide.onamae-server.com/vpskvm/3_13_14_95/)

```
$ ssh -i ~/.ssh/(鍵ファイル) (User名)@(IPアドレス)
ex.) ssh -i ~/.ssh/xxx.pem ubuntu@xx.xx.xx.xx
```

```bash:~/.ssh/config 
Host             任意の名称を入力します。
　　HostName 　　　サーバーのIPアドレスを入力します。  
　　Port　　　　　　Portを入力します。
　　User　　　　　　User名を入力します。
　　IdentityFile  鍵ファイルを指定します。
```

その後以下を実行すると繋がる。

```
$ ssh ${Hostに入力した任意の名称}
```

繋がった後は自分のやりたいことをやる。
尚、以下は事前に忘れずに実行しておくとよい。

> [Mac付属のターミナルソフト（Terminal.app）](https://guide.onamae-server.com/vpskvm/3_13_14_95/)
> 事前にダウンロードしておいた、公開鍵ファイルのパーミッションを変更します。
> `$ sudo chmod 600 ${PRIVATE_KEY_FILE}`

## メモリが足りない気がする

`memory 2GB`でdocker使っているとたまに固まる。メモリ不足？と思いswap追加したら起こらなくなった。
以下を参考にswapを追加すればOK

> [NTTPCのVPS「Indigo」でスワップの設定](https://qiita.com/mmmmmmmmmmmmm/items/7e6648ecb6874441f995)
> 
```
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
```
> 
```
# vi /etc/fstab
LABEL=cloudimg-rootfs   /        ext4   defaults        0 0
LABEL=UEFI      /boot/efi       vfat    defaults        0 0
# add here
/swapfile       swap    swap    defaults        0 0
```
> 
```
swapon -a              # -aで/etc/fstabの内容にしたがってスワップを有効にします
free -m                # swapが有効になっていることを確認mする
```

システムに応じて推奨されるswapの値は要調整

> [第15章 SWAP 領域](https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/storage_administration_guide/ch-swapspace)
> システム内の RAM の容量	推奨されるスワップ領域	ハイバネートを許可する場合に推奨されるスワップ領域
⩽ 2 GB	RAM 容量の 2 倍	

## `1CPU`, `1GB memory`, `20GB storage`環境ではdocker利用は難しいのか？

そんな事はなく、用途によっては問題なく使えそうに思う。
スペックが要件を満たしているかの検証はどうやるのが正しいんだろう？

```
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G  7.7G   12G  41% /
```

```
$ free -h
              total        used        free      shared  buff/cache   available
Mem:          981Mi       320Mi        99Mi       3.0Mi       561Mi       506Mi
Swap:         2.0Gi       8.0Mi       2.0Gi
```

## X11 Forwardingしたい

`ssh -X`オプションをつけてリモートログインすればいい

```
ssh -X ${Hostに入力した任意の名称}
```

`xeyes`により画面に目玉が表示される事を確認する

```
$ sudo apt install -y x11-apps
$ xeyes
```

## pythonがない

正確には、`python3`があるにも関わらず`python`がない

```
$ python3 --version
Python 3.8.5
```

```
$ python --version

Command 'python' not found, did you mean:

  command 'python3' from deb python3
  command 'python' from deb python-is-python3
```

ログ記載の通り`python-is-python3`をインストールすればOK

```
sudo apt install -y python-is-python3
```

```
$ python --version
Python 3.8.5
```

(シンボリックリンクが作られているだけのように見えるが、特に問題というわけではない)

```
$ which python
/usr/bin/python
$ ls -l /usr/bin/python
lrwxrwxrwx 1 root root 7 Apr 15  2020 /usr/bin/python -> python3
```

## VPS（仮想専用サーバー）環境でXvfb (X virtual framebuffer)を使いたい

[VPS（仮想専用サーバー）環境でXvfb (X virtual framebuffer)を使いたい](https://qiita.com/seigot/items/255c8461d0efba570128)

## VPSサーバ(ubuntu20.04)上で、ログアウトしてもコマンドをバックグランドで動作し続けておきたい

[VPSサーバ(ubuntu20.04)上で、ログアウトしてもコマンドをバックグランドで動作し続けておきたい](https://qiita.com/seigot/items/735e321ecce1b1e42535)

## VPSサーバのcpu, memory, storage等を知る

```bash
$ grep cpu.cores /proc/cpuinfo | sort -u
cpu cores      : 2
$ free -h
              total        used        free      shared  buff/cache   available
Mem:          1.9Gi       363Mi       103Mi       3.0Mi       1.5Gi       1.4Gi
Swap:         4.0Gi        23Mi       4.0Gi
 df -h | grep /dev/vda1
/dev/vda1        39G   12G   27G  31% /
```

# 参考
[https://web.arena.ne.jp/indigo/](https://web.arena.ne.jp/indigo/)
[NTT の格安VPS Indigo を使ってみた](https://tabikumo.com/vps-indigo/)
[キーペア作成(SSH鍵の作成)からインスタンスへのSSH接続までの手順を教えてください。（Indigo）](https://help.arena.ne.jp/hc/ja/articles/360042134374)
[インスタンスへのログイン方法（Linuxのみ）](https://web.arena.ne.jp/indigo/spec/login.html)
[NTTのIndigo VPSにKUSANAGI RoD(Docker)をインストールして高速WordPress環境を激安で構築する方法](https://applingo.tokyo/article/6367)
[Xvfb を使って仮想ディスプレイを作る](https://blog.amedama.jp/entry/2016/01/03/115602)
[第15章 SWAP 領域](https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/storage_administration_guide/ch-swapspace)