LoginSignup
1
0

More than 5 years have passed since last update.

IDCFクラウドでvagrant-cloudstack使ってみた話

Posted at

とても便利でした。

あらまし

itamaeとserverspecを使って環境構築スクリプトを書いていて、砂場がほしくなったのでローカルマシンにVMを立てたかったのですが、職場のルール上ダメとのこと。

ローカルがダメならクラウド上に立てればいいじゃない!
ということでIDCFクラウドで仮想マシンを1つ作ることに。

Vagrantfile

基本的にこちらの記事通りに進めていったのですが、何やらエラーが出てしまいました。
networkが判別できずに落ちているようだったので、network_idnetwork_nameを設定しなければならないようです。

あとはそのままだとマシン名が人に優しくない名前になってしまうので設定しておきます。
管理コンソール上の表示名と合わせておくと、管理コンソールから作成したときと同じになるので分かりやすいです。

フォルダの同期設定もしておくと便利です。
vagrant upvagrant reloadを行うと設定したホストマシン上のフォルダとゲストマシン上のフォルダの同期を取ってくれます。
筆者はhomeディレクトリ直下にVagrantfileを置いてしまったため、初期設定でhomeディレクトリ以下全てを同期してくれようとしてひどい目にあい、同期先・元ともに変更しています。

OSはCentOSに変えています。
こちら、Vagrant向けのテンプレートを用意してくださっているので、それを利用しました。

上記の諸々を反映して以下のようになりました。

Vagrantfile
Vagrant.configure(2) do |config|
  config.vm.box = "bento/centos-6.8"

  config.vm.synced_folder ".", "/vagrant", disabled: true
  config.vm.synced_folder "./vagrant_data", "/home/vagrant/synced_data", type: "rsync"

  config.vm.provider :cloudstack do |cloudstack, override|
    # ダミーBox
    override.vm.box = "dummy"
    override.vm.box_url = "https://github.com/klarna/vagrant-cloudstack/raw/master/dummy.box"

    # CloudStackAPIを使用するためのエンドポイント・認証情報
    cloudstack.host = "compute.jp-east.idcfcloud.com"
    cloudstack.path = "/client/api"
    cloudstack.port = "443"
    cloudstack.scheme = "https"
    cloudstack.api_key = "API Keyをここに記入"
    cloudstack.secret_key = "Secret Keyをここに記入"

    # 仮想マシン作成のパラメータ
    override.vm.hostname = "マシン名を記入"
    cloudstack.display_name = "管理コンソール上の表示名を記入"
    cloudstack.template_name = "CentOS 6.8 64-bit for Vagrant" # <= Vagrant向けテンプレート
    cloudstack.zone_name = "joule"
    cloudstack.network_name = "joule-network1" # <= 必須!
    cloudstack.service_offering_name = "light.S1"

    # 仮想マシンへの接続に必要なネットワークの設定
    cloudstack.pf_ip_address_id = "IPアドレスのIDを記入"
    cloudstack.pf_public_port = "22"
    cloudstack.pf_private_port = "22"
    cloudstack.keypair = "SSH鍵の名前を記入"
    override.ssh.private_key_path = "SSHの秘密鍵のパスを記入"
    override.ssh.username = "vagrant" # <= Vagrant向けテンプレート使用に伴いユーザーを設定
  end
end

使ってみて

作成・削除ともにすぐに終わりますし、砂場用途にはかなりもってこいだと感じました。
管理コンソールからやると何かと面倒ですが、コマンド1つで出来るようになると使い勝手が格段に良くなりますね。

何かの機会があれば個人でも使ってみたいです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0