Vagrant1.5でEC2インスタンスを立ち上げる設定

今度はVagrantからEC2インスタンスsshアクセスした後、プロビジョニングしたい。
ということでやってみる。

  • 参考

vagrant 1.2を使ってみる - Qiita
GitHub - mitchellh/vagrant-aws: Use Vagrant to manage your EC2 and VPC instances.
Vagrant 1.1 で EC2 を vagrant up - naoyaのはてなダイアリー

  • やったこと
$ vagrant plugin install vagrant-aws
    • box追加
$ vagrant box add aws https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box
    • VagrantFile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "aws"

  config.vm.provider :aws do |aws, override|
    aws.access_key_id     = "<ACCESS_KEY_ID>"
    aws.secret_access_key = "<SECRET_ACCESS_KEY>"
    aws.keypair_name = "kamiya"
    aws.instance_type = "t1.micro"
    aws.region = "ap-northeast-1"
    aws.ami = "ami-c9562fc8"
    aws.security_groups = [ '<SECURITY_GROUPS>' ] 

    override.ssh.username = "ec2-user"
    override.ssh.private_key_path = "~/.ssh/aws-kamiya.pem"

  end

end
$ VAGRANT_LOG=DEBUG vagrant up --provider=aws

これ、最初デバッグつけてなかったんだけど、まんまvagrant 1.2を使ってみる - Qiitaの”ハマったところ”の現象になって付けた。
らとっても便利だった。
なかなかこの記事に辿りつけなくて遠回りしちゃった。

そして念願の

$ vagrant ssh

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2014.03-release-notes/
1 package(s) needed for security, out of 18 available
Run "sudo yum update" to apply all updates.

キターやったーー。

    • プロビジョニング

立ちあげた後なんだけど、プロビジョニングも普通に追記すればおk。

    config.vm.provision :fabric do |fabric|
      fabric.fabfile_path = "./provision.py"
      fabric.tasks = ["execute"]
    end

これは前回のFabricの設定

で、

$ vagrant provision
      • こんなエラーが出たら
Fatal error: sudo() received nonzero return code 2 while executing!

/etc/sudoersの下記をコメントアウト

Defaults    requiretty
  • Secret Access Keyについて

あとSecret Access Keyの取得方法がよりセキュアになったみたいで、IAMマネジメントのコンソールから取得するようだ。
これの通り。
Where’s My Secret Access Key? | AWS Security Blog
Getting Started with Amazon SQS - Amazon Simple Queue Service
Secret Access Keyは取得直後の一度しか表示されない。