経緯
今までGehirnを使っていたけど、Gehirnの料金体制の変更に伴い、VPSを変更することにしました。
自分の場合、個人用途なのでアクセスも主に自分くらいしかないようなサービスしか動かさないのでとにかく安いVPSを探して使っています。
旧Gehirnは300円(税抜) per monthという遠足のお菓子くらいの価格なので選択していましたが、料金体制が40円 per dayになるのでもっと安いのにしたいので乗り換えることにしました。
とりあえず、安いVPSを探すと
- Digital Ocean
- IDCFクラウド
が500円くらい。
DigitalOceanがあるが為替が安定しないので辞めて、IDCFクラウドにしました。
IDCFクラウドは、2015/7/31までに申し込めば使える3000円クーポンがあったのが決め手。
申し込み
IDCFクラウド -使いやすく、パワフル|IDCフロンティア
- 「無料で始める」からユーザーの登録をします
- 名前、ユーザー名、メールアドレス、パスワードを入力して、電話又はSNS認証をします
- メールが届くので承認して、登録完了です
管理コンソールに初めてアクセスすると、基本情報と支払情報の入力をしないといけないのでします。
初期費用もなくサーバもすぐに立ち上がります。すごい良さ。
管理画面もわかりやすくて、すごい良さです。
IDCFクラウド、良いです。
サーバを立てる
light.S1の追加ストレージなしをUbuntu14.04LTSで立てました。
このとき、あとでSSHするのでSSH keyも登録しておきます。
SSHの設定
サーバを立てましたが、プライベートネットワークで構成されているので、グローバルIPでサーバの必要なポートにアクセスできるように設定します。
こんな感じのイメージ(イメージなので正しくないかもしれません)なので、FirewallとPort forwardingの設定をします。
管理コンソールのIPアドレスにある、もらってるIPのところで設定ができます。
ポートフォワードでプレイベートポートにSSH(22番ポート)、パブリックポートに22ポートを指定します。
次にFirewallで、さきほどパブリックポートに指定したポートに対して、ソースCIDRにMy IP、タイプにCustom TCPを設定します。
(セキュリティ的に、ポートフォワードのパブリックのSSHのポートを変えたほうがいいですが、ここでは、FirewallのソースCIDRでIPを制限することにしています。)
コメントは両者ともSSHとしました。
SSHの公開鍵を登録したPCからSSHします。
$ ssh root@XXX.XXX.XXX.XXX
Ubuntuの場合、ログインできたら以下のようになりました。
swap領域の設定
デフォルトでswap領域は作られていないので作っておきます。(Docker使うのでswapを作っておいたほうが良さそうでした)
- How To Add Swap on Ubuntu 12.04 | DigitalOcean
- Linuxのswap領域を追加する方法:ぴろにっき:So-netブログ
- 推奨される Swap 領域の目安 - eTuts+ Server Tutorial
このあたりを参考にしました。
RAM1Gなので、上記の記事によると2Gのswapを確保することになるが、あんまり大きくてもディスクを圧迫しかねないので1Gにしておきます。
dd if=/dev/zero of=swap用ファイルのパス名 bs=単位 count=サイズ
1Gにするなら、bs=1024 count=1024kで1G、bs=1M count=1024で1G。
/.swapfileに作る。
$ sudo dd if=/dev/zero of=/.swapfile bs=1M count=1024
$ sudo mkswap /.swapfile
$ sudo swapon /.swapfile
$ sudo vi /etc/fstab
/.swapfile none swap sw 0 0
$ sudo chown root:root /.swapfile
$ sudo chmod 0600 /.swapfile
userの追加
rootユーザーしかいないので、セキュリティ的にrootでSSH出来ないようにして、root権限を持つユーザーで操作するように設定します。
$ adduser $USER
$ visudo
$USER ALL=(ALL:ALL) ALL
sshできるようにして、rootのssh接続をできないようにします。
$ su $USER
$ mkdir ~/.ssh
$ chmod 0700 ~/.ssh
$ vi ~/.ssh/authorized_keys
(接続するPCのSSHの公開鍵を記載)
$ chmod 0600 ~/.ssh/authorized_keys
$ sudo vi /etc/ssh/sshd_config
#PermitRootLogin without-password
PermitRootLogin no
sshd_configは以下の項目も確認。
PubkeyAuthentication yes
PasswordAuthentication no
Mackerelを使う
IDCFクラウドは、サーバの状態を見たりするUIがなさそうなので、Mackarelで監視してみました。
IDCFクラウドはMackerel対応していて、OAuthしてMackarel使えるみたいでしたが、同じメールアドレスでMackerelのユーザー持ってたので、もったいないですが既存のユーザーで行いました。
Ubuntuにしたので、debパッケージでのインストール方法を参考にインストール、追加でサービスの設定等はしていませんが、Mackerelでの監視はさくっとできました。
今後
Dokkuを動かしたいなぁという感じです。
Show comments