$30 off During Our Annual Pro Sale. View Details »
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
260
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
170
self-hosted runnersでAWSコスト削減?
saramune
0
160
業務効率向上としての分割キーボード
saramune
0
200
インフラ観点で見るセキュリティ〜4Cモデルに倣って〜
saramune
0
130
適材適所
saramune
1
110
ChatworkのSRE部って実は 半分くらいPlatform Engineering部かもしれない
saramune
0
710
週刊AWSキャッチアップ(2024/03/25週)
saramune
0
150
なんでもかんでもコンテナ化すればいいってもんでもないけど なんでもかんでもコンテナ化したらスッキリしました
saramune
2
440
ACKを活用して 使い捨てAWS検証環境を構築している話
saramune
0
1.3k
Other Decks in Technology
See All in Technology
Ruby で作る大規模イベントネットワーク構築・運用支援システム TTDB
taketo1113
1
260
RAG/Agent開発のアップデートまとめ
taka0709
0
160
Gemini でコードレビュー知見を見える化
zozotech
PRO
1
250
AI活用によるPRレビュー改善の歩み ― 社内全体に広がる学びと実践
lycorptech_jp
PRO
1
200
第4回 「メタデータ通り」 リアル開催
datayokocho
0
120
AI駆動開発における設計思想 認知負荷を下げるフロントエンドアーキテクチャ/ 20251211 Teppei Hanai
shift_evolve
PRO
2
350
日本Rubyの会の構造と実行とあと何か / hokurikurk01
takahashim
4
1k
ガバメントクラウド利用システムのライフサイクルについて
techniczna
0
190
生成AI時代の自動E2Eテスト運用とPlaywright実践知_引持力哉
legalontechnologies
PRO
0
220
直接メモリアクセス
koba789
0
290
生成AI時代におけるグローバル戦略思考
taka_aki
0
120
エンジニアリングをやめたくないので問い続ける
estie
2
1.1k
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.4k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Music & Morning Musume
bryan
46
7k
The Cult of Friendly URLs
andyhume
79
6.7k
Documentation Writing (for coders)
carmenintech
76
5.2k
Scaling GitHub
holman
464
140k
Producing Creativity
orderedlist
PRO
348
40k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Docker and Python
trallard
47
3.7k
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
Ξϯέʔτͷ͝ڠྗΛ͓Ͷ͕͍͠·͢