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
エネルギープラットフォーマーを目指す東京ガス内製開発チームが始めたKubernetes
Search
Yusuke Sugiyama
May 22, 2024
Technology
2
1.4k
エネルギープラットフォーマーを目指す東京ガス内製開発チームが始めたKubernetes
CloudNative Days Summer 2024 プレイベント@東京で発表した資料です。
Yusuke Sugiyama
May 22, 2024
Tweet
Share
More Decks by Yusuke Sugiyama
See All by Yusuke Sugiyama
Tokyo Gas KubeCon Japan 2025 Recap
yussugi
1
370
Tokyo Gas KubeCon EU 2025 Recap@Kubernetes Meetup Tokyo #70
yussugi
0
330
東京ガスが CNCF End User Supporter に参加した理由とその影響
yussugi
0
170
今はまだ小さい東京ガス内製開発チームが、これからもKubernetesと共に歩み続けるために
yussugi
3
1.5k
140年の歴史あるエンタープライズ企業の内製化×マイクロサービス化への航海
yussugi
2
9.3k
エンジニアゼロからの挑戦〜ビジネス価値を創造するための取り組みを振り返る〜
yussugi
1
550
AmazonEKSやっていくことを宣言して自らを追い込むLT
yussugi
2
1.7k
Other Decks in Technology
See All in Technology
Telemetry APIから学ぶGoogle Cloud ObservabilityとOpenTelemetryの現在 / getting-started-telemetry-api-with-google-cloud
k6s4i53rx
0
150
バクラクによるコーポレート業務の自動運転 #BetAIDay
layerx
PRO
1
950
Amazon Inspector コードセキュリティで手軽に実現するシフトレフト
maimyyym
0
120
大規模イベントに向けた ABEMA アーキテクチャの遍歴 ~ Platform Strategy 詳細解説 ~
nagapad
0
230
ZOZOTOWNの大規模マーケティングメール配信を支えるアーキテクチャ
zozotech
PRO
0
360
AIに頼りすぎない新人育成術
cuebic9bic
3
310
AIエージェントを現場で使う / 2025.08.07 著者陣に聞く!現場で活用するためのAIエージェント実践入門(Findyランチセッション)
smiyawaki0820
6
1.1k
Jamf Connect ZTNAとMDMで実現! 金融ベンチャーにおける「デバイストラスト」実例と軌跡 / Kyash Device Trust
rela1470
1
200
リモートワークで心掛けていること 〜AI活用編〜
naoki85
0
150
20250807 Applied Engineer Open House
sakana_ai
PRO
2
420
【新卒研修資料】数理最適化 / Mathematical Optimization
brainpadpr
27
13k
Instant Apps Eulogy
cyrilmottier
1
110
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.4k
How GitHub (no longer) Works
holman
314
140k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
6k
What's in a price? How to price your products and services
michaelherold
246
12k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Into the Great Unknown - MozCon
thekraken
40
2k
BBQ
matthewcrist
89
9.8k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Side Projects
sachag
455
43k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
For a Future-Friendly Web
brad_frost
179
9.9k
Transcript
ΤωϧΪʔϓϥοτϑΥʔϚʔΛ ࢦ͢౦ژΨε։ൃνʔϜ͕ ࢝Ίͨ ,VCFSOFUFT ݄ ౦ژΨεגࣜձࣾ ਿࢁ༞հ $MPVE/BUJWF%BZT 4VNNFSϓϨΠϕϯτ!౦ژ
ࣗݾհ q໊લ ਿࢁ༞հ :VTVLF4VHJZBNB qॴଐ ౦ژΨεϦϏϯάઓུ෦σδλϧϓϩμΫτਪਐάϧʔϓ ΤϯδχΞϦϯάϚωʔδϟʔ ݉ 43&5FBN-FBE qܦྺ
4* "84 4" ݄ΑΓݱ৬ q͖ 4VJDBϖϯΪϯ 'BTIJPO @yus_sugiyama
ຊ͓͢Δ͜ͱ ౦ژΨεͷΑ͏ͳຊͷ౷తاۀ +5$ ͕ɺΫϥυωΠςΟϒͳ։ൃνʔϜΛ࡞ͬ ͓ͯ٬͞·Ձͷ্ʹऔΓΜͰ͍Δ༷ࢠʹ͍͓ͭͯ͠·͢🚀 தͷਓ͕ͨͪؤுͬͯΓ͖ͳ͕Βɺ+5$Ϟμϯͳ։ൃʹνϟϨϯδͯ͠ΔΜͩͳʂ ͱ͍͏͜ͱΛͬͯΒ͍͍ͨͰ͢💪 ·ͨɺൃੜͨ͠՝ʹ͍ͭͯγΣΞͰ͖ͨΒͱࢥ͍ͬͯ·͢ɻ ͜Ε͔Βಉ͡Α͏ͳڥͰ ,VCFSOFUFTʹνϟϨϯδ͍ͯ͜͠͏ͱ͞Ε͍ͯΔํʹͱͬͯ
͜ͷ͓͕গ͠ͰࢀߟʹͳΕ͍Ͱ͢ʂ
౦ژΨεͬͯʁ
ͷྺ࢙ͱࣈͰΈΔ౦ژΨεάϧʔϓ ʢ໌࣏ ɺ౦ژΨεʮຊࢿຊओٛͷʯͰ͋Δ໌࣏࣌ͷ࣮ۀՈɾौ ӫҰʹΑཱͬͯ͞Ε·ͨ͠ɻ ΤωϧΪʔधཁͷ૿େʹ͍ɺΫϦʔϯͰߴޮͳΤωϧΪʔͱͯ͠ɺɺຊͰॳ Ίͯ -/( ӷԽఱવΨε Λಋೖɻ ͓٬͞·ΞΧϯτ
ສ݅ ࢢΨεࠃൢചγΣΞˋࠃ/Pɻ খചిྗൢച݅ສ݅ ʹ౸ୡɺ৽ిྗ/Pͱͳ͍ͬͯ·͢ɻ ࣈͰݟΔ౦ژΨεάϧʔϓc౦ژΨε UPLZPHBTDPKQ ΨεɾిؾɾαʔϏεԆܖ ݄࣌ ݄࣌
Ոఉ༻ࣄۀ͕ஔ͔Ε͍ͯΔݱঢ় ݄ʹిྗɺ݄ʹࢢΨε͕খചશ໘ࣗ༝ԽͱͳΓɺՈఉ༻ͷʹ͓͍ͯɺΤωϧΪʔձࣾ ͓٬͞·͔ΒબΕΔଘࡏʹͳΓ·ͨ͠ɻͦͷ݁ՌɺσδλϧʹΑΔ͓٬͞·ͷ֫ಘɾ͓٬͞·ମݧͷ্͕ٸ ͱͳ͍ͬͯ·͢ɻ ݄ ిྗখചࣗ༝Խελʔτ ʲಛผߴѹʳ େنɾେنΦϑΟεϏϧ ిྗ ࢢ
Ψε ݄ ࢢΨεখചࣗ༝Խελʔτ ʲؒສNҎ্ʳ ݄݄ ࣗ༝ԽྖҬ֦େ ʲߴѹʳ தখنɾதখϏϧ ݄d݄ ࣗ༝ԽྖҬ֦େ ʲؒສNҎ্ʳ ݄ શ໘ࣗ༝Խ ʲѹʳ ݄ શ໘ࣗ༝Խ ʲؒສNҎ্ʳ ҰൠՈఉͳͲ
ιϑτΣΞͷྗͰ৽ͨͳ࣌ߤւ։࢝ʂ ϦΞϧ -/(λϯΧʔΛʂ σδλϧ ,VCFSOFUFTΛʂ ϦΞϧͷڧΈΛ׆͔ͯ͠ σδλϧΛڧԽ͢Δߤւ💪
ੈքٿಅԽͷ࣌ ɺٿԹஆԽͷਐߦΛ͢Δݴ༿ͱͯ͠ʮٿಅԽʯ͕৽ޠɾྲྀߦޠେʹϊ ϛωʔτ͞Ε·ͨ͠ɻಛʹԽੴ೩ྉͷ೩ম͕େ͖ͳӨڹΛ༩͓͑ͯΓɺੈքతʹͬͨͳ ͠ͷঢ়گͱͳ͍ͬͯ·͢ɻ࣋ଓՄೳͳࣾձͷ࣮ݱʹߩݙ͢ΔͨΊʹɺ(9 άϦʔϯτϥϯ εϑΥʔϝʔγϣϯ ͪΖΜɺ%9Ҿ͖ଓ͖ॏཁͳཁૉͰ͢ɻ %9ΤϯδχΞ͕ ߩݙͰ͖Δʂ
ʮ౦ژʯʮΨεʯͷΛ͑Δ ʮ౦ژʯͷΛ͑Δɻ ʮΨεʯͷΛ͑Δɻ ͦͯ͠ʮΤωϧΪʔϓϥοτϑΥʔϚʔʯΛࢦ͢ɻ ͦͷͨΊʹࢲͨͪ։ൃνʔϜؤு͍ͬͯ·͢ʂ
౦ژΨε։ൃνʔϜͱ
౦ژΨε։ൃνʔϜͱ ͓٬͞· ։ൃνʔϜྖҬ όοΫΤϯυ جװγεςϜ #'' ϑϩϯτΤϯυ Λ୲ʂ ౦ژΨε$9ਪਐ෦σδλϧϚʔέςΟϯάάϧʔϓ ࣌
ʹൃͨ͠ ࣗࣾϓϩμΫτΛ։ൃ͢ΔνʔϜͰ͢ɻ ݄࣌ͰϦϏϯάઓུ෦ʹॴଐ ओʹ NZ50,:0("4 ͱݺΕΔձһαΠτͷ։ൃΛߦ͍ͬͯ·͢ɻ
myTOKYOGAS ͬͯʁ NZ50,:0("4 ຖ݄ͷΨεిؾͷ༻ྔɾྉۚΛ֬ೝͰ͖Δ ొແྉͷձһαʔϏεͰ͢ɻ ΨεɾిؾΛܖ͢Δଟ͘ͷํʹ͝ར༻͍͍͓ͨͩͯΓ·͢ɻ
ͪͳΈʹ NZ50,:0("4 ݄ϦχϡʔΞϧΦʔϓϯ͠·ͨ͠ʂ ։ൃνʔϜ͕୲͢ΔϑϩϯτΤϯυϑϧϦϓϨΠε💪 👉ϦϓϨΠεޙͷٕज़ελοΫ /FYUKT3FBDU/FTU+4(SBQI2-3FEJT.POHP%#1PTUHSF42- PO"[VSF
ͩ͜Θ͍ͬͯΔͱ͜Ζ ࢲͨͪ։ൃνʔϜʮࣄۀ৫ʯʹൃ͠·ͨ͠ɻ άϧʔϓϚωʔδϟʔٴͷʮ͓٬͞·͕ٻΊΔʹॊೈ͔ ͭૉૣ͘ରԠͰ͖Δମ੍ʹ͢Δඞཁ͕͋Δʯͱ͍͏ࢥ͍͔Β ࢝·͍ͬͯ·͢ɻτοϓμϯͰઐͷ৫Λ্ཱͪ͛Δ έʔεଟ͍ͱࢥ͍·͕͢ɺզʑʮࣄۀͱͷڑײ͕͍ۙ ͜ͱʯʹͩ͜Θ͍ͬͯ·͢ɻ σδλϧઌਐاۀͷΑ͏ʹػೳׂ͢Δ΄ͲͷϦιʔε͕ͳ ͍தɺڑײͷ͍ۙ #J[Y%FWͰͷϓϩμΫτ։ൃ͕ԿΑ
Γॏཁͩͱߟ͍͑ͯ·͢ʂ ࢲ͕࡞Γ·ͨ͠ ٴ౦ژΨεੜ͑ൈ͖ͷ ਓࡐͰ͢ʂ
8IZ,VCFSOFUFT
Why Kubernetes? ͔͍͍͔ͬ͜Β NZ50,:0("4๊͕͑Δ՝ΛΫϦΞ͍ͨ͠ʂ
NZ50,:0("4ͷ՝ ྫɿܖΛՃ͍ͨ͠έʔε ݱࡏͷձһใΛऔಘ "1* "1*Λݺͼग़͢ ܖใΛՃ "1*Λݺͼग़͢
ձһجຊใΛมߋ "1*Λݺͼग़͢ ݸਓผܖใΛߋ৽ "1*Λݺͼग़͢ όοΫΤϯυ #'' "1* "1* "1* "1* "1*
NZ50,:0("4ͷ՝ ܖͱɾɾɾʁ ྫɿܖΛՃ͍ͨ͠έʔε ݱࡏͷձһใΛऔಘ "1* "1*Λݺͼग़͢ ܖใΛՃ "1*Λݺͼग़͢
ձһجຊใΛมߋ "1*Λݺͼग़͢ ݸਓผܖใΛߋ৽ "1*Λݺͼग़͢ όοΫΤϯυ #'' "1* "1* "1* "1* "1*
NZ50,:0("4ͷ՝ ྫɿܖΛՃ͍ͨ͠έʔε ݱࡏͷձһใΛऔಘ "1* "1*Λݺͼग़͢ ܖใΛՃ "1*Λݺͼग़͢
ձһجຊใΛมߋ "1*Λݺͼग़͢ ݸਓผܖใΛߋ৽ "1*Λݺͼग़͢ υϝΠϯ͕ཧ ͞Ε͍ͯͳ͍ όοΫΤϯυ #'' "1* "1* "1* "1* "1*
NZ50,:0("4ͷ՝ 'BU#'' 8&# .PCJMF %PNBJO-BZFS $POUSBDU 1PJOUT .FNCFST ɾ ɾ
ɾ 'PS8&# YͬͬͬY ܖՃ DSFBUF0OF "EEB$POUSBDU "EEB$POUSBDU $IBSHFT 1SPDFTT-BZFS 6* ɾ ɾ ɾ "EEB$POUSBDU 'PS.PCJMF"QQ ɾ ɾ ɾ ɾ ɾ ɾ 'PS&YUFSOBM47$ ܖՃ DSFBUF0OF #''Ͱٵऩʜ 'BU#''ʜ ιʔείʔυ ෦Ͱͷʜ ϦχϡʔΞϧ࣌Ͱ ͜Ε͕࠷దղͩͬͨ ݄ϦϦʔε͕ඞਢͩͬͨͨΊʜ
NZ50,:0("4ͷ՝ 'BU#'' 8&# .PCJMF %PNBJO-BZFS $POUSBDU 1PJOUT .FNCFST ɾ ɾ
ɾ 'PS8&# YͬͬͬY ܖՃ DSFBUF0OF "EEB$POUSBDU "EEB$POUSBDU $IBSHFT 1SPDFTT-BZFS 6* ɾ ɾ ɾ "EEB$POUSBDU 'PS.PCJMF"QQ ɾ ɾ ɾ ɾ ɾ ɾ 'PS&YUFSOBM47$ ܖՃ DSFBUF0OF ൃੜ͢Δ ֎෦͚ʹ ͍ͨ͜͜͠ͳ ͍͍ ܖʹӨڹग़ͪΌ͏
NZ50,:0("4ͷ՝ 'BU#'' 8&# .PCJMF %PNBJO-BZFS $POUSBDU 1PJOUT .FNCFST ɾ ɾ
ɾ 'PS8&# YͬͬͬY ܖՃ DSFBUF0OF "EEB$POUSBDU "EEB$POUSBDU $IBSHFT 1SPDFTT-BZFS 6* ɾ ɾ ɾ "EEB$POUSBDU 'PS.PCJMF"QQ ɾ ɾ ɾ ɾ ɾ ɾ 'PS&YUFSOBM47$ ܖՃ DSFBUF0OF ൃੜ͢Δ ʢ͋ͬ֎෦͚ʹ ͨͭ͠ ୭ʂʁ 8&#յͨ͠ͷʂ
NZ50,:0("4ͷ՝ 'BU#'' 8&# .PCJMF %PNBJO-BZFS $POUSBDU 1PJOUT .FNCFST ɾ ɾ
ɾ 'PS8&# YͬͬͬY ܖՃ DSFBUF0OF "EEB$POUSBDU "EEB$POUSBDU $IBSHFT 1SPDFTT-BZFS 6* ɾ ɾ ɾ "EEB$POUSBDU 'PS.PCJMF"QQ ɾ ɾ ɾ ɾ ɾ ɾ 'PS&YUFSOBM47$ ܖՃ DSFBUF0OF ൃੜ͢Δ Ϗοάόϯ मਖ਼ೖΓ·ͨ͠
͜ΕΑ͘ݟΔͭͩɾɾɾ ˞όοΫΤϯυ७ਮͳϦϑτ
͞Βʹਂ͋Δ 'BU#'' 8&# .PCJMF %PNBJO-BZFS $POUSBDU 1PJOUT .FNCFST ɾ ɾ
ɾ 'PS8&# YͬͬͬY ܖՃ DSFBUF0OF "EEB$POUSBDU "EEB$POUSBDU $IBSHFT 1SPDFTT-BZFS 6* ɾ ɾ ɾ "EEB$POUSBDU 'PS.PCJMF"QQ ɾ ɾ ɾ ɾ ɾ ɾ 'PS&YUFSOBM47$ ܖՃ DSFBUF0OF ਂ ؔ࿈γεςϜ
͞Βʹਂ͋Δ 'BU#'' 8&# .PCJMF %PNBJO-BZFS $POUSBDU 1PJOUT .FNCFST ɾ ɾ
ɾ 'PS8&# YͬͬͬY ܖՃ DSFBUF0OF "EEB$POUSBDU "EEB$POUSBDU $IBSHFT 1SPDFTT-BZFS 6* ɾ ɾ ɾ "EEB$POUSBDU 'PS.PCJMF"QQ ɾ ɾ ɾ ɾ ɾ ɾ 'PS&YUFSOBM47$ ܖՃ DSFBUF0OF ਂ ؔ࿈γεςϜ ྺ࢙͋ΔاۀͰϨΨγʔͳ γεςϜͱͷର͕ඞཁ
՝ΛΓӽ͍͑ͯͨ͘Ίʹ
։ൃνʔϜͷϛογϣϯ ։ൃνʔϜͷϛογϣϯʮ͓٬͞·ʹૉૣ͘ՁΛಧ͚Δʯ͜ͱɻ ݱʹ͓͚Δ͓٬͞·ͷཁৗʹมԽ͢ΔதɺγεςϜ͕มԽʹ͑ΒΕͳ͍ঢ়گʜ ˠϛογϣϯͷୡ͕ࠔʂΞδϟΠϧਅͷ %FW0QTʹࢸΕͳ͍ʜʂ
։ൃνʔϜͷϛογϣϯ ։ൃνʔϜͷϛογϣϯʮ͓٬͞·ʹૉૣ͘ՁΛಧ͚Δʯ͜ͱɻ ݱʹ͓͚Δ͓٬͞·ͷཁৗʹมԽ͢ΔதɺγεςϜ͕มԽʹ͑ΒΕͳ͍ঢ়گʜ ˠϛογϣϯͷୡ͕ࠔʂΞδϟΠϧਅͷ %FW0QTʹࢸΕͳ͍ʜʂ ϞϊϦεΛϚΠΫϩαʔϏεʹ ͍ͯ͘͜͠ͱΛܾҙʂ💪
։ൃνʔϜͷϛογϣϯ ։ൃνʔϜͷϛογϣϯʮ͓٬͞·ʹૉૣ͘ՁΛಧ͚Δʯ͜ͱɻ ݱʹ͓͚Δ͓٬͞·ͷཁৗʹมԽ͢ΔதɺγεςϜ͕มԽʹ͑ΒΕͳ͍ঢ়گʜ ˠϛογϣϯͷୡ͕ࠔʂΞδϟΠϧਅͷ %FW0QTʹࢸΕͳ͍ʜʂ ϞϊϦεΛϚΠΫϩαʔϏεʹ ͍ͯ͘͜͠ͱΛܾҙʂ💪 ͜Ε·ͨखஈ తͰͳ͍
ࠓɺޫͷઓ͕࢜ٻΊΒΕ͍ͯΔ 'BU#'' 8&# .PCJMF %PNBJO-BZFS $POUSBDU 1PJOUT .FNCFST ɾ ɾ
ɾ 'PS8&# YͬͬͬY ܖՃ DSFBUF0OF "EEB$POUSBDU "EEB$POUSBDU $IBSHFT 1SPDFTT-BZFS 6* ɾ ɾ ɾ "EEB$POUSBDU 'PS.PCJMF"QQ ɾ ɾ ɾ ɾ ɾ ɾ 'PS&YUFSOBM47$ ܖՃ DSFBUF0OF ਂ ؔ࿈γεςϜ
ড়Խ ϦΞʔΩςΫνϟޙͷΠϝʔδ 8&# .PCJMF "QQT .JDSP 4FSWJDFT ҰྫͰ͢ $POUSBDU 1PJOUT
.FNCFST ɾ ɾ ɾ #''GPS8&# "EEB$POUSBDU $IBSHFT ɾ ɾ ɾ "EEB$POUSBDU ɾ ɾ ɾ #''GPS&YUFSOBM 4FSWJDFT "EEB$POUSBDU ɾ ɾ ɾ #''GPS.PCJMF "QQT ܖՃ DSFBUF0OF ܖՃ DSFBUF0OF /FX 4FSWJDF ؔ࿈γεςϜ܊ %PNBJO-BZFS υϝΠϯΛ ɾཧ
ϦΞʔΩςΫνϟޙͷΠϝʔδ 8&# .PCJMF "QQT .JDSP 4FSWJDFT ҰྫͰ͢ $POUSBDU 1PJOUT .FNCFST
ɾ ɾ ɾ #''GPS8&# "EEB$POUSBDU $IBSHFT ɾ ɾ ɾ "EEB$POUSBDU ɾ ɾ ɾ #''GPS&YUFSOBM 4FSWJDFT "EEB$POUSBDU ɾ ɾ ɾ #''GPS.PCJMF "QQT ܖՃ DSFBUF0OF ܖՃ DSFBUF0OF /FX 4FSWJDF ؔ࿈γεςϜ܊ %PNBJO-BZFS ,VCFSOFUFT ͷ࠾༻ʂ
ϦΞʔΩςΫνϟޙͷΠϝʔδ 8&# .PCJMF "QQT .JDSP 4FSWJDFT ҰྫͰ͢ $POUSBDU 1PJOUT .FNCFST
ɾ ɾ ɾ #''GPS8&# "EEB$POUSBDU $IBSHFT ɾ ɾ ɾ "EEB$POUSBDU ɾ ɾ ɾ #''GPS&YUFSOBM 4FSWJDFT "EEB$POUSBDU ɾ ɾ ɾ #''GPS.PCJMF "QQT ܖՃ DSFBUF0OF ܖՃ DSFBUF0OF /FX 4FSWJDF ؔ࿈γεςϜ܊ %PNBJO-BZFS ৽نαʔϏεʹ ׆༻Ͱ͖ΔΑ͏ʹ💪 ˞#$͚ͷίϯςΩετΛҙࣝ
ϦΞʔΩςΫνϟޙͷΠϝʔδ 8&# .PCJMF "QQT .JDSP 4FSWJDFT ҰྫͰ͢ $POUSBDU 1PJOUT .FNCFST
ɾ ɾ ɾ #''GPS8&# "EEB$POUSBDU $IBSHFT ɾ ɾ ɾ "EEB$POUSBDU ɾ ɾ ɾ #''GPS&YUFSOBM 4FSWJDFT "EEB$POUSBDU ɾ ɾ ɾ #''GPS.PCJMF "QQT ܖՃ DSFBUF0OF ܖՃ DSFBUF0OF /FX 4FSWJDF ؔ࿈γεςϜ܊ %PNBJO-BZFS มԽʹڧ͓͘٬͞·ʹ ૉૣ͘ՁΛಧ͚ΒΕΔ ΞʔΩςΫνϟ
"OTXFS8IZ,VCFSOFUFT ϚΠΫϩαʔϏεΛΓ͍ͨ ,VCFSOFUFTΛબʂͷલʹ લड़ͨ͠՝ղܾͷखஈͱͯ͠ϚΠΫϩαʔϏεΛબͱ͍͏ͷ͕͋Γ·͢ɻ ˠϚΠΫϩαʔϏεʹ ,VCFSOFUFT૬ੑൈ܈🤝 ίϯςφͷεέδϡʔϦϯάɾηϧϑώʔϦϯάʹΑΔ҆ఆͨ͠αʔϏεఏڙͷ࣮ݱ ࣗಈԽ͞ΕͨϩʔϧΞτͰͷߴසͳαʔϏεߋ৽ͷରԠ
நԽ͞ΕͨΫϥελʔʹΑΔϚγϯΛҙࣝ͠ͳ͍ίϯςφͷσϓϩΠ ϚχϑΣετͰͷཧʹΑΔ౷੍͞Εͨӡ༻ *B$(JU0QT BOENPSF
νʔϜߏॏཁ ࢲͨͪܦݧऀ࠾༻ͷΤϯδχΞͨͪυϝΠϯ ʹؔ͢Δ͕ࣝෆ͍ͯ͠·͢ɻ ͦͷͨΊάϧʔϓձࣾͰ͋Δ౦ژΨε Jωοτ ͷํʹྗΛିͯ͠Β͍͍ͨʂ ˠNZ50,:0("4͓ΑͼυϝΠϯ༗ࣝऀΛν ʔϜʹΈೖΕͯ͘ΕΔॊೈ͕͋͞Γ·ͨ͠😭 υϝΠϯΛཧ͠ͳ͕Β։ൃਪਐ💪 .JDSP
4FSWJDFT ҰྫͰ͢ $POUSBDU 1PJOUT .FNCFST ɾ ɾ ɾ $IBSHFT ؔ࿈γεςϜ܊ %PNBJO-BZFS
࣮ࡍͲΜͳײ͡ͳͷʁ
શମߏਤ AWS Cloud VPC ALBC Istio-Ingress Gateway Virtual Service EKS
Karpenter TGW DX Route 53 ACM GitHub Actions
"84"NB[PO&,4 νʔϜͷଟ͘ͷΤϯδχΞ͕ "84ʹ׳Ε͠ΜͰ͍ͨ͜ͱ͔Β "84Λ࠾༻ɻ "84͕ఏڙ͢ΔίϯςφΦʔέετϨʔλʔ "NB[PO&$4͋Γ·͕͢ɺ(JU0QTͰσ ϓϩΠͷΈΛγϯϓϧʹ͍ͨ͠ͱ͍͏Ϟνϕʔγϣϯ͕ڧ͘ɺ·ͨ *TUJPͳͲͷ๛ ͳΤίγεςϜ܈͔ΒɺνʔϜʹ߹ٕͬͨज़Λબఆ͍ͯ͘͜͠ͱ͕ग़དྷΔͷେ͖͍ͱ அͯ͠
&,4࠾༻Λܾஅ͠·ͨ͠ɻ ·ͨɺޙड़ͷ ,BSQFOUFSY(SBWJUPOΛ࠾༻͔ͨͬͨ͠ͱ͍͏ͷ͋Γ·͢ɻ
"SHP$% (JU0QT લϖʔδͰ৮Εͨͱ͓Γɺ(JU0QTͷ࠾༻ܾΊ͓ͯΓɺͦͷதͰΑΓଟ͘ͷಋೖࣄྫ ͱ࣮͕͋Δ "SHP$%Λબ͠·ͨ͠ɻಛʹ "SHP$%6* 43&νʔϜͰͳ͍ "QQ %FWFMPQFSTʹͱͬͯײతͰ͔Γ͘͢ɺརศੑ͕ߴ͍ͱड͚ࢭΊ͍ͯ·͢ɻ ·ͨɺ,VTUPNJ[FͱΈ߹ΘͤΔ͜ͱͰɺෳڥͷσϓϩΠ
EFWFMPQ TUBHJOH QSPEVDUJPO ʹରԠͰ͖Δ͜ͱେ͖͍Ͱ͢ɻݱࡏɺঝೝϑϩʔΛೖΕΔͨΊʹ "SHP $%*NBHF6QEBUFSಋೖΛݕূதʜ App Repo Manifest Repo
*TUJP"84-PBE#BMBODFS$POUSPMMFS Ϛωʔδυ ,VCFSOFUFTαʔϏεΛར༻͢Δʹ͋ͨͬͯݕ౼͕ඞཁͱͳΔ *OHSFTTʹ "84-PBE#BMBODFS$POUSPMMFSΛ࠾༻ɻ͞Βʹ /BNFTQBDFΛ·͍ͨͩϧʔςΟϯά Λ࣮ݱ͢ΔͨΊɺ·ͨαʔϏεؒ௨৴ͷൃੜݟਾ͑ͨαʔϏεϝογϡͷԸܙΛड͚Δ ͨΊʹ *TUJPૣʑʹಋೖ͠·ͨ͠ɻ ˞ຊ
(BUFXBZ"1*͕ཉ͍͠ͷͰ͕͢ɺ71$-BUUJDF༻్͕ҧ͓ͬͯΓʜকདྷతʹ *TUJP͕αϙʔτ͢Δ (BUFXBZ"1*ʹҠߦ༧ఆɻ *TUJP,VCFSOFUFT(BUFXBZ"1*
*TUJP"84-PBE#BMBODFS$POUSPMMFSߏ 7JSUVBM4FSWJDF͔Β֤ϚΠΫϩαʔϏεͷ 4FSWJDFʹϧʔςΟϯά͍ͤͯ͞·͢ɻ (BUFXBZΛར༻ͨ͠ 4IBSFEHBUFXBZͷύλʔϯΛ࠾༻ɻ
5FSSBGPSN ݩʑ NZ50,:0("4ϑϩϯτΤϯυͰ׆༻͓ͯ͠ΓɺҾ͖ଓ͖࠾༻ɻϑϩϯτΤϯυ "[VSFͰ͕ͨ͠ɺࠓճ "84ͱ͍͏͜ͱ͋ΓɺͲͪΒʹద༻Մೳ͔ͭ %BUBEPHͳͲͷࢹπʔϧఆٛͰ͖ΔڧΈΛ׆͔͍ͨ͠ͱஅ͠·ͨ͠ɻ ,VCFSOFUFT "SHP$%
(JU0QT "84 5FSSBGPSN ͷೋஈߏ͑Ͱߏங͍ͯ͠·͢ɻ
ΤωϧΪʔاۀͱͯ͠େʹ͍ͨ͜͠ͱ
ΤωϧΪʔޮͷྑ͍ϚγϯΛબ ΤωϧΪʔޮͷྑ͍ϚγϯΛબ͢Δ͜ͱͰফඅిྗͷݮʹߩݙ͍ͨ͠ʂ "84(SBWJUPO ʮಉͷ &$Πϯελϯεͱൺֱͯ͠ɺಉ͡ύϑΥʔϚϯεͰ࠷େ গͳ͍ΤωϧΪʔΛ༻ʯ͢Δ͜ͱͰೋࢎԽૉഉग़ྔͷݮʹߩݙՄೳɻ ˠϚΠΫϩαʔϏεΛߏங͢ΔαʔϏεͷݴޠ (PMBOHΛར༻͓ͯ͠ΓɺΫϩείϯύ ΠϧͰ
"3.ΠϯελϯεΛબՄೳʹʂ "84(SBWJUPO &$ʹ࠷ྑͷྉۚͱύϑΥʔϚϯεΛఏڙc"84 BNB[PODPN
,BSQFOUFSʹΑΔϫʔΧʔϊʔυͷཧ Ϝμͷͳ͍Πϯελϯεར༻Ͱίετ͚ͩͰͳ͘ফඅిྗͷݮʹߩݙ͍ͨ͠ʂ ࠷ॳʹߏங͢ΔαʔϏεෛՙ͕ಡΈͮΒ͍ͨΊɺϊʔυͷબఆʹ໎͍͕ʜ͞Βʹࠓޙͷ ిྗɾΨεͷαʔϏεͨͪ͞ΒʹಡΈͮΒ͍ͷʹͳΔ͜ͱ͕ఆ͞Ε͍ͯ·ͨ͠ɻ ,BSQFOUFS ͋Β͔͡Ίར༻͢ΔൣғͷϊʔυछผΛఆ͓ٛͯ͘͜͠ͱͰߴʹϊʔυ ͕ىಈɺϓϩϏδϣχϯά͞ΕΔͨΊɺ·͞ʹئͬͨΓͳιϦϡʔγϣϯͰͨ͠ɻଟͷ ϊʔυάϧʔϓఆٛΛهड़͠ͳͯ͘ྑ͍ͷ͕خ͠Έʜʂ ˞4MBDLࣾಋೖͨ͠ͱ "84#MPHʹͯެ։͞Ε͍ͯ·͢
.": )PX4MBDLBEPQUFE,BSQFOUFSUPJODSFBTF0QFSBUJPOBMBOE$PTU&GGJDJFODZc$POUBJOFST BNB[PODPN
(SBWJUPOY,BSQFOUFS લड़ͨ͠Α͏ʹ ΤωϧΪʔޮͷྑ͍Ϛγϯ Ϝμͷͳ͍Πϯελϯεར༻ ΛΈ߹ΘͤΔ͜ͱͰɺ౦ژΨε͕ܝ͛Δ ʮຊͷΤωϧΪʔاۀͱͯ͠ॳΊͯͷ $0ωοτɾθϩͷઓએݴʯʹΤϯδ χΞͱͯ͠ߩݙ͠·͢💪
༨ஊ ॳӡ༻ʹ͋ͨͬͯϝϯόʔগͳ͍͜ ͱ͔Β 'BSHBUFͷબఆߟ͍͑ͯ·ͨ͠ɻ ͔͠͠ɺ࣮ίετׂ͕ߴʹͳΓ͕ͪͳ͜ͱ ɺ࠷৽ੈͷΠϯελϯεׂ͕ΓͯΒΕ ͳ͍ ίϯτϩʔϧͰ͖ͳ͍ ͜ͱ͔ΒɺϚω ʔδυϊʔυάϧʔϓΛબ͢Δ͔͠ͳ͍
ʜͱߟ͍͑ͯͨதͰͷ ,BSQFOUFSຊʹ ͋Γ͕͍ͨଘࡏͰͨ͠ʂ ྑ͍ײ͡ʹϓϩϏδϣχϯάʂ
͜ΕͰզʑΫϥυωΠςΟϒʁ
ΫϥυωΠςΟϒ Ϋϥυɾ044ͬͯ·͢ʁ $MPVE/BUJWF$PNQVUJOH'PVOEBUJPO $/$' ओಋͷ 044Λͬͯ։ൃͯ͠Δ͜ͱʁ "84 (PPHMF$MPVE "[VSFΛར༻͍ͯ͠Δ͜ͱʁ
ΫϥυωΠςΟϒ Ϋϥυɾ044ͬͯ·͢ʁ $MPVE/BUJWF$PNQVUJOH'PVOEBUJPO $/$' ओಋͷ 044Λͬͯ։ൃͯ͠Δ͜ͱʁ "84 (PPHMF$MPVE "[VSFΛར༻͍ͯ͠Δ͜ͱʁ ͦΕͦ͏͔͠Εͳ͍ɾɾɾ
ͨͩ͠ʮωΠςΟϒʯͳͷͰʮͨΓલͷΑ͏ʹ͍ͬͯΔʯঢ়ଶͰ͋Δͱཧղɻ ͨΓલʹ͍͜ͳ͠ɺࣄۀ՝ΛΫϦΞ͍ͯ͘͜͠ͱ͕ॏཁͰ͋Δͱߟ͍͑ͯ·͢ɻ
ߤߦॱ෩ຬൕɾɾɾʁ
࣮ࡍͬͯΈͯͷॴײ ࣮ࡍʹߏஙΛ͍ͯ͘͠தͰ͠͞ͱπϥϛൃੜɻ Ͳ͜·Ͱ͕ ,VCFSOFUFTͳͷ͔ "84ͳͷ͔ʜ&,4Λ͍ͬͯΔͷ͔ "84Λ͍ͬͯΔ ͷ͔͔Βͳ͘ͳΔ FH*34"*". 4FSWJDF"DDPVOU3#"$͕ʜ
&,4ϓϨʔϯʹ͍ۙͷ͕ചΓ ͩͱࢥ͍ͬͯΔɾݸਓతݟղͰ͢ ͷͨΊɺϝτϦΫεαʔ όʔσϑΥϧτͰಋೖ͞Ε͍ͯͳ͍ɻ)1"͕ػೳ͠ͳͯ͘ؾ͍ͨʜ ʮ(,&ʙʯͱಉ྅͔ΒΤϐιʔυΛฉ͘ͱʮͳΔ΄Ͳʯͱࢥ͏ͷɻ ࠷ۙΫϥελʔ "1*ͷೝূཧ͕ $POGJH.BQΦϯϦʔͰͳ͘ͳͬͨͷϋοϐʔ ˠΫϥελʔΛ (JU)VC"DUJPOTͷϩʔϧͰ࡞͢Δͱ (6*͔ΒΞΫηεෆՄͩͬͨ BOENPSF
͍͞͝ʹ
͍͞͝ʹ ,VCFSOFUFTࠓͰपʂ🎉🎂 զʑେ͍ʹελʔτ͕ग़ΕͨνʔϜɾɾɾ ͔͠͠ࣄΛ࢝ΊΔͷʹ͗͢Δ͜ͱͳ͍ͣʂ ͜ͷߤւΛޙչʹม͑ͳ͍ͨΊʹɺશલਐ🏃 +5$Ͱ͋ͬͯɺগͣͭ͠ΫϥυωΠςΟϒͳ৫ɾɾɾʂ ͦͯ͜͠ͷΑ͏ͳίϛϡχςΟʹগ͠ͰؐݩͰ͖ͨΒͱࢥ͍ͬͯ·͢💪
Thank you!