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
67
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
7.6k
黒い画面は作れば怖くない
jewelx12
1
180
社内チャットボットをリニューアルした話
jewelx12
0
5.3k
バッチ実行 インターフェースとしての Papermill について考える
jewelx12
0
71
ぎのわん勉強会の告知です
jewelx12
0
910
コードを自動生成したい
jewelx12
0
69
プログラミング言語とパラダイム
jewelx12
0
81
沖縄・宜野湾エンジニア勉強会 #6 LT
jewelx12
0
2.1k
BigQuery と BigQuery ML
jewelx12
1
95
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
693
190k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Designing for humans not robots
tammielis
250
25k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
How GitHub (no longer) Works
holman
311
140k
Git: the NoSQL Database
bkeepers
PRO
427
64k
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ղੳͷ࣮༻ྫͷͻͱͭͱͯ͠ࢀߟ ʹͳΔ