Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
AWSのAPIをカジュアルに
Naoya Ito
June 28, 2014
Technology
13
11k
AWSのAPIをカジュアルに
#jawsug #cloudgirl の資料です
Naoya Ito
June 28, 2014
Tweet
Share
More Decks by Naoya Ito
See All by Naoya Ito
「問題から目を背けず取り組む」 一休の開発チームが6年間で学んだこと
naoya
137
48k
一休の現在と、ここまでの道のり
naoya
87
39k
技術的負債と向き合う
naoya
247
73k
System of Record と System of Engagement
naoya
184
63k
Serverless Architecture
naoya
118
43k
Webプログラマと数学の接点、その入り口
naoya
88
28k
開発組織マネジメントのコツ
naoya
243
100k
Infrastructure as Code
naoya
31
11k
情報共有 失敗あるある
naoya
81
39k
Other Decks in Technology
See All in Technology
CloudWatchアラームによるサービス継続のための監視入門 / Introduction to Monitoring for Service Continuity with CloudWatch Alarms
inomasosan
1
400
20220803投資先CXO候補者向け 会社紹介資料_合同会社BLUEPRINT
hik
0
150
Red Hat Partner Training Portal のご紹介 / Red Hat Partner Training Portal Introduction
rhpej
0
110
Power BI のうらがわ
hanaseleb
1
120
Step-by-Step MLOps and Microsoft Products
shisyu_gaku
1
470
ソフトウェアアーキテクチャの基礎: Software Architecture in a Nutshell
snoozer05
26
8.2k
DevelopersIO 2022 俺のTerraform Pipeline
takakuni
0
420
ぼくらが選んだ次のMySQL 8.0 / MySQL80 Which We Choose
line_developers
PRO
7
2.7k
Amplifyで Webアプリケーションの 堅固な土台をサクッと構築する方法
kawasakiteruo
0
200
EC/CRMの自社サービス開発をマネジメントするようになって1年でやってきたこととこれから / devio2022-takano-sho-road-to-good-development-team-management
masaru_b_cl
0
370
cobra は便利になっている
nwiizo
0
130
年90回以上のアップデートを実現する、Backlogを使ったスクラム開発
yoshiteruiwasaki
0
380
Featured
See All Featured
Writing Fast Ruby
sferik
612
57k
Practical Orchestrator
shlominoach
178
8.7k
Atom: Resistance is Futile
akmur
255
20k
Pencils Down: Stop Designing & Start Developing
hursman
113
9.8k
Debugging Ruby Performance
tmm1
65
10k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
498
130k
Gamification - CAS2011
davidbonilla
75
3.9k
Why Our Code Smells
bkeepers
PRO
324
55k
Adopting Sorbet at Scale
ufuk
63
7.6k
Documentation Writing (for coders)
carmenintech
48
2.6k
Unsuck your backbone
ammeep
659
55k
Making Projects Easy
brettharned
98
4.4k
Transcript
"84ͷ"1*ΛΧδϡΞϧʹ /BPZB*UP ,"*;&/QMBUGPSN*OD ୈճ+"846(Ϋϥυঁࢠձ
ࠓͷ • "1*Λ͓͠Ζ͓͘͏ • ͦͷྫΛ͍͔ͭ͘
"84ͱ͍͑"1* • "84͕طଘͷαʔόʔΠϯϑϥͱҧ͏ͱ͜Ζ – "1*ɺϓϩάϥϚϒϧ • ϓϩάϥϚϒϧͳΠϯϑϥ – *OGSBTUSVDUVSFBT$PEF –
ŋŋŋͱ͍͏͍͍͚ͲɺࠓͬͱΧδϡΞϧʹɺݸਓ༻్ Ͱ"84Λ͓͠Ζ͓͘͏ɺͱ͍͏ େنΠϯϑϥʙɺͱ͔͡Ό ͳͯ͘ৗͷͪΐͬͱͨ͠ಓ ۩ʹ"84Λɺ"1*Λ͏·͘ ͬͯ
,BJ[FO[P (ZB[PΈ͍ͨͳ6* ͰࡱӨͨ͠εΫγϣΛ 4ʹ্͛Δ
σϞ
͜Μͳ͜ͱʹΘΕͯ·͢ 2JJUB5FBN )JQ$IBU (JU)VC
,BJ[FO[Pͷத • ेߦͷSVCZεΫϦϓτ • 049ͷTDSFFODBQUVSFίϚϯυ • "844%,GPS3VCZ – "NB[PO4 • X4UBUJD8FC)PTUJOH
$ screencapture –i /tmp/capture.png TDSFFODBQUVSFίϚϯυ
"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ͯ͠͏
ͬͯΔ͜ͱ • 4UBUJD8FC)PTUJOHΛ༗ޮʹͨ͠CVDLFU Λ4ʹ༻ҙ • 3VCZεΫϦϓτͰҎԼΛΔ – TDSFFODBQUVSFίϚϯυΛ࣮ߦ • TZTUFNTDSFFODBQUVSFrJUNQDBQUVSFQOH
• ՃͰTJQTίϚϯυͰϓϩϑΝΠϧΛআͨ͠Γ – औͬͨϑΝΠϧΛ"1*Ͱ4ʹΞοϓϩʔυ
εΫϦϓτͷ#VOEMFԽ • 3VCZεΫϦϓτΛBQQʹ͢Δ • ී௨ͷΞϓϦΈ͍ͨʹ࣮ߦͰ͖Δ • IUUQXXXHMBNFOWTFQU[FOOFUWJFX͜ͷลࢀߟ Kaizenzo.app/
Contents/ Info.plist MacOS/ Resources/ kaizenzo.rb appIcon.icns ܾΊΒΕͨσΟϨΫτϦ ϨΠΞτͰϑΝΠϧΛ ஔ͍ͯɺ*OGPQMJTU 9.- Λॻ͚ͩ͘
ͪͳΈʹࣗઐ༻ͷ͋Δ • ແବʹ$MPVE'SPOUڬΜͰΔ • CMPHʹը૾షΓ͍ͨͱ͖ɺ5XJUUFSʹྲྀ͍ͨ࣌͠ͱ͔ ʹͬͯΔ
.JEEMFNBO
ྫ͑ J04ΞϓϦͷࠂϖʔδɻ .JEEMFNBOͰͰ͖ͯΔ
.JEEMFNBOͬͯ • αΠτΞηϯϒϥ – ੩తαΠτ੍࡞ͨΊͷϑϨʔϜϫʔΫ – ੩తαΠτΛ8FCΞϓϦέʔγϣϯͷΑ͏ʹ࡞ΕΔ • $44ϓϦϓϩηοα
4BTT$PNQBTT • ςϯϓϨʔτΤϯδϯ &3#ɺTMJN • ΞηοτύΠϓϥΠϯ • -JWF3FMPBE
NJEEMFNBOJOJUͰα ΠτͷͻͳܗΛੜ TMJNͱ͔TBTTͱ͔ DP⒎FFTDSJQUͱ͔ .BSLEPXOͱ͔ͰαΠτΛ ࡞ΕΔ
NJEEMFNBOTFSWFSͰಈ࡞֬ ೝ༻ͷ)551αʔόʔ͕ىಈɻ -JWF3FMPBE࿈ܞ͋ΔΑ
NJEEMFNBOCVJMEͰΞηο τ͔ΒՌΛ·ͱΊͯϏϧ υ
NJEEMFNBOTZOD 4UBUJD8FC)PTUJOHͱΈ߹ΘͤΔͱ٢ ίϚϯυͻͱͭͰ "NB[PO4ʹ .JEEMFNBOͰ࡞ͬͨαΠ τΛసૹ
σϞ
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ͷઃఆ
NJEEMFNBOCMPH -‐-‐-‐ title: ࠓΫϥυঁࢠձͰ͢ -‐-‐-‐ -‐
Hello, JAWS -‐ ͜ΜʹͪɺՄѪ͍ݘͰ͢Ͷ -‐ Markdown Ͱॻ͘ΜͰ͢Α NJEEMFNBOTZODͱΈ߹Θͤͯ 4Ͱެ։͢ΔCMPH͕࡞Ε·͢ ςΩετΛॻ͍ͯ NJEEMFNBOCVJMEͰCMPH هࣄʹͳΔ
None
6OJYతͳখಓ۩Λ࡞Δ
σϞ
ͬͯΔ͜ͱ • FDMJTU – &$ΠϯελϯεใΛ"1*ͰҾ͍ͯ͘Δ – ϩʔΧϧʹ݁ՌΛΩϟογϡ͠ͱ͘ • QFSDPM
$ ec2list | percol | cut -‐f 4 | xargs
-‐o -‐n 1 ssh ύΠϓͰͭͳ͛Δ ࡞ͬͨͷ&$Πϯελ ϯεͷҰཡΛग़ྗ͢Δͱ ͜ FDMJTU ͚ͩ
"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
5*14"84NFNPJ[F AWS.memoize do instances = ec2.instances.map do |i|
... end end "1*ίʔϧ͕ଟ͔͔͗ͯ࣌ؒ͢Δͱ͖ NFNPJ[FͰ͖ͳ͍͔ࢼͯ͠ΈΑ͏ "84NFNPJ[F͕"1*ͷ ԠΛྑ͍ײ͡ʹΩϟο γϡͯ͘͠Εͯɺߴʹ
·ͱΊ • "84ͷ"1*Λ͓͠Ζ͓͘͏ • ࢥͬͯΔΑΓͣͬͱ؆୯ • "84ΛʮΠϯϑϥʯͰͳ͘ʮϓϩάϥϜͷ ෦ʯͰ͋Δͱଊ͑ͯΈΔͱྑ͍͔
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠