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

AWSのAPIをカジュアルに

 AWSのAPIをカジュアルに

#jawsug #cloudgirl の資料です

Naoya Ito

June 28, 2014
Tweet

More Decks by Naoya Ito

Other Decks in Technology

Transcript

  1. "84ͱ͍͑͹"1* •  "84͕طଘͷαʔόʔΠϯϑϥͱҧ͏ͱ͜Ζ –  "1*ɺϓϩάϥϚϒϧ •  ϓϩάϥϚϒϧͳΠϯϑϥ –  *OGSBTUSVDUVSFBT$PEF – 

    ŋŋŋͱ͍͏࿩΋͍͍͚Ͳɺࠓ೔͸΋ͬͱΧδϡΞϧʹɺݸਓ༻్ Ͱ"84Λ͓΋͠Ζ͘࢖͓͏ɺͱ͍͏࿩  େن໛Πϯϑϥʙɺͱ͔͡Ό ͳͯ͘೔ৗͷͪΐͬͱͨ͠ಓ ۩ʹ"84Λɺ"1*Λ͏·͘ ࢖ͬͯ
  2. "844%,GPS3VCZ s3  =  AWS::S3.new(      :access_key_id      

       =>  ENV['AWS_ACCESS_KEY'],      :secret_access_key  =>  ENV['AWS_SECRET_ACCESS_KEY'],      :s3_endpoint              =>  's3-­‐ap-­‐northeast-­‐1.amazonaws.com'   )     bucket  =  s3.buckets['kaizenzo.kaizenplatform.in']     bucket.objects['images/12345.png'].write(      :file  =>  '/tmp/capture.png',        :content_type  =>  'image/png'   )         "1*ͱ͔4%,ͱ͍͏ͱ೉ͦ͠ ͏ʹฉ͑͜Δ͚Ͳɺ࣮ࡍ͸؆୯ɻ HFNJOTUBMMBXTTELͯ͠࢖͏
  3. εΫϦϓτͷ#VOEMFԽ •  3VCZεΫϦϓτΛBQQʹ͢Δ •  ී௨ͷΞϓϦΈ͍ͨʹ࣮ߦͰ͖Δ •  IUUQXXXHMBNFOWTFQU[FOOFUWJFX͜ͷลࢀߟ Kaizenzo.app/    

     Contents/          Info.plist      MacOS/      Resources/          kaizenzo.rb          appIcon.icns ܾΊΒΕͨσΟϨΫτϦ ϨΠΞ΢τͰϑΝΠϧΛ ஔ͍ͯɺ*OGPQMJTU 9.-  Λॻ͚ͩ͘
  4. activate  :sync  do  |sync|      sync.fog_provider    =  'AWS'

         sync.fog_directory  =  'cloudgirl.bloghackers.net'      sync.fog_region        =  'ap-­‐northeast-­‐1'      sync.aws_access_key_id          =  ENV['AWS_ACCESS_KEY_ID']      sync.aws_secret_access_key  =  ENV['AWS_SECRET_ACCESS_KEY']      sync.existing_remote_files  =  'keep'      sync.gzip_compression  =  false      sync.after_build  =  false   end     Fog.credentials  =  {  :path_style  =>  true  }  #  Work  around   NJEEMFNBOTZODͷઃఆ
  5. NJEEMFNBOCMPH -­‐-­‐-­‐   title:  ࠓ೔͸Ϋϥ΢υঁࢠձͰ͢   -­‐-­‐-­‐     -­‐

     Hello,  JAWS   -­‐  ͜Μʹͪ͸ɺՄѪ͍ݘͰ͢Ͷ   -­‐  Markdown  Ͱॻ͘ΜͰ͢Α   NJEEMFNBOTZODͱ૊Έ߹Θͤͯ 4Ͱެ։͢ΔCMPH͕࡞Ε·͢ ςΩετΛॻ͍ͯ NJEEMFNBOCVJMEͰCMPH هࣄʹͳΔ
  6. $  ec2list  |  percol  |  cut  -­‐f  4  |  xargs

     -­‐o  -­‐n  1  ssh   ύΠϓͰͭͳ͛Δ ࡞ͬͨͷ͸&$Πϯελ ϯεͷҰཡΛग़ྗ͢Δͱ ͜ FDMJTU ͚ͩ
  7. "1*ʹΑΔ&$Ұཡͷऔಘ ec2  =  AWS::EC2.new(      :access_key_id      

       =>  ENV['AWS_ACCESS_KEY_ID'],      :secret_access_key  =>  ENV['AWS_SECRET_ACCESS_KEY'],      :region                        =>  ENV['AWS_REGION']  ||  "us-­‐west-­‐1"   )     AWS.memoize  do      instances  =  ec2.instances.map  do  |i|          puts  [i.status,  i.tags[:Name],  i.tags[:Role]].join("\t")      end   end  
  8. 5*14"84NFNPJ[F AWS.memoize  do      instances  =  ec2.instances.map  do  |i|

             ...      end   end   "1*ίʔϧ͕ଟ͔͔͗ͯ࣌ؒ͢Δͱ͖͸ NFNPJ[FͰ͖ͳ͍͔ࢼͯ͠ΈΑ͏ "84NFNPJ[F͕"1*ͷ Ԡ౴Λྑ͍ײ͡ʹΩϟο γϡͯ͘͠Εͯɺߴ଎ʹ