Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DevOps + AWS #jawsug

Naoya Ito
August 02, 2013

DevOps + AWS #jawsug

Naoya Ito

August 02, 2013
Tweet

More Decks by Naoya Ito

Other Decks in Technology

Transcript

  1. 1BDLFSͰ".* //  packer.json   {      "builders"  :  [{

             "type"  :  "amazon-­‐ebs",          "access_key"  :  "...",          "secret_key"  :  "...",          "region"  :  "ap-­‐northeast-­‐1",          "source_ami"  :  "ami-­‐e5b33ce4",          "instance_type"  :  "t1.micro",          "ssh_username"  :  "ec2-­‐user",          "ami_name"  :  "packer-­‐example  {{.CreateTime}}"      }]   }  
  2. 1BDLFSͷQSPWJTJPOFST //  packer.json   {      "provisioners":  [  

           {              "inline":  [                  "sleep  30",                  "curl  -­‐L  https://www.opscode.com/chef/install.sh  |  sudo  bash"              ],              "type":  "shell"          }      ]   }      
  3. 7BHSBOUX&$ #  Vagrantfile   Vagrant.configure(2)  do  |config|      config.vm.box

     =  "dummy"      config.vm.provider  :aws  do  |aws,  override|          aws.access_key_id          =  ENV['AWS_ACCESS_KEY_ID']          aws.secret_access_key  =  ENV['AWS_SECRET_ACCESS_KEY']          aws.keypair_name  =  "naoya's  keys"          aws.instance_type  =  "t1.micro"          aws.region  =  "ap-­‐northeast-­‐1"          aws.ami  =  "ami-­‐a3af2ba2"          aws.security_groups  =  [  'webserver'  ]          aws.tags  =  {  'Name'  =>  'vagrant-­‐test'  }          override.ssh.username  =  "ec2-­‐user"          override.ssh.private_key_path  =  "~/.ssh/aws-­‐naoyaskeys.pem"      end   end  
  4. Ϩγϐॻ͘ package  "nginx"  do      action  :install   end

        service  "nginx"  do      action  [:enable,  :start]   end  
  5. 7BHSBOU $IFG package  "nginx"  do      action  :install  

    end     service  "nginx"  do      action  [:enable,  :start]   end  
  6. ςετॻ͘ require  'spec_helper'     describe  package('nginx')  do    

     it  {  should  be_installed  }   end     describe  service('nginx')  do      it  {  should  be_enabled      }      it  {  should  be_running      }   end     describe  port(80)  do      it  {  should  be_listening  }   end