!slug 1284

!date 2014/01/13

!draft false

!tags AWS,CentOS,Destroy,DigitalOcean,Disposable Infrastructure,Docker,EC2,rsync,SSH,vagrant

!! DigitalOceanはAWSのEC2みたいなサービスで仮想インスタンスを上げ下げできて従量課金。普通はVPSより高くつくのにDigitalOceanは1ヶ月立ち上げっぱなしでも月…

DigitalOceanはAWSのEC2みたいなサービスで仮想インスタンスを上げ下げできて従量課金。普通はVPSより高くつくのにDigitalOceanは1ヶ月立ち上げっぱなしでも月額1,000円以下(メモリ512MBのVMの場合)という個人にうれしいサービスです。

※注意:インスタンスは停止可能ですがDigitalOceanは停止中でも課金されるようです。だからこそDockerを活用して必要な時だけ立ち上げて動かし、必要なくなったら気軽にDestroyを繰り返します。

もちろん、スケールアウトはAWSより難しいと思いますが、スケールアウトが必要になるまでの小さいサービスや、私はどちらかというとサービスの補助機能をぶん回すサーバとして良いかな〜と思ってます。

いずれにしてもVagrantやDockerといったDisposable Infrastructure的な運用をユーザ側がやることで価値が増すサービスだと思いますし、今のところDigitalOcean側も期待通りの動きかと思います。

DigitalOceanはVagrantを使って仮想マシンを立ち上げられるので、今回はローカルからコマンド1発で今流行のDocker環境を構築します。…てか、詳しくはMacからVagrantコマンド一発でSSDなVPS(DigitalOcean)上にCentOS6.5+Docker環境を構築するに全部書いてますw

ただ、私の環境ではローカルとリモートのディレクトリ同期する際に「rsync error: remote command not found」とリモートにrsyncが入っていないというエラーになりました。調べたらホントにrsyncが入ってないようです。

ssh接続までは完了しているようですので入ってrsyncをインストールしてvagrant provisionで再開することで対応します(rsyncを入れた状態をbox化しておくことで次から回避できるようになります)


$ vagrant ssh
[root@joeartsea-docker-test ~]# yum install -y rsync
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: ftp.osuosl.org
 * extras: ftp.osuosl.org
 * updates: ftp.osuosl.org
base                                                                 | 3.7 kB     00:00     
extras                                                               | 3.4 kB     00:00     
extras/primary_db                                                    |  19 kB     00:00     
updates                                                              | 3.4 kB     00:00     
updates/primary_db                                                   | 1.3 MB     00:01
...
[root@joeartsea-docker-test ~]# rsync
rsync  version 3.0.6  protocol version 30
Copyright (C) 1996-2009 by Andrew Tridgell, Wayne Davison, and others.
Web site: <http://rsync.samba.org/>
Capabilities:
    64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
    socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
    append, ACLs, xattrs, iconv, symtimes
...
[root@joeartsea-docker-test ~]# exit
logout
Connection to 162.243.146.40 closed.
$ vagrant provision
[default] Rsyncing folder: /Users/ufuru/Documents/workspace/vagrant-docker-digitalocean/ => /vagrant...
[default] Running provisioner: shell...
[default] Running: inline script
...

これでDockerのインストールから再開されます。