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
110
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
6
12k
黒い画面は作れば怖くない
jewelx12
1
210
社内チャットボットをリニューアルした話
jewelx12
0
5.6k
バッチ実行 インターフェースとしての Papermill について考える
jewelx12
0
96
ぎのわん勉強会の告知です
jewelx12
0
1.1k
コードを自動生成したい
jewelx12
0
93
プログラミング言語とパラダイム
jewelx12
0
100
沖縄・宜野湾エンジニア勉強会 #6 LT
jewelx12
0
2.3k
BigQuery と BigQuery ML
jewelx12
1
120
Featured
See All Featured
Gamification - CAS2011
davidbonilla
81
5.4k
Raft: Consensus for Rubyists
vanstee
140
7.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Designing for Performance
lara
610
69k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Designing Experiences People Love
moore
142
24k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Writing Fast Ruby
sferik
628
62k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Adopting Sorbet at Scale
ufuk
77
9.5k
Facilitating Awesome Meetings
lara
54
6.5k
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ղੳͷ࣮༻ྫͷͻͱͭͱͯ͠ࢀߟ ʹͳΔ