!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のインストールから再開されます。