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
210
20200805 GCP Cloud Run
GCP Cloud Runで始める簡単モダンなコンテナアプリ開発
saramune
August 05, 2020
Tweet
Share
More Decks by saramune
See All by saramune
適材適所
saramune
1
50
ChatworkのSRE部って実は 半分くらいPlatform Engineering部かもしれない
saramune
0
410
週刊AWSキャッチアップ(2024/03/25週)
saramune
0
56
なんでもかんでもコンテナ化すればいいってもんでもないけど なんでもかんでもコンテナ化したらスッキリしました
saramune
2
260
ACKを活用して 使い捨てAWS検証環境を構築している話
saramune
0
840
KubernetesとTerraformのセキュリティ/ガバナンス向上委員会 with OPA
saramune
2
1.2k
脱・初心者!AWSコンピューティング・ネットワークのテクニック集
saramune
2
630
うんうん、それ(EC2+ASG)もまたCloudNativeだね
saramune
1
410
Cloud Runについて(iret tech labo vol.6)
saramune
0
190
Other Decks in Technology
See All in Technology
【基調講演】変える、今ここから ― IoTとAIで紡ぐ未来
soracom
PRO
0
320
RAGのサービスをリリースして1年3ヶ月が経ちました
segavvy
4
950
スレットハンティングについて知っておきたいこと
hacket
0
130
20240717_イケコパ代表Copilot_in_Teams会社でこう使ってます
ponponmikankan
2
430
Luupの開発組織におけるインシデントマネジメントの変遷 ver.RoadtoSRENEXT2024
grimoh
1
270
AWSサービスメニュー開発をしていてAWSを好きだ!と感じた瞬間
toru_kubota
0
130
エンジニア向け会社紹介資料
caddi_eng
14
230k
データベース研修 DB基礎【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
210
What is DRE? - Road to SRE NEXT@広島
chanyou0311
3
630
LINE WORKSへ簡単通知!Incoming Webhookアプリの紹介
mmclsntr
0
110
ソフトウェアエンジニアリングの知見を活かして データ基盤をいい感じにする on Snowflake [MIERUNE BBQ #10]
mtpooh
2
150
ゆめみのアクセシビリティの現在地と今後
ryokatsuse
3
290
Featured
See All Featured
Ruby is Unlike a Banana
tanoku
96
10k
Making Projects Easy
brettharned
111
5.7k
Designing Experiences People Love
moore
136
23k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
121
18k
Building a Scalable Design System with Sketch
lauravandoore
458
32k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
325
21k
Principles of Awesome APIs and How to Build Them.
keavy
124
16k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
18
1.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
262
13k
For a Future-Friendly Web
brad_frost
173
9.2k
Writing Fast Ruby
sferik
623
60k
Designing for humans not robots
tammielis
247
25k
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
Ξϯέʔτͷ͝ڠྗΛ͓Ͷ͕͍͠·͢