vagrant-digitalocean provider の簡単な使い方

次のような Vagrantfile を用意します。

# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure('2') do |config|
config.vm.provider :digital_ocean do |provider, override|
override.ssh.private_key_path = '~/.ssh/digitalocean-vagrant'
override.vm.box = 'digital_ocean'
override.vm.box_url = "https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box"
provider.token = ''
provider.image = 'CentOS 6.5 x64'
# San Francisco 1
provider.region = 'sfo1'
provider.size = '512mb'
end
end

前提条件としては

  • Apps & API メニューで Personal Access Tokens を生成すること。Read, Write アクセス付与。
  • Vagrant という名前の秘密鍵が登録されていること。
  • ~/.ssh/digitalocean-vagrant と対になる公開鍵 ~/.ssh/digitalocean-vagrant.pub が存在すること。
  • 選択されているリージョンは San Francisco 1 (slug名になっている)。

ちなみに現在のリージョンとslug名の対応は以下のようになっている。

slug Region Name
nyc1 New York 1
ams1 Amsterdam 1
sfo1 San Francisco 1
nyc2 New York 2
ams2 Amsterdam 2
sgp1 Singapore 1
lon1 London 1
nyc3 New York 3

調べ方はさっきのパーソナルトークンを指定して以下の様な curl コマンドを発行すればいいです。
jq でフィルタリングしてます。

curl -X GET "https://api.digitalocean.com/v2/regions" \
-H "Authorization: Bearer $DIGITAL_OCEAN_TOKEN" \
2>/dev/null | jq '.regions [] | .slug,.name'

EC2 と違って Droplet が存在しているだけで課金対象になるので用が済んだらすぐに

vagrant destroy -f

References

  1. VagrantとSSDなVPS(Digital Ocean)で1時間1円の使い捨て高速サーバ環境を構築する – Glide Note – グライドノート
  2. jq コマンドが強力すぎてヤバい件 | CUBE SUGAR STORAGE
  3. DigitalOcean API

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です