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
20200805 GCP Cloud Run
Search
saramune
August 05, 2020
Technology
2
240
20200805 GCP Cloud Run
GCP Cloud Runで始める簡単モダンなコンテナアプリ開発
saramune
August 05, 2020
Tweet
Share
More Decks by saramune
See All by saramune
EKS Auto Modeなにそれおいしいの?
saramune
0
110
self-hosted runnersでAWSコスト削減?
saramune
0
120
業務効率向上としての分割キーボード
saramune
0
150
インフラ観点で見るセキュリティ〜4Cモデルに倣って〜
saramune
0
59
適材適所
saramune
1
93
ChatworkのSRE部って実は 半分くらいPlatform Engineering部かもしれない
saramune
0
600
週刊AWSキャッチアップ(2024/03/25週)
saramune
0
130
なんでもかんでもコンテナ化すればいいってもんでもないけど なんでもかんでもコンテナ化したらスッキリしました
saramune
2
380
ACKを活用して 使い捨てAWS検証環境を構築している話
saramune
0
1.2k
Other Decks in Technology
See All in Technology
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
360k
Slackひと声でブログ校正!Claudeレビュー自動化編
yusukeshimizu
3
140
Streamline Cloud-Native App Development Using CDEs
saeedzf
0
580
テストを実施する前に考えるべきテストの話 / Thinking About Testing Before You Test
nihonbuson
PRO
12
1.9k
toittaにOpenTelemetryを導入した話 / Mackerel APM リリースパーティ
cohalz
1
240
AWS パートナー企業のテクニカルサポートが日々思っていること 〜そして、4/15 の現場から〜
kazzpapa3
2
400
面接を通過するためにやってて良かったこと3選
sansantech
PRO
0
100
CSS polyfill とその未来
ken7253
0
130
継続戦闘能⼒
sansantech
PRO
0
190
VueUseから学ぶ実践TypeScript #TSKaigi #TSKaigi2025
bengo4com
3
5.3k
オープンソースのハードウェアのコンテストに参加している話
iotengineer22
0
300
OTel meets Wasm: プラグイン機構としてのWebAssemblyから見る次世代のObservability
lycorptech_jp
PRO
0
250
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
133
9.3k
Gamification - CAS2011
davidbonilla
81
5.3k
Fontdeck: Realign not Redesign
paulrobertlloyd
84
5.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
25
2.8k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
Code Reviewing Like a Champion
maltzj
523
40k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
BBQ
matthewcrist
88
9.6k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
830
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Transcript
ϋογϡλάLVNPCFO ࣌։࢝༧ఆͰ͢ɻ͠Β͓ͪ͘Լ͍͞
λΠϜεέδϡʔϧ w JSFUʹ͍ͭͯ w ษڧձ w ࣭ٙԠ
() 392 (4 ( ( 10 5 .(
!
($1$MPVE3VOͰ࢝ΊΔ ؆୯ϞμϯͳίϯςφΞϓϦ։ൃ $MPVE3VO͔Θ͍͍Α$MPVE3VO
ࣗݾհ w ݹܒհ w ॴଐJSFUגࣜձࣾDMPVEQBDL w ৬։ൃ͕͋ΓͷΠϯϑϥΤϯδχΞ w ࣄ"84ͱΠνϟΠνϟ w
झຯυϥϜ
ҙ w ($1ެࣜͷղઆࢿྉͱࣅͯ·͢ w Ͳ͏ͯ͠ࣅͯ͠·͏ʜ w $MPVE3VOʹ֮Ίͦ͏ͳํੋඇެࣜࢀর͍ͩ͘͞ w ·͡Ͱ$MPVE3VOͷ͚ͩͰ͢ w
ίϯςφ,VCFSOFUFTͷਂ͍͠·ͤΜ w ࣭:PVUVCF-JWFͷίϝϯτʹͲ͏ͧʂ w ࢿྉޙڞ༗͠·͢
؆୯ϞμϯͳίϯςφΞϓϦ։ൃ
؆୯ϞμϯͳίϯςφΞϓϦ։ൃʁ w Έͳ͞·ͷϞνϕʔγϣϯʢ૾ʣ w ίϯςφΞϓϦ w ίϯςφ͔ͩΒڵຯ͋Δ w ؆୯Ϟμϯͳ w
ίϯςφͷ࣮ӡ༻͍ͬͯ͠Πϝʔδ ,VCFSOFUFTͱ͔ʜ
ίϯςφͱ w ࣮ߦڥͱϓϩηεΛ࠶ݱՄೳͳঢ়ଶͰݻΊͨͷ w ͳͥίϯςφʁ w ։ൃͱຊ൪Ͱڥࠩҟ͕Ͱͳ͍ w Ͳ͜Ͱಈ͘ʢΦϯϓϨɾΫϥυʣ w
ܰྔ
ίϯςφͱ͍͑,VCFSOFUFTʁ w ίϯςφΛຊ൪ڥͰӡ༻͢ΔͨΊͷΤίγεςϜ w ͳͥ,VCFSOFUFTʁ w ࣗಈͰίϯςφ෮چ w ͍͍ײ͡ʹίϯςφඋ w
ϩʔυόϥϯγϯά w ӡ༻͏·ΈͭΒΈ
$MPVE3VOΛ͏ͱʁ ࠓʢʁʣͷίϯςφΞϓϦΛ ,VCFSOFUFTͷࣝͳ͠ʹ ࠷৽ͷΞʔΩςΫνϟͰຊ൪ӡ༻Ͱ͖Δ
$MPVE3VOΛ͏ͱʁ ࠓʢʁʣͷίϯςφΞϓϦΛ ,VCFSOFUFTͷࣝͳ͠ʹ ࠷৽ͷΞʔΩςΫνϟͰຊ൪ӡ༻Ͱ͖Δ
࣍ w $MPVE3VOͱ w $MPVE3VOͷίϯηϓτ w $MPVE3VOͱ$*$% w ͦͷଞτϐοΫ
࣍ w $MPVE3VOͱ w $MPVE3VOͷίϯηϓτ w $MPVE3VOͱ$*$% w ͦͷଞτϐοΫ
$MPVE3VOͱ ࠓʢʁʣͷίϯςφΞϓϦΛ ,VCFSOFUFTͷࣝͳ͠ʹ ࠷৽ͷΞʔΩςΫνϟͰຊ൪ӡ༻Ͱ͖Δ
$MPVE3VOͱ w ϑϧϚωʔδυͳ,OBUJWFϕʔεͷαʔόϨείϯϐϡʔτ
$MPVE3VOͱ w ϑϧϚωʔδυͳ,OBUJWFϕʔεͷαʔόϨείϯϐϡʔτ
,OBUJWFͱ w ,VCFSOFUFTͰͷΞϓϦӡ༻Λॿ͚Δ044 w ,VCFSOFUFTΛ1BB4MJLFʹநԽ͢Δ w ։ൃऀ͕zΑΓzίʔυΛॻ͘͜ͱʹઐ೦Ͱ͖Δ
αʔόϨεͱ w αʔόཧΛඞཁͱ͠ͳ͍ΞϓϦέʔγϣϯͷߏஙͱ࣮ߦ w 㱠αʔό͕ͳ͍ɺӡ༻ΤϯδχΞ͕͍Βͳ͍ w ར༻ऀ͕αʔόͷཧʹϦιʔεΛඅ͢ඞཁ͕ͳ͍ ˞$/$'4FSWFSMFTT8IJUFQBQFSWΑΓ
ʢ࠶ܝʣ$MPVE3VOͱ w ϑϧϚωʔδυͳ,OBUJWFϕʔεͷαʔόϨείϯϐϡʔτ
ʢ࠶ܝʣ$MPVE3VOͱ w ϑϧϚωʔδυͳ,OBUJWFϕʔεͷαʔόϨείϯϐϡʔτ ($1͕ཧɾӡ༻͢Δ ,VCFSOFUFT ,OBUJWFͳαʔόϨεڥͰ ίϯςφΛಈ͔ͤΔαʔϏε
Կ͕͏Ε͍͠ͷʁ w ,VCFSOFUFTͷ͓कΓΛ͠ͳͯ͘Α͍ w ίϯςφͭ͘Δ͚ͩͰ0,ʂ w Θͳ͍ͱ͖͓͕͔͔ۚΒͳ͍ w ίϯςφUP/εέʔϧ͢Δ w
ଞڥͷࡌͤସ͕͑༰қ w Ͳ͔ͬͪͱ͍͏ͱίϯςφͷ͍͍ͱ͜Ζ
$MPVE3VOϓϥοτϑΥʔϜ w $MPVE3VO ϑϧϚωʔδυ w ࠓճͪ͜ΒʹϑΥʔΧε w $MPVE3VOGPS"OUIPT w
"OUIPT(,&্ʹߏங͞ΕΔ$MPVE3VO w ΑΓࣗ༝͕ߴ͍ (16͑ΔͳͲ
࣍ w $MPVE3VOͱ w $MPVE3VOͷίϯηϓτ w $MPVE3VOͱ$*$% w ͦͷଞτϐοΫ
$MPVE3VO ,OBUJWF ͷ֓೦ w αʔϏε w ίϯςφΠϯελϯε w ϦϏδϣϯ
αʔϏε w ࠷্ҐͷཧϦιʔε w ಉҰίϯςφΛ·ͱΊͯநԽ͢Δ w ΞϓϦͷΤϯυϙΠϯτ )5514 Λఏڙ͢Δ w
BSVOBQQυϝΠϯ·ͨΧελϜυϝΠϯ͕બՄೳ w -FU`T&ODSZQUͷ44-ূ໌ॻΛࣗಈͰੜɺׂΓͯͯ͘ΕΔ
ίϯςφΠϯελϯε w <W$16> w PS w ϝϞϦ<.#> w <.#>ʙ<(#>
w ϑΝΠϧγεςϜಡΈॻ͖Մ w ͰجຊεςʔτϨεʹ͠·͠ΐ͏
ίϯςφΠϯελϯε w ੍ w -JOVYY@ڥ w ͔ͭڥมz1035zʹରͯ͠-JTUFO͢Δ w ΞϓϦଆͰڥมz1035zΛҙࣝ͢Δඞཁ༗Γ
w ϨεϙϯελΠϜΞτσϑΥϧτ ."9
ϦϏδϣϯ w ίϯςφΠϝʔδͱڥมΛ·ͱΊͨͷ w Πϛϡʔλϒϧ w ϩʔϧόοΫ$BOBSZϦϦʔε͕Ͱ͖Δ
ਤͰ͍͏ͱ
$MPVE3VO ,OBUJWF ͷεέʔϦϯά w ಉ࣮࣌ߦͷ੍ޚ w UP/εέʔϧ
ಉ࣮࣌ߦͷ੍ޚ w ֤ίϯςφ͕͍ͭ͘ϦΫΤετΛॲཧ͢Δ੍͔ޚՄೳ w ίϯςφ͋ͨΓ࠷େϦΫΤετ·Ͱ w ͪͳΈʹɺ$MPVE'VODUJPOTϦΫΤετίϯςφ w ϦΫΤετͷϦιʔε༻ྔͱ૬ஊͯ͠࠷దͳΛݟ͚ͭΔ
ਤͰ͍͏ͱ
UP/εέʔϧ w Φʔτεέʔϧ w ϦΫΤετΛ͚͞Δ͚ͩͷίϯςφ͕উखʹ্ཱ͕ͪΔ w σϑΥϧτ࠷େίϯςφʢ؇Մೳʣ w ϦΫΤετ͕ͳ͘ͳͬͨΒίϯςφ
ίʔϧυελʔτ w ίϯςφʹͳΔίʔϧυελʔτ w ʹͳΔͱ·ͨΠν͔Βίϯςφ࡞Γ͕͔͔࣌ؒ͠Δ w ରࡦ w ಉ࣮࣌ߦͷௐ w
ίϯςφࣗମΛܰ͘͢Δ w ʢ$MPVE4DIFEVMFSͱ͔Ͱͪΐ͍ͪΐ͍ىಈʣ
ଞͷαʔϏεͱͷൺֱ w "QQ&OHJOF w ϥϯλΠϜ੍͋Γɺཧରιʔείʔυ w ϓϩδΣΫτϦʔδϣϯͷറΓ w $MPVE'VODUJPOT w
ϥϯλΠϜ੍͋Γɺཧରιʔείʔυ w Πϕϯτۦಈɺ͋͘·Ͱؔ
$MPVE3VO͔͍ͭͲ͜Ζ w "QQ&OHJOF$MPVE'VODUJPOTඇରԠͷݴޠΛ͍͍ͨʂ w ίϯςφͳͷͰϥϯλΠϜ੍ͳ͠ w طଘͷࢿ࢈Λ༗ޮ׆༻Ͱ͖Δ w ࠓޙΛݟਾ͑ͯίϯςφͰ࣮ͯ͠Έ͍ͨʂ w
Πϯϑϥ໘ݟΔඞཁͳ͠ɺεϞʔϧελʔτՄೳ w ,VCFSOFUFTΒͳͯ͘େৎ
%FNP w ($1ίϯιʔϧʹͯαʔϏεͷ࡞
࣍ w $MPVE3VOͱ w $MPVE3VOͷίϯηϓτ w $MPVE3VOͱ$*$% w ͦͷଞτϐοΫ
$MPVE3VOͰͷ$*$%
$MPVE#VJME w lαʔόϨεzͰϏϧυͰ͖Δ w $MPVE4PVSDF3FQPTJUPSJFTͷมߋΛτϦΨʔՄೳ w σϓϩΠՄೳ
%FNP w ιʔείʔυॻ͖͑ͯQVTIͯ͠มߋ֬ೝ
࣍ w $MPVE3VOͱ w $MPVE3VOͷίϯηϓτ w $MPVE3VOͱ$*$% w ͦͷଞτϐοΫ
ͦͷଞτϐοΫ w ϩΪϯάɺϞχλϦϯά w ྉۚ w ࠷ۙͷ6QEBUF
ϩΪϯάɺϞχλϦϯά w ϦΫΤετϩάɺίϯςφϩά w $MPVE-PHHJOH w ֤छϝτϦΫε $16 w
$MPVE.POJUPSJOH ࡞Γࠐ·ͳ͍͍ͯ͘ײ͡ʹܭଌͰ͖Δ
ྉۚ w "MXBZT'SFF͋Γ w $16ɺϝϞϦɺϦΫΤετɺωοτϫʔΫͷ߹ܭֹ
࠷ۙͷ6QEBUF w 5SB⒏D.BOBHFNFOU w ϦϏδϣϯؒͷϩʔϧόοΫɺ#(σϓϩΠ͕Մೳʹ w ͱͱ,OBUJWFͷػೳ
࠷ۙͷ6QEBUF w 4FSWFSMFTT71$"DDFTTDPOOFDUPS w 71$ͷϦιʔε .FNPSZTUPSFͳͲ ʹΞΫηεՄೳʹ
࠷ۙͷ6QEBUF w 4FSWFSMFTT/&(ରԠ #FUB w ϩʔυόϥϯαͷഎޙʹඋՄೳʹ w αʔϏεͷҰ෦͚ͩ$MPVE3VOɺΈ͍ͨͳ͜ͱ͕Մೳ
࠷ۙͷ6QEBUF w ؇͔ͳϩʔϧΞτ w ৽نϦϏδϣϯʹྲྀ͢τϥϑΟοΫͷׂ߹Λ੍ޚՄೳʹ w ৽نϦϏδϣϯσϓϩΠ w λά͖63-͕ੜ͞ΕΔ
w τϥϑΟοΫͷͷΈ৽نϦϏδϣϯʹ͚Δ gcloud beta run deploy myservice —image image:f5bd774 --no-traffic --tag green https://green---myservice-abcdef.a.run.app gcloud beta run services update-traffic myservice --to-tags green=1
·ͱΊ w $MPVE3VOɺ͍Ζ͍ΖָͰ͢ w Ϛωʔδυͳ,OBUJWFʹίϯςφ࡞ͬͯஔ͚ͩ͘ w ূ໌ॻɺεέʔϧඞཁͳػೳ͓·͔ͤ w ৽͍͠ΞϓϦ৽ػೳ͚ͩͤͯΈͯ
͓·͚ʢ࣮ྫʣ w γϯϓϧͳ8FCΞϓϦ େࡕͷۭ͖ԻָελδΦݕࡧ w ϑϩϯτͱόοΫ ελδΦݕࡧ෦ ผͷ$MPVE3VO w
3&45"1*Ͱଓ w ϚΠΫϩαʔϏεͬΆ͍͜ͱ͕͔ͨͬͨ͠ w ࠓޙչ͍ͯ͠Δʢແཧʹͪ͗Δͱ͠ΜͲ͍ʣ w $*$%ɺϞχλϦϯάඋ w <&3303>Ͱͻ͔͚ͬͯΞϥʔτ
$MPVE3VO͔Θ͍͍Α͓͡͞Μ
c a d
Ξϯέʔτͷ͝ڠྗΛ͓Ͷ͕͍͠·͢