Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Go Cloud まとめ
Search
jewel12
October 23, 2018
0
54
Go Cloud まとめ
https://okinawa-go.doorkeeper.jp/events/81388
jewel12
October 23, 2018
Tweet
Share
More Decks by jewel12
See All by jewel12
その広告配信システムは正しく動いているのか? #TechMar
jewelx12
5
5.9k
黒い画面は作れば怖くない
jewelx12
1
160
社内チャットボットをリニューアルした話
jewelx12
0
5.1k
バッチ実行 インターフェースとしての Papermill について考える
jewelx12
0
60
ぎのわん勉強会の告知です
jewelx12
0
840
コードを自動生成したい
jewelx12
0
66
プログラミング言語とパラダイム
jewelx12
0
69
沖縄・宜野湾エンジニア勉強会 #6 LT
jewelx12
0
1.9k
BigQuery と BigQuery ML
jewelx12
1
88
Featured
See All Featured
In The Pink: A Labor of Love
frogandcode
139
22k
For a Future-Friendly Web
brad_frost
173
9.2k
Building an army of robots
kneath
301
42k
A Philosophy of Restraint
colly
200
16k
We Have a Design System, Now What?
morganepeng
46
7k
What's new in Ruby 2.0
geeforr
338
31k
Large-scale JavaScript Application Architecture
addyosmani
506
110k
Making the Leap to Tech Lead
cromwellryan
127
8.7k
Web Components: a chance to create the future
zenorocha
307
41k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
44
4.7k
Automating Front-end Workflow
addyosmani
1362
200k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
36
9.1k
Transcript
(P$MPVE·ͱΊ 0LJOBXBHP !KFXFM@Y
!KFXFM@Y w ΞυςΫձࣾͷ͓ख͍ w ԭೄɾٓΤϯδχΞษڧձ w ςʔϚΛΘͣΤϯδχΞಉ࢜ϫΠϫΠ͢ΔΏΔ͍ձ w ʹ͋ΔͷͰൃදɾ-5ͱʹ͓ͪͯ͠·͢ʂ w
ࠓ(P$MPVEʹ͍ͭͯௐͯΈ·ͨ͠
(P$MPVE w 8SJUFPODF SVOPOBOZDMPVE w $MPVE1MBUGPSNʹґଘ͠ͳ͍ɺϙʔλϒϧͳΞϓϦέʔγϣϯ Λॻͨ͘ΊͷϓϩδΣΫτ w ґଘ෦গͳͯ͘͠ϚϧνΫϥυΛ࣮ݱ͍ͨ͠ w
(PΫϥυڥͰΘΕΔύλʔϯ͕ଟ͍ w $MPVE*OGSBTUSVDUVSF5PPMT ,T *TUJP %PDLFS w ༷ʑͳαʔϏε͕ΫϥυڥͰ(PΛ͍ͬͯΔ -ZGU $BQJUBM 0OF /FUqJY 'SPN1PSUBCMF$MPVE1SPHSBNNJOHXJUI(P$MPVE
(P$MPVE w ·ͩBMQIB൛ w εϥΠυͷ༰มΘΔՄೳੑ͕͋Γ·͢
ϙʔλϒϧ͞ͷ࣮ݱํ๏ w $MPVE1MBUGPSNʹґଘͨ͠ίʔυͷݮ w ґଘͨ͠ίʔυͱ w $MPVE1MBUGPSN4%,ͷΠϯλʔϑΣʔεͷҧ͍ w ࣮ݱํ๏ͷίΞͭ
w ڞ௨"1* w 4%,ηοτΞοϓίʔυͷ*OKFDUJPO
ڞ௨"1* w ֤$MPVE1MBUGPSNΛ͏ͨΊͷॳظԽҎ֎ಉ͡ॻ͖ ํͰΫϥυαʔϏεΛར༻͍ͨ͠ w ಉ͡ॻ͖ํͰΫϥυετϨʔδ3%#ͷಡΈॻ ͖͕Ͱ͖ΔΑ͏ʹ w ྫ͑4
($4όέπͷಡΈॻ͖JP8SJUFS JP3FBEFSΠϯλʔϑΣʔεΛ࣮ͨ͠8SJUFS 3FBEFSΛ͏
όέπಡΈॻ͖ w νϡʔτϦΞϧίʔυΛಡ͏ … b, err := setupBucket(context.Background(), *cloud,
*bucketName) w, err := b.NewWriter(ctx, file, nil) _, err = w.Write(data) w (PPHMF$MPVE42-"NB[PO3%4Λ͏߹ EBUBCBTFTRMͷΠϯλʔϑΣʔεΛ࣮ͨ͠υϥΠό Λ༻͢Δ͜ͱʹͳΔ
ରԠ͍ͯ͠Δڞ௨"1* w #JOBSZ4UPSBHF.Z42-ͷଞʹ w 3FRVFTU-PHHJOH w /4$"$PNNPO-PH'PSNBU4UBDLESJWFSͷϑΥʔϚοτͰ )551ϦΫΤετϩάΛు͍ͯ͘ΕΔ)551)BOEMFSΛఏڙ w )FBMUI$IFDL༻)BOEMFSಉ༷ʹఏڙ
w 5SBDJOH w 0QFO$FOTVTͰऩूͨ͠τϨʔε༻σʔλΛ4UBDLESJWFS "NB[PO93BZʹૹΔ
͜Ε͔ΒରԠ͢Δͷʁ w ͋Μ·Γ͍͑ͯͳ͍ w ࠓͷͱ͜Ζʢ࣌ʣ($1ͱ"84ʹ ͍࣮ͭͯ͞Ε͍ͯΔ w 1VMMSFRVFTUTʹ(PPHMF$MPVE,.4ͷ࣮͕͋Δ
4%,ηοτΞοϓίʔυ w ֤4%,ηοτΞοϓʹύλʔϯ͕͋Δͱ͞ΕΔ ʢ1PSUBCMF$MPVE1SPHSBNNJOHXJUI(P$MPVEΑΓʣ w ͜ͷύλʔϯ෦ΛखͰશ෦ॻ͔ͳ͍Ͱɺඞཁ࠷ݶ ͚ͩίʔυهड़͢Δͱ$MPVE1MBUPGPSNґଘίʔ υ͕ݮΔ w
HPDMPVETBNQMFTHVFTUCPPLXJSF@HFOHPΛݟͯ ͘Ε w ࠷ऴతͳηοτΞοϓίʔυʹͳΔ
HPDMPVETBNQMFT HVFTUCPPLXJSF@HFOHP w XJSF@HFOHP8JSFͱ͍͏πʔϧͰࣗಈੜ͞Εͨ ίʔυ w ࣗಈੜͷͨΊͷఆٛJOKFDU@YYYHP "84͜ ͜ʣ
HPDMPVETBNQMFT HVFTUCPPLXJSF@HFOHP func setupAWS(ctx context.Context, flags *cliFlags) (*application, func(), error)
{ wire.Build( awscloud.AWS, applicationSet, awsBucket, awsMOTDVar, awsSQLParams, ) return nil, nil, nil } w 3%4ଓઃఆͳͲΛऴΘΒͤͯBQQMJDBUJPOTUSVDUͷ ॳظԽΛ͢Δίʔυ͕͘ॻ͚ͨ
8JSF w ηοτΞοϓίʔυͷੜΛ͢ΔͨΊͷ%* %FQFOEFODZ*OKFDUJPO ίϯςφͰɺHPDMPVEͷί Ξπʔϧͱͯ͠ͷҐஔ͚͕ͩ୯ମͰίϯύΠϧλΠϜ %*ίϯςφͱͯ͠༻Ͱ͖Δ w 1SPWJEFSͱ͍͏ґଘੑΛೖ͍ͨ͠ίϯϙʔωϯτ ͷηοτʹରͯ͠ґଘղܾΛߦ͍ɺίʔυੜΛ͢Δ
w ֤छηοτΞοϓίʔυͷύλʔϯHPDMPVEBXT BXTDMPVEʹίϯϙʔωϯτηοτͱͯ͠ஔ͍ͯ͋Δ ͷͰ͜ΕΛ͏ͱॻ͘ηοτΞοϓίʔυ͕͘ͳΔ
8JSF w ͏ͪΐ͍ৄ͘͠!CVEPVHVNJ͞ΜͷHPDMPVE ͱ8JSFΛར༻ͨ͠%*Λࢀর w લʹࣅͨࢿྉ͕ग़͍ͯΔͷʹࠓؾ͍ͨʜʜ w 1SPWJEFSͱ*OKFDUPS w 1SPWJEFSґଘੑΛఆٛͨ͠ίϯϙʔωϯτ
w *OKFDUPS1SPWJEFSΛґଘॱ൪Ͱฒͯίʔυੜ w 1SPWJEFS*OKFDUPSGVODUJPOͰදݱ͞Εɺγάωνϟ ͰґଘੑͷఆٛͱղܾΛ͍ͯͯ͠໘ന͍
·ͱΊ w (P$MPVEͰ$MPVE1MBUGPSNʹґଘ͠ͳ͍ɺϙʔλϏ ϦςΟΛ࣋ͬͨίʔυΛॻ͖͘͢ͳͬͨʢ͕ͣͩ· ͩBMQIBʣ w 8JSF໘ന͍ w (Pʹ͓͚Δ"45ղੳͷ࣮༻ྫͷͻͱͭͱͯ͠ࢀߟ ʹͳΔ