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

DevOps + AWS #jawsug

B4afc7d853d7f1cb6a253d3c7183c05a?s=47 Naoya Ito
August 02, 2013

DevOps + AWS #jawsug

B4afc7d853d7f1cb6a253d3c7183c05a?s=128

Naoya Ito

August 02, 2013
Tweet

Transcript

  1. %FW0QT "84 /BPZB*UP

  2. "84.BOBHFNFOU $POTPMF 

  3. None
  4. None
  5. 切腹

  6. 1BDLFS

  7. 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}}"      }]   }  
  8. QBDLFSCVJME

  9. 1BDLFSͷQSPWJTJPOFST //  packer.json   {      "provisioners":  [  

           {              "inline":  [                  "sleep  30",                  "curl  -­‐L  https://www.opscode.com/chef/install.sh  |  sudo  bash"              ],              "type":  "shell"          }      ]   }      
  10. 7BHSBOU

  11. 7BHSBOU͕ϩʔΧϧͷ7.ཱͪ ্͛Δπʔϧͩͱࢥ͍ͬͯΔͦ͜ ͷΞφλ

  12. 切腹

  13. %  vagrant  init   %  vagrant  up  

  14. 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  
  15. %  vagrant  up  -­‐-­‐provider=aws  

  16. WBHSBOUVQ

  17. ͍͟ɺϓϩϏδϣχϯά

  18. %  knife  cookbook  create   nginx  –o  cookbooks  

  19. Ϩγϐॻ͘ package  "nginx"  do      action  :install   end

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

    end     service  "nginx"  do      action  [:enable,  :start]   end  
  21. WBHSBOUQSPWJTJPO

  22. ͯ͞ɺಈ࡞֬ೝɾɾɾ

  23. None
  24. TFSWFSTQFD

  25. %  vagrant  ssh-­‐config  \   -­‐-­‐host=ec2-­‐test  >>  ~/.ssh/config   %

     serverspec-­‐init  
  26. ςετॻ͘ 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  
  27. SBLFTQFD

  28. ͍ͭͰʹ(VBSE ϑΝΠϧॻ͖׵͑ͨΒࣗಈͰςετ

  29. %  vagrant  destroy   ςετ΋ऴΘͬͨ͠

  30. େࣄͳ͜ͱͦͷ̍  ͜͜·Ͱ.BOBHFNFOU $POTPMFҰ੾ͳ͠

  31. ͱ͍͏͜ͱ͸ŋŋŋʁ

  32. ࣗಈԽ

  33. "84΋$* h"p://d.hatena.ne.jp/naoya/20130521/1369102714

  34. େࣄͳ͜ͱͦͷ  શ෦ίʔυʹͳͬͯΔ

  35. ͱ͍͏͜ͱ͸ŋŋŋʁ

  36. (JUIVC

  37. "84΋4PDJBM$PEJOH

  38. ·ͱΊ DIFGΔ͚͕ͩ%FW0QTͰ͸͋Γ·ͤΜ ·ͱ·ͬͯͳ͍ 

  39. ߟ࡯ •  "84Ͱં֯ϋʔυͷ੍໿͕ແ͘ͳͬͨΘ ͚ͩ͠ •  ͳΔ΂͘ιϑτ΢ΣΞͰָ͠·͠ΐ͏ •  ָ࡞ۀෛՙ͕গͳ͍BOEָ͍͠ •  $*΍4PDJBM$PEJOHͷΑ͏ͳɺΑΓϨ

    ΠϠͷߴ͍ӡ༻ϓϩηε·Ͱঢ՚ͤͯ͞ ͳΜ΅
  40. None