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

Ansible Study #1

Ansible Study #1

Ansible勉強会#1の資料

mystelynx

June 10, 2014
Tweet

More Decks by mystelynx

Other Decks in Programming

Transcript

  1. config.vm.define  'ec2'  do  |ec2|            

             ec2.vm.provider  :aws  do  |aws,  override|                                      aws.access_key_id  =  'xxx'                                      aws.secret_access_key  =  'yyy'                                      aws.keypair_name  =  'zzz'                                      aws.region  =  'ap-­‐northeast-­‐1'                                      aws.subnet_id  =  'subnet-­‐public'                                      aws.security_groups  =  ['sg-­‐open-­‐22']                                      aws.ami  =  'ami-­‐xxxxxxx'                                      aws.instance_type  =  't1.micro'                                      aws.tags  =  {                                                  'Name'  =>  'test',                                      }                                      override.ssh.username  =  'ec2-­‐user'                                      override.ssh.private_key_path  =  './xxx.pem'                      end                          ec2.vm.provision  :ansible  do  |ansible|                                      ansible.playbook  =  'main.yml'                                      #ansible.inventory_path  =  'ࢦఆ͠ͳ͚Ε͹ࣗಈੜ੒'               end      end
  2. FD3VOOJOHQSPWJTJPOFSBOTJCMF TIOPUJGZTFOEDPNNBOEOPUGPVOE ! 1-":<BMM>  ! ("5)&3*/('"$54  PL<FD> !

    5"4,<)FMMP>  PL<FD>\ NTH)J "OTJCMF ^ ! 5"4,<)FMMP>  PL<FD>\ NTH)J "OTJCMF ^ ! 5"4,<͸Ζʔ>  PL<FD>\ NTH)J "OTJCMF ^ ! 1-":3&$"1  FDPLDIBOHFEVOSFBDIBCMFGBJMFE
  3. ssh_proxy_command  =  'ssh  -­‐i  ./yyy.pem  ec2-­‐user@step  -­‐W  %h:%p'   !

    config.vm.define  'ec2'  do  |ec2|                      ec2.vm.provider  :aws  do  |aws,  override|                                      aws.access_key_id  =  'xxx'                                      aws.secret_access_key  =  'yyy'                                      aws.keypair_name  =  'zzz'                                      aws.region  =  'ap-­‐northeast-­‐1'                                      aws.subnet_id  =  'subnet-­‐private'                                      aws.private_ip_address  =  '172.31.15.251'                                      aws.ssh_host_attribute  =  :private_ip_address                                      aws.security_groups  =  ['sg-­‐open-­‐22']                                      aws.ami  =  'ami-­‐xxxxxxx'                                      aws.instance_type  =  't1.micro'                                      aws.tags  =  {                                                  'Name'  =>  'test',                                      }                                      override.ssh.username  =  'ec2-­‐user'                                      override.ssh.private_key_path  =  './xxx.pem'                                      override.ssh.proxy_command  =  ssh_proxy_command                      end                          ec2.vm.provision  :ansible  do  |ansible|                                      ansible.playbook  =  'main.yml'                      end      end
  4. export  ANSIBLE_SSH_ARGS='-­‐o  "-­‐ProxyCommand  ssh  -­‐ i  ./yyy.pem  ec2-­‐user@step  -­‐W  %h:%p"'

      vagrant  provision ௚઀44)͕ͭͳ͕Βͳ͍৔߹ Ҏ্ʁ #  ansible.cfgΛ࡞੒͠ɺssh_argsʹɺ   #  ProxyCommand…Λઃఆ͢Δ   vagrant  provision
  5. ssh_proxy_command  =  'ssh  -­‐i  ./yyy.pem  ec2-­‐user@step  -­‐W  %h:%p'   !

    config.vm.define  'ec2'  do  |ec2|                      ec2.vm.provider  :aws  do  |aws,  override|                                      aws.access_key_id  =  'xxx'                                      aws.secret_access_key  =  'yyy'                                      aws.keypair_name  =  'zzz'                                      aws.region  =  'ap-­‐northeast-­‐1'                                      aws.subnet_id  =  ‘subnet-­‐private'                                      aws.private_ip_address  =  '172.31.15.251'                                      aws.ssh_host_attribute  =  :private_ip_address                                      aws.security_groups  =  ['sg-­‐open-­‐22']                                      aws.ami  =  'ami-­‐xxxxxxx'                                      aws.instance_type  =  't1.micro'                                      aws.tags  =  {                                                  'Name'  =>  'test',                                      }                                      override.ssh.username  =  'ec2-­‐user'                                      override.ssh.private_key_path  =  './xxx.pem’                                      override.ssh.proxy_command  =  ssh_proxy_command                      end                          ec2.vm.provision  :ansible  do  |ansible|                                      ansible.playbook  =  'main.yml'                                      ansible.raw_ssh_args  =  ["-­‐o  'ProxyCommand  #{ssh_proxy_command}'"]                      end      end
  6. config.vm.define  'ec2'  do  |ec2|            

             ec2.vm.provider  :aws  do  |aws,  override|                                      :                                    தུ                                      :                      end                          ec2.vm.provision  :ansible  do  |ansible|                                      ansible.playbook  =  'main.yml'                                      ansible.verbose  =  'vv'                                      ansible.tags  =  'release'                                      ansible.start_at_task  =  'start_here'                                        :                      end      end ύϥϝʔλมߋͷͨͼʹॻ͖׵͑ʁ ˠͦ͏ͩɺ֎෦Խ͠Α͏ʂ
  7. config.vm.define  'ec2'  do  |ec2|            

             ec2.vm.provider  :aws  do  |aws,  override|                                      :                                    தུ                                      :                      end                          ec2.vm.provision  :ansible  do  |ansible|                                      ansible.playbook  =  'main.yml'                                      ansible.verbose  =  ENV['ANSIBLE_VERBOSE']                                      ansible.tags  =  ENV['ANSIBLE_TAGS']                                      ansible.start_at_task  =  ENV['ANSIBLE_START_AT_TASK']                                        :                      end      end
  8. config.vm.define  'ec2'  do  |ec2|            

     ec2.vm.provider  :aws  do  |aws,  override|                                      :                                    தུ                                      :              end                  ec2.vm.provision  :ansible  do  |ansible|                        ansible.playbook  =  'main.yml'                        ansible.raw_arguments  =                                  ENV.fetch('ANSIBLE_RAW_ARGUMENTS',  '').split('  ')              end   end