vagrantでaws ec2インスタンスを立ち上げる
Vagrant 1.1 で EC2 を vagrant up - naoyaのはてなダイアリー
こちらの記事を参考にvagrantでec2を立ち上げるのを試して見ました.
ですが色々引っかかったりして大変だったので,備忘録的に残します.
まずはVagrantのインストールですがこれは他のところでもいっぱいあるのでそちらに任せるとします.ぶっちゃけvirtualBoxとVagrant公式に行って最新版落としてくればいいんですけど.
Vagrantはgemでも入れようとすれば入りますが古い上にもう公式がgemはやめろって言ってるらしいので公式からパッケージを落としてくればいいと思います.
まず上記URLを参考にpluginをインストールし,awsのためのdummy boxを設定します.
$ vagrant plugin install vagrant-aws $ vagrant box add dummy https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box
その後作業用ディレクトリに入ってinitします.
$ vagrant init
設定ファイルのVagrantfileをいじります.
$ emacs Vagrantfile
そしてこんな感じに編集しました.
# -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| config.vm.box = "dummy" config.vm.provider :aws do |aws, override| aws.access_key_id = #EC2の権限を持ったAccessKey aws.secret_access_key = #EC2の権限を持ったSecretAccessKey aws.keypair_name = "mot-ec2" aws.instance_type = "t1.micro" aws.region = "ap-northeast-1" aws.ami = "ami-39b23d38" aws.security_groups = [ 'vagrant' ] override.ssh.username = "ec2-user" override.ssh.private_key_path = "~/.ssh/mot-ec2.pem" end end
参考URLの時からVagrantがアップデートしたりしています.そのおかげで少しオプションが変わっています.
aws.amiには使用するAMIを設定します.ここではAmazonLinux(64bit)のAMIを指定しています.
参考URLの時のAMIが現在存在しなかったのでそこで引っかかったりしてました.
aws.security_groupsで指定しているvagrantセキュリティグループはsshのみを許可したセキュリティグループです.sshを許可しないと色々残念になります.それ以外のポートなどは適宜セキュリティグループを修正してください.
ここまで設定すればだいたい終わりです.
$ vagrant up # インスタンスが立ち上がる $ vagrant ssh # インスタンスにssh $ vagrant destroy # インスタンスをterminate
僕自身まだAWSとかVagrantとか全然詳しくなくて勉強しながらやってますが,楽しいですね.
こうやってサーバをすぐ調達できるのは面白いなぁ.
これからはChef-soloとかも使ってサーバ構築して潰す生活をしたいと思います.
破壊なくして創造はなし