vagrant-digitaloceanを使う
気になっていたSSD搭載VPS digitalocean
vagrant pluginがあったので試してみました。
- 起動設定
事前にdigitaloceanのコンパネでAPIキーの設定, SSH公開鍵のインポート, 決済設定を済ませておきます。
ギッハブを参考に書きます
Vagrant.configure('2') do |config| config.vm.provider :digital_ocean do |provider, override| override.ssh.private_key_path = '~/.ssh/id_rsa' override.vm.box = 'digital_ocean' override.vm.box_url = "https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box" provider.client_id = 'YOUR CLIENT ID' provider.api_key = 'YOUR API KEY' end end
失敗した・・・('A`)
orenomac$ vagrant up --provider=digital_ocean Bringing machine 'default' up with 'digital_ocean' provider... ==> default: Using existing SSH key: Vagrant The result collection for images: [{"id"=>1601, "name"=>"CentOS 5.8 x64", "slug"=>"centos-5-8-x64", "distribution"=>"CentOS", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>1602, "name"=>"CentOS 5.8 x32", "slug"=>"centos-5-8-x32", "distribution"=>"CentOS", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>12573, "name"=>"Debian 6.0 x64", "slug"=>"debian-6-0-x64", "distribution"=>"Debian", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>12575, "name"=>"Debian 6.0 x32", "slug"=>"debian-6-0-x32", "distribution"=>"Debian", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>14097, "name"=>"Ubuntu 10.04 x64", "slug"=>"ubuntu-10-04-x64", "distribution"=>"Ubuntu", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>14098, "name"=>"Ubuntu 10.04 x32", "slug"=>"ubuntu-10-04-x32", "distribution"=>"Ubuntu", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>350424, "name"=>"Arch Linux 2013.05 x64", "slug"=>"arch-linux-2013-05-x64", "distribution"=>"Arch Linux", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>361740, "name"=>"Arch Linux 2013.05 x32", "slug"=>"arch-linux-2013-05-x32", "distribution"=>"Arch Linux", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>376568, "name"=>"CentOS 6.4 x32", "slug"=>"centos-6-4-x32", "distribution"=>"CentOS", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>562354, "name"=>"CentOS 6.4 x64", "slug"=>"centos-6-4-x64", "distribution"=>"CentOS", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3100616, "name"=>"Ubuntu 12.04.4 x32", "slug"=>"ubuntu-12-04-x32", "distribution"=>"Ubuntu", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3101045, "name"=>"Ubuntu 12.04.4 x64", "slug"=>"ubuntu-12-04-x64", "distribution"=>"Ubuntu", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3101580, "name"=>"Ubuntu 13.10 x32", "slug"=>"ubuntu-13-10-x32", "distribution"=>"Ubuntu", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3101918, "name"=>"Ubuntu 13.10 x64", "slug"=>"ubuntu-13-10-x64", "distribution"=>"Ubuntu", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3102721, "name"=>"Fedora 19 x32", "slug"=>"fedora-19-x32", "distribution"=>"Fedora", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3102879, "name"=>"Fedora 19 x64", "slug"=>"fedora-19-x64", "distribution"=>"Fedora", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3104282, "name"=>"Ubuntu 12.10 x64 Desktop", "slug"=>"ubuntu-12-10-x64-desktop", "distribution"=>"Ubuntu", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3104894, "name"=>"Docker 0.10 on Ubuntu 13.10 x64", "slug"=>nil, "distribution"=>"Ubuntu", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3118235, "name"=>"MEAN on Ubuntu 12.04.4", "slug"=>"mean-ubuntu-12.04", "distribution"=>"Ubuntu", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3118238, "name"=>"GitLab 6.6.5 CE", "slug"=>"gitlab-ubuntu-13.10", "distribution"=>"Ubuntu", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3120115, "name"=>"LAMP on Ubuntu 12.04", "slug"=>"lamp-ubuntu-12.04", "distribution"=>"Ubuntu", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3121555, "name"=>"Ghost 0.4.2 on Ubuntu 12.04", "slug"=>"ghost-ubuntu-12.04", "distribution"=>"Ubuntu", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3135725, "name"=>"Wordpress on Ubuntu 13.10", "slug"=>"wordpress-ubuntu-13.10", "distribution"=>"Ubuntu", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3137635, "name"=>"Ruby on Rails on Ubuntu 12.10 (Nginx + Unicorn)", "slug"=>"rails-unicorn-nginx-ubuntu-12.10", "distribution"=>"Ubuntu", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3137903, "name"=>"Redmine on Ubuntu 12.04", "slug"=>"redmine-ubuntu-12.04", "distribution"=>"Ubuntu", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3240033, "name"=>"Ubuntu 14.04 x32", "slug"=>"ubuntu-14-04-x32", "distribution"=>"Ubuntu", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3240036, "name"=>"Ubuntu 14.04 x64", "slug"=>"ubuntu-14-04-x64", "distribution"=>"Ubuntu", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3243143, "name"=>"Fedora 20 x32", "slug"=>"fedora-20-x32", "distribution"=>"Fedora", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3243145, "name"=>"Fedora 20 x64", "slug"=>"fedora-20-x64", "distribution"=>"Fedora", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3288841, "name"=>"Dokku v0.2.3 on Ubuntu 14.04", "slug"=>"dokku-ubuntu-14.04", "distribution"=>"Ubuntu", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3445812, "name"=>"Debian 7.0 x64", "slug"=>"debian-7-0-x64", "distribution"=>"Debian", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3445920, "name"=>"Debian 7.0 x32", "slug"=>"debian-7-0-x32", "distribution"=>"Debian", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3447910, "name"=>"Ubuntu 12.10 x32", "slug"=>"ubuntu-12-10-x32", "distribution"=>"Ubuntu", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3447912, "name"=>"Ubuntu 12.10 x64", "slug"=>"ubuntu-12-10-x64", "distribution"=>"Ubuntu", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3448641, "name"=>"CentOS 6.5 x64", "slug"=>"centos-6-5-x64", "distribution"=>"CentOS", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}, {"id"=>3448674, "name"=>"CentOS 6.5 x32", "slug"=>"centos-6-5-x32", "distribution"=>"CentOS", "public"=>true, "regions"=>[1, 2, 3, 4, 5, 6], "region_slugs"=>["nyc1", "ams1", "sfo1", "nyc2", "ams2", "sgp1"]}] Contained no object with the value "Ubuntu 12.04.3 x64" for the the key "name". Please ensure that the configured value exists in the collection.
- 解決方法
Vagrantfileの記述内容が不足していたみたいです。
DigitalOcean使うときのVagrantfileが面倒なことについてを参考に修正します。
# -*- mode: ruby -*- # vi: set ft=ruby : # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! VAGRANTFILE_API_VERSION = "2" Vagrant.configure('2') do |config| config.vm.provider :digital_ocean do |provider, override| override.ssh.private_key_path = '<SSH_PRIVATE_KEY>' override.vm.box = 'digital_ocean' override.vm.box_url = 'https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box' provider.image = 'CentOS 6.5 x64' provider.region = 'New York 2' provider.size = '512MB' provider.client_id = '<Client_ID>' provider.api_key = '<API_KEY>' end end
- 起動リトライ
rsyncが無いため/vagrantディレクトリの同期ができないとエラーが出てますがひとまず無視
orenomac$ vagrant up --provider=digital_ocean Bringing machine 'default' up with 'digital_ocean' provider... ==> default: Using existing SSH key: Vagrant ==> default: Creating a new droplet... ==> default: Assigned IP address: 107.170.142.183 ==> default: Modifying sudoers file to remove tty requirement... ==> default: Rsyncing folder: /Users/ore/Documents/dev/oreoreocean/ => /vagrant... There was an error when attemping to rsync a share folder. Please inspect the error message below for more info. Host path: /Users/ore/Documents/dev/oreoreocean/ Guest path: /vagrant Error: Warning: Permanently added '107.170.142.183' (RSA) to the list of known hosts. bash: rsync: コマンドが見つかりません rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: remote command not found (code 127) at /SourceCache/rsync/rsync-42/rsync/io.c(452) [sender=2.6.9]
- 気をつけること
AWSはSGがあるから半裸全裸好きにできますが、VPSで全裸は大変危険です。
boot時に服を着せましょうね
[root@default ~]# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination