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
61
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
6.7k
黒い画面は作れば怖くない
jewelx12
1
180
社内チャットボットをリニューアルした話
jewelx12
0
5.2k
バッチ実行 インターフェースとしての Papermill について考える
jewelx12
0
69
ぎのわん勉強会の告知です
jewelx12
0
890
コードを自動生成したい
jewelx12
0
68
プログラミング言語とパラダイム
jewelx12
0
79
沖縄・宜野湾エンジニア勉強会 #6 LT
jewelx12
0
2.1k
BigQuery と BigQuery ML
jewelx12
1
94
Featured
See All Featured
Being A Developer After 40
akosma
87
590k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
KATA
mclloyd
29
14k
Embracing the Ebb and Flow
colly
84
4.5k
The Invisible Side of Design
smashingmag
298
50k
The Cult of Friendly URLs
andyhume
78
6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Agile that works and the tools we love
rasmusluckow
327
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Site-Speed That Sticks
csswizardry
0
27
Automating Front-end Workflow
addyosmani
1366
200k
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ղੳͷ࣮༻ྫͷͻͱͭͱͯ͠ࢀߟ ʹͳΔ