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
Amazon EKS を活用した個人開発環境の整備と自動化への取り組み / CNDT2021
Search
YuyaKoda
PRO
November 05, 2021
Technology
0
530
Amazon EKS を活用した個人開発環境の整備と自動化への取り組み / CNDT2021
CloudNativeDays Tokyo 2021
https://event.cloudnativedays.jp/cndt2021/
YuyaKoda
PRO
November 05, 2021
Tweet
Share
More Decks by YuyaKoda
See All by YuyaKoda
Kubernetes だけじゃない!Amazon ECS で実現するクラウドネイティブな GitHub Actions セルフホストランナー / CNDW2024
ponkio_o
PRO
6
580
Renovate ではじめる運用レスなライブラリ更新 / 令和最新版 他人に自慢したいヤバいCI/CD LT会 @ yabaibuki.dev #2
ponkio_o
PRO
1
240
Amazon ECS で作るスケーラブルなセルフホストランナー / GitHub Actions Meetup Tokyo #4
ponkio_o
PRO
2
800
業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7
ponkio_o
PRO
42
19k
aqua で始める CI-Friendly なツール管理
ponkio_o
PRO
3
1.1k
set-terraform-matrix という Actions を作った / set-terraform-matrix-actions
ponkio_o
PRO
0
530
NGINX Ingress Controller を活用した Retty のサービス開発とモニタリング / NGINX ユーザー会 2022 春
ponkio_o
PRO
0
210
Retty における Signal Sciences の導入事例 / Fastly Yamagoya 2021
ponkio_o
PRO
0
4.5k
Terraform における秘匿情報管理 / Credentials management in Terraform
ponkio_o
PRO
0
380
Other Decks in Technology
See All in Technology
Road to SRE NEXT@仙台 IVRyの組織の形とSLO運用の現状
abnoumaru
0
390
年末調整プロダクトの内部品質改善活動について
kaomi_wombat
0
210
Vision Language Modelを活用した メルカリの類似画像レコメンドの性能改善
yadayuki
9
1.3k
Go製のマイグレーションツールの git-schemalex の紹介と運用方法
shinnosuke_kishida
1
410
チームの性質によって変わる ADR との向き合い方と、生成 AI 時代のこれから / How to deal with ADR depends on the characteristics of the team
mh4gf
4
340
Amazon GuardDuty Malware Protection for Amazon S3を使おう
ryder472
2
110
一人QA時代が終わり、 QAチームが立ち上がった話
ma_cho29
0
290
職種に名前が付く、ということ/The fact that a job title has a name
bitkey
1
250
コンソールで学ぶ!AWS CodePipelineの機能とオプション
umekou
2
120
ソフトウェア開発現代史: なぜ日本のソフトウェア開発は「滝」なのか?製造業の成功体験とのギャップ #jassttokyo
takabow
2
1.6k
20250326_管理ツールの権限管理で改善したこと
sasata299
1
390
Enterprise AI in 2025?
pamelafox
0
100
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
29
2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Code Review Best Practice
trishagee
67
18k
Building Adaptive Systems
keathley
41
2.5k
Building Your Own Lightsaber
phodgson
104
6.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
500
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Transcript
Amazon EKS Λ׆༻ͨ͠ݸਓ։ൃڥ ͷඋͱࣗಈԽͷऔΓΈ Rettyגࣜձࣾ Yuya Koda 2021/11/05
ࣗݾհ IUUQTVTFSSFUUZNF ໊લ ా༏࠸ ͜͏ͩΏ͏ ͓ࣄ ΠϯϑϥΤϯδχΞ ͖ͳ͓ళ 4"70:ຑे൪ళ
5XJUUFS !QPOLJP@P
͋ͳͨʹBESTͳ ͓ళ͕ݟ͔ͭΔ
ΞδΣϯμ • ։ൃڥͷ֓ཁ ◦ ͳΓͨͪγεςϜߏ • ։ൃڥʹ͓͚Δ༷ʑͳ׆༻ࣄྫ ◦ &$4QPU*OTUBODFΛ׆༻ͨ͠ίετݮࣄྫ ◦
,VCFSOFUFTͱ5FSSBGPSNͷϦιʔεཧʹ͍ͭͯ ◦ ෳͷ*OHSFTT$POUSPMMFSͷΈ߹Θͤ ◦ "OTJCMFLT.PEVMFΛͬͨϦιʔεཧ • ։ൃ༻%#ӡ༻ࣗಈԽʹ͍ͭͯ ◦ "844UFQ'VODUJPOTΛ༻ͨ͠ϫʔΫϑϩʔ
ࣾ։ൃڥͷͳΓͨͪ
ࣾ։ൃڥͷͳΓͨͪ • ΞϓϦέʔγϣϯຊମ ݹΊͷ1)1 • ෳͷ3FEJT • ෳͷ.Z42- •
ෳͷػೳΛ࣋ͬͨ"1*αʔό • ผΞϓϦέʔγϣϯͷ༧γεςϜ 3FUUZΛ։ൃ͢ΔͨΊʹෳͷγεςϜ͕ඞཁ ͜ΕΒͯ͢ΛϩʔΧϧڥʹ༻ҙ͢Δͷେมʜ
ࣾ։ൃڥͷͳΓͨͪ • ͷαʔόΛ༻ҙ͠ɺͦ͜ʹ44)ͯ͠։ൃ͢ΔελΠϧ ◦ 1)1ͳͲඞཁͳͷͯ͢ଗ͍ͬͯΔ ϩʔΧϧͰෆཁ ◦ ڥߏஙෆཁͰ44)ϩάΠϯͯ͠HJUDMPOF͢ΔͷΈ ◦
ϨϯλϧαʔόͷΑ͏ͳΠϝʔδ • Ͱ͖ͨॳࣾͷ,VCFSOFUFTΫϥελ W͘Β͍ Ͱಈ͍͍ͯͯɺ (,&ʹҠߦͨ͠ޙɺݱࡏ&,4ͰՔಇத ͦ͜Ͱ࡞ΒΕͨͷ͕ࣾ։ൃڥ
ࣾ։ൃڥͷߏ
ࣾ։ൃڥͷߏ /'4 TTITFSWFS 1PE 1)1"QQ 4FSWJDF UZQF-PBE#BMBODFS *OHSFTT 44)ϩάΠϯͯ͠ίʔυΛฤू ˞ϗετ໊ͳͲͯ͢Սۭͷͷ
7PMVNF .PVOU IPNF\VTFS^SFUUZJOEFYQIQ ϢʔβYαʔϏεຖʹ࡞͞ΕΔϦιʔε 4FSWJDF WBSXXXIUNMJOEFYQIQ TTITFSWFSͰฤूͨ͠ίʔυΛ7PMVNF.PVOU IUUQT\VTFS^TFSWJDFGPPSFUUZNF ͷΑ͏ͳ63-ʹΞΫηεͯ֬͠ೝ
ͳͥ,VCFSOFUFTʁ • ઃఆΛ:".-ϑΝΠϧͰཧͰ͖Δͷศར ◦ ʮجຊతʹಉ͡ઃఆͰϢʔβ໊ͷՕॴͷΈҟͳΔʯͳͲ͕ଟ͋͘Δ ͨΊɺςϯϓϨʔτԽ͍͍ͯ͢͠ ◦ ͲͪΒ͔ͱ͍͏ͱ*B$ͷྑ͞తͳʹ͍ۙ • ๛ͳΤίγεςϜΛ׆༻Ͱ͖Δ
◦ "84ͷαʔϏεͰΓͳ͍෦Λิ͏͜ͱ͕Ͱ͖Δ ◦ ྫ͑"-#ͷෆ෦Λ/(*/9*OHSFTT$POUSPMMFSͰิ͏ͳͲ ʮ͕ࣗೖࣾ͢Δલ͔Βطʹ,VCFSOFUFTͰಈ͍͍͔ͯͨΒʜʯͱ͍͏ͷ ͋Γ·͕͢ɺӡ༻ͯ͠Έͯಘͨؾ͖ͮΛ͍͔ͭ͘
&$4QPU*OTUBODFͰେ෯ͳίετݮ
&$4QPU*OTUBODFͷ֓ཁ • "84্Ͱ༻͞Ε͍ͯͳ͍ΩϟύγςΟΛ֨҆Ͱ༻Ͱ͖Δ&$Π ϯελϯεͷങ͍ํͷͭ ◦ Ձۭ͖֨ͷΩϟύγςΟʹΑΓมಈ͋Γ ◦ "84ͷΩϟύγςΟ͕ෆ͖ͯͨ͠Βऴྃ͞ΕΔ ▪ ͨͩ͠લʹ௨Λड͚औΔ͜ͱ͕Ͱ͖Δ
• 3*41ΑΓίετޮՌ͕ߴ͍ ࠷େׂҾ
ίετͱ&$4QPU*OTUBODF • ར༻ऀׂ͕ͱมಈ͢ΔͨΊ༧ΊΛ֬ఆ͠ʹ͔ͬͨ͘ • ։ൃڥͳͷͰதஅʹΑΔΤϥʔ͕ग़ͨͱͯ͠ΫϦςΟΧϧͳͰͳ͍ ◦ ࠷ѱӨڹ͕ग़͔ͯΒΦϯσϚϯυΛ͢ͳͲͷରԠ͕ڐ༰͞ΕΔ • ॊೈʹαΠζΠϯελϯελΠϓΛม͑Δ͜ͱ͕Ͱ͖Δ ◦
3FTFSWFE*OTUBODFͷ߹੍͕͋ΔͨΊ શࣾతʹར༻͞ΕΔΑ͏ʹͳΓɺͩΜͩΜͱίετ͕՝ʹʜ ԼهͷΑ͏ͳཧ༝͔Β&$4QPU*OTUBODFΛ࠾༻͢Δ͜ͱʹ͠·ͨ͠ɻ
ΦϯσϚϯυΠϯελϯεͱͷΈ߹Θͤ தஅ͕ڐ༰͞Εͳ͍ϫʔΫϩʔυʹΦϯσϚϯυΠϯελϯεΛར༻ • TTITFSWFSৗʹ୭͔͕ଓ͍ͯ͠ΔͷͳͷͰɺجຊతʹ్தͰऴྃ͞Ε ͯཉ͘͠ͳ͍ͱ͍͏ࣄ͕͋ͬͨ • ,VCFSOFUFTͷ/PEF"GGJOJUZ ˞ ͰεέδϡʔϦϯάઌΛࢦఆͨ͠ ˞"TTJHO1PETUP/PEFTVTJOH/PEF"GGJOJUZIUUQTLVCFSOFUFTJPKBEPDTUBTLTDPOGJHVSFQPEDPOUBJOFSBTTJHOQPETOPEFTVTJOHOPEFBGGJOJUZ
BXTOPEFUFSNJOBUJPOIBOEMFS BXTOPEFUFSNJOBUJPOIBOEMFSͱʁ🤔 • 4QPUऴྃ࣌ʹLVCFDUMESBJO૬ͷॲཧΛߦͬͯ͘ΕΔ%BFNPO4FU • *OUFSSVQUJPO௨Λड͚ͯ(SBDFGVM4IVUEPXOΛ࣮ݱ͢ΔͨΊʹҎલ·Ͱ ඞཁͩͬͨ IUUQTHJUIVCDPNBXTBXTOPEFUFSNJOBUJPOIBOEMFS
BXTOPEFUFSNJOBUJPOIBOEMFS BXTOPEFUFSNJOBUJPOIBOEMFSͱʁ🤔 • &$4QPU*OTUBODF͕ऴྃ͢Δࡍʹରͷϊʔυ্Ͱಈ͘1PEΛ(SBDFGVM 4IVUEPXOͤ͞ΔͨΊͷ%BFNPO4FU • LVCFDUMESBJO૬ͷॲཧΛߦͬͯ͘ΕΔ IUUQTHJUIVCDPNBOTJCMFDPMMFDUJPOTDPNNVOJUZLVCFSOFUFT
./(ʹ&$4QPU*OTUBODF͕ରԠ ݄ʹ.BOBHFE/PEF(SPVQͰ&$4QPU*OTUBODF͕ରԠ ͞Εͨ🎉 • BXTOPEFUFSNJOBUJPOIBOEMFS͕ෆཁʹ✨ ◦ ./(୯ମͰLVCFDUMESBJO૬ͷॲཧΛߦͬͯ͘ΕΔΑ͏ʹͳͬͨ • &$JOTUBODFSFCBMBODFSFDPNNFOEBUJPOT👀
◦ ऴྃͷલʹ௨͞ΕΔJOUFSSVQUJPO௨ΑΓઌʹ௨͞ΕΔͷ Ͱʮதஅͷةݥੑ͕ߴ·ͬͨ࣌ʯʹ௨͞ΕΔ ◦ ༨༟ͷ͋Δ͏ͪʹ৽͍͠ΠϯελϯεΛ্ཱͪ͛ͯΠΠײ͡ʹϦόϥϯγ ϯάͯ͘͠ΕΔ ˞ ˞&$JOTUBODFSFCBMBODFSFDPNNFOEBUJPOTIUUQTEPDTBXTBNB[PODPN"84&$MBUFTU6TFS(VJEFSFCBMBODFSFDPNNFOEBUJPOTIUNM
&$4QPU*OTUBODFͷ·ͱΊ • Ͳ͏ͯ͠தஅͰ͖ͳ͍ϫʔΫϩʔυʹΦϯσϚϯυΠϯελϯε ◦ ͑Δͱ͜ΖεϙοτΛ͏ ։ൃڥͰׂ͕εϙοτ • ඞͣෳΠϯελϯελΠϓΛࢦఆ͢Δ͜ͱ ◦
&$ͷࡏݿΕΛͳΔ͙ͨ͘Ί ◦ ͪͳΈʹฐࣾछྨͰӡ༻͍ͯ͠·͕͢Ҏ্େ͖ͳͳ͠ • ΦϯσϚϯυͱൺֱͯ͠&$Πϯελϯεʹ͔͔ΔίετΛׂ΄Ͳݮ Ͱ͖ͨ💰
5FSSBGPSNͱ,VCFSOFUFTͲͪΒͰཧ͢Δ͔ʁ
5FSSBGPSNͱ,VCFSOFUFT ࠓ·Ͱ*OHSFTTϦιʔε4FSWJDF UZQF-PBE#BMBODFS Λ࡞͢Δͱɺ ,VCFSOFUFTͷϥΠϑαΠΫϧʹඥ͍ͨ&-#͕࡞͞Ε͍ͯͨ ,VCFSOFUFT 5FSSBGPSN -JTUFS3VMF 5BSHFU(SPVQ "QQMJDBUJPO-PBE#BMBODFS
4FSWJDF 1PE 4FDVSJUZ (SPVQ 3PVUF "-#*OHSFTT$POUSPMMFSΛ༻ͯ͠*OHSFTTΛ࡞ͨ࣌͠ͷϦιʔεͷཧ "$.
5FSSBGPSNͱ,VCFSOFUFT ,VCFSOFUFTͷϥΠϑαΠΫϧʹඥͮ͘ͱԿ͕͔ʁ • Ϋϥελ֎ͷͷ5FSSBGPSNͰཧ͍ͨ͠ ◦ 71$3%4ͳͲ"84ϦιʔεͷཧΛ5FSSBGPSNʹد͍ͤͯΔͨΊ ◦ Ұํ,VCFSOFUFTͷϦιʔε,VCFSOFUFTϚχϑΣετͰཧ͍ͨ͠ • ۩ମతʹ"-#ͷઃఆ5FSSBGPSNͰཧ͍ͨ͠
◦ 5FSSBGPSNͰ࡞ͬͨ"$.ͷূ໌ॻΛ͍͍ͨ ▪ ΞλονͰ͖Δ͚Ͳূ໌ॻͷ࡞5FSSBGPSNͰΔͷͰʜ ◦ 5FSSBGPSNͰ࡞ͬͨ4(Λ͍͍ͨ ▪ ΞλονͰ͖Δ͚Ͳ4(ͷ࡞5FSSBGPSNͰΔͷͰʜ
"84-PBE#BMBODFS$POUSPMMFS IUUQTHJUIVCDPNLVCFSOFUFTTJHTBXTMPBECBMBODFSDPOUSPMMFS • ݩʑ"84"-#*OHSFTT$POUSPMMFSͩͬͨͷ • "-#ͱ/-#ͲͪΒͭͷίϯτϩʔϥʔͰཧՄೳ • ৽͍͠$VTUPN3FTPVSDFͰ͋Δ5BSHFU(SPVQ#JOEJOH͕Ճ "84-PBE#BMBODFS$POUSPMMFSͱʁ🤔
5BSHFU(SPVQ#JOEJOH 5BSHFU(SPVQ#JOEJOHͱʁ🤔 • ࠓ·Ͱ,VCFSOFUFTଆͰඞཁͳϦιʔε͕શͯ࡞͞Ε͍ͯͨ ◦ "-#5BSHFU(SPVQ-JTUFS3VMF ◦ ͦͷͨΊ্هϦιʔεͷཧ͕,VCFSOFUFTʹඥ͍͍ͯͨ • 5BSHFU(SPVQ#JOEJOH5(ͱ4FSWJDFΛඥ͚ΔͨΊͷػೳ
◦ 㲈5FSSBGPSNͳͲͰ࡞ͨ͠5BSHFU(SPVQΛࢦఆ͢Δ͜ͱͰ ,VCFSOFUFTଆʹϥΠϑαΠΫϧ͕ඥ͚ͮΔඞཁ͕ͳ͘ͳΔ
"84-PBE#BMBODFS$POUSPMMFS ԼهͷΑ͏ʹΫϥελ֎ͷϦιʔε5FSSBGPSNͰ࡞Ͱ͖Δ Kubernetes Terraform -JTUFS3VMF 5BSHFU(SPVQ "QQMJDBUJPO-PBE#BMBODFS 5BSHFU(SPVQ#JOEJOH 4FSWJDF 1PE
-JTUFS3VMF 5BSHFU(SPVQ 4FSWJDF 1PE ˞5BSHFU5ZQF͕JQͷ߹ʹ5(͔Β1PEͷ*1ΞυϨε͕ࢦఆ͞ΕΔ 4FDVSJUZ (SPVQ 3PVUF 5BSHFU(SPVQ#JOEJOH3FTPVSDFΛ༻ͨ͠Ϧιʔεͷཧ "$. πʔϧͷཧରͷڥք͕͔Γ͘͢ͳͬͨ👍
"84-PBE#BMBODFS$POUSPMMFSͷ·ͱΊ • 5BSHFU(SPVQ#JOEJOH3FTPVSDFͰ5FSSBGPSNͱ,VCFSOFUFTͷڥք Λ໌֬ʹ ◦ ࠓճͷΑ͏ͳߏͰӡ༻͍ͯ͠Δ߹ʹͱͯศར • "84"-#*OHSFTT$POUSPMMFS͔ΒͷϚΠάϨʔγϣϯ؆୯ ◦ WҎ্ޙํޓੑ͕อͨΕ͍ͯΔͷͰεϜʔζʹϚΠάϨʔ
γϣϯՄೳ ◦ ͨͩ͠Ұ෦੍͕͋ΔͨΊυΩϡϝϯτཁ֬ೝ
*OHSFTT$POUSPMMFSͷΈ߹Θͤ
"-#Ͱ՝ʹͳͬͨͱ͜Ζ BXTMPBECBMBODFSDPOUSPMMFSʹΑΓΠΠײ͡ʹϦιʔεΛཧͰ͖ΔΑ͏ʹ ͳΓ·͕ͨ͠ɺ"-# *OHSFTT ͚ͩͰগ͠ෆ҆ͳ෦͕͋Γ·ͨ͠ /'4 TTITFSWFS 1PE 1)1"QQ 4FSWJDF
UZQF-PBE#BMBODFS *OHSFTT 44)ϩάΠϯͯ͠ίʔυΛฤू 7PMVNF.PVOU IPNF\VTFS^SFUUZJOEFYQIQ ϢʔβYαʔϏεຖʹ࡞͞ΕΔϦιʔε 4FSWJDF WBSXXXIUNMJOEFYQIQ TTITFSWFSͰฤूͨ͠ίʔυΛ7PMVNF.PVOU IUUQTEFW\VTFS^TFSWJDFSFUUZNF ͷΑ͏ͳ63-ʹΞΫηεͯ֬͠ೝ
"-#Ͱ՝ʹͳͬͨͱ͜Ζ BXTMPBECBMBODFSDPOUSPMMFSʹΑΓΠΠײ͡ʹϦιʔεΛཧͰ͖ΔΑ͏ʹ ͳΓ·͕ͨ͠ɺ"-# *OHSFTT ͚ͩͰগ͠ෆ҆ͳ෦͕͋Γ·ͨ͠ /'4 TTITFSWFS 1PE 1)1"QQ 4FSWJDF
UZQF-PBE#BMBODFS *OHSFTT 44)ϩάΠϯͯ͠ίʔυΛฤू 7PMVNF.PVOU IPNF\VTFS^SFUUZJOEFYQIQ ϢʔβYαʔϏεຖʹ࡞͞ΕΔϦιʔε 4FSWJDF WBSXXXIUNMJOEFYQIQ TTITFSWFSͰฤूͨ͠ίʔυΛ7PMVNF.PVOU IUUQTEFW\VTFS^TFSWJDFSFUUZNF ͷΑ͏ͳ63-ʹΞΫηεͯ֬͠ೝ
"-#Ͱ՝ʹͳͬͨͱ͜Ζ ։ൃऀͦΕͧΕԼهͷΑ͏ͳܗࣜͰಠཱͨ͠ڥΛ͓࣋ͬͯΓɺϗετ໊ ͰόοΫΤϯυΛৼΓ͚͍ͯ·͢ɻ IUUQT\VTFS^\TFSWJDF^GPPSFUUZNF ˞ܗࣜࣅ͍ͯ·্͕͢هͷϗετ໊Սۭͷͷ ։ൃऀ αʔϏε "-#ʹొͰ͖Δϧʔϧͷ্ݶ EFGBVMU ͩͱΓͳ͘ͳΓͦ͏ʜ
LVCFSOFUFTJOHSFTT /(*/9 ˞ϗετ໊Սۭͷͷ Kubernetes 1PE BMJDFSFUUZ *OHSFTT BMJDFSFUUZ 4FSWJDF BMJDFSFUUZ
1PE OHJOYJOHSFTT 1PE CPCSFUUZ *OHSFTT CPCSFUUZ 4FSWJDF CPCSFUUZ BMJDFSFUUZGPPSFUUZNF CPCSFUUZGPPSFUUZNF "QQMJDBUJPO -PBE#BMBODFS GPPSFUUZNF Ұ୴ͯ͢ͷϦΫΤετΛ"-#Ͱड͚ͯͦͷ··/(*/9ʹྲྀ͠ɺ࣮ࡍͷ ϗετϕʔεͷϧʔςΟϯά/(*/9ଆͰߦ͏ "-#Λ׆༻ͭͭ͠"-#ͷ੍Λճආ͢Δ͜ͱ͕Ͱ͖ͨ👍 "$. 44-5FSNJOBUJPO
LVCFSOFUFTJOHSFTT /(*/9 ͷ·ͱΊ • ػೳ͕Γͳ͍࣌ෳͷ*OHSFTT$POUSPMMFSΛΈ߹Θͤͯྑ͍ͱ͜ औΓ͢ΔબࢶΞϦ ◦ *OHSFTT$POUSPMMFSʹΑͬͯͦΕͧΕ͑Δػೳ͕ҟͳΔͷͰཁ݅ ʹ߹Θͳ͍έʔεෳ͏બࢶ ▪
,VCFSOFUFT*OHSFTT$POUSPMMFST4QSFBE4IFFUT ◦ ,VCFSOFUFT্Ͱ*OHSFTT$MBTT ˞ Λ༻͍͚ͯ͠Մೳ • ͨͩ͠વཧ͢Δର͕૿͑ΔͨΊͦͷҙ ˞*OHSFTTDMBTTIUUQTLVCFSOFUFTJPEPDTDPODFQUTTFSWJDFTOFUXPSLJOHJOHSFTTJOHSFTTDMBTT
ར༻ऀ૿Ճʹ͏ϢʔβཧͷࡶԽ
ϢʔβՃ࡞ۀ ৽͘͠։ൃڥ Ϣʔβ ΛՃ͢Δ࣌ͷखॱ͜Μͳײ͡Ͱͨ͠ ͓खͷ3VCZεΫϦϓτͰ:".-ϑΝΠϧΛੜ͠BQQMZ B Ұ෦ͷΛग़͚͠ΔͨΊʹઃఆ༻ͷKTPOϑΝΠϧΛ৯Θ͍ͤͯͨ C ʮಛఆͷ݅Ͱ͜ͷΛग़͢ʯͳͲগ͠ෳࡶͳॲཧ͕͋ͬͨ
44)αʔό্Ͱ͓खͷDSFBUF@VTFSTIΛ༻ͯ͠44)ϢʔβΛՃ શ෦୲ऀ͕ϩʔΧϧڥͰख࡞ۀ😇 ϛεى͜Δ͠ϨϏϡʔͰ͖ͳ͍ͷͰͳΜͱ͔͍ͨ͠ʜ
"OTJCMFLTNPEVMF Ansible k8s module ͱʁ🤔 • ,VCFSOFUFT্ͷϦιʔεΛཧ͢ΔͨΊͷϞδϡʔϧ OPU&,4 •
௨ৗͷ"OTJCMFͱಉ͡Α͏ʹ+JOKBςϯϓϨʔτ͕͑Δ ◦ XIFOJGGPSͳͲ͑ΔͷͰෳࡶͳͷग़͚͕͠Մೳ IUUQTHJUIVCDPNBOTJCMFDPMMFDUJPOTDPNNVOJUZLVCFSOFUFT
"OTJCMFLTNPEVMF "OTJCMFͳͷͰ+JOKBςϯϓϨʔτ͕͑Δʜʂ
"OTJCMFLTNPEVMF "OTJCMFͳͷͰJG͕͑Δʜʂ • ྫ͑νʔϜ"ͷϝϯόʔʹ"1*,FZ " Λઃఆ͍ͨ͠߹ͳͲ
"OTJCMFLTNPEVMF ݱࡏԼهͷΑ͏ʹมϑΝΠϧʹ໊લͱඞཁͳڥΛॻ͖͚ͩ͢ͰՃՄೳ ։ൃڥՃআͷ࡞ۀ࣌ؒख͕ܹؒݮͨ͠👍 • OBNF ։ൃऀ໊ ◦ 63-Ϧιʔεͷࣝผࢠ •
HJUIVC (JU)VCΞΧϯτ໊ ◦ 44)αʔόͷެ։ݤऔಘ༻ ◦ IUUQTHJUIVCDPN\VTFSOBNF^LFZT • NJTTJPO@UZQF ෦ॺ໊ ◦ Ұ෦ͷͷग़͚͠ʹ༻ • TFSWJDFT Ճ͢ΔαʔϏε໊ ◦ ෳͰҰ෦ͰՄ
"OTJCMFLTNPEVMFͷ·ͱΊ • ࠓճͷΑ͏ͳέʔεͰ"OTJCMFLTNPEVMF͕Ϛον͍ͯͨ͠ ◦ ,VCFSOFUFTϦιʔεͷૢ࡞ 44)αʔό্Ͱͷૢ࡞ͳͲ ◦ ͨͩ͜Ε͔ͳΓϨΞέʔεͳؾ͕͢Δ • ҰํͰେͷέʔεͰগ͠ॏ͗͢ΔΑ͏ͳؾʜ
◦ ྫ֤͑σϓϩΠεςʔδͰΛग़͚͠ΔͳΒLVTUPNJ[F )FMNͰेͦ͏
։ൃ༻%#ͷӡ༻ࣗಈԽ
։ൃ༻%#ʹ͍ͭͯ • "NB[PO"VSPSBͷεφοϓγϣοτػೳΛͬͯຊ൪%#͔Βෳ ◦ σʔλͷΛอ͍ͪͨͷͰ݄ʹߋ৽ ◦ ಠཱͨ͠ΠϯελϯεͰ͋ΔͨΊຊ൪ʹӨڹΛ༩͑ͳ͍ • ݸਓใʹ֘͢ΔσʔλϚεΩϯά ◦
ϝʔϧΞυϨεి൪߸ͳͲͦͷ··Ͱͤͳ͍ ◦ ෆཁͳςʔϒϧ536/$"5&͠ɺ։ൃ༻ʹඞཁͳσʔλ 61%"5&ΛͬͯμϛʔͷʹϚεΩϯά
DSFBUF@EFW@ECTI ຊ൪ͷεφοϓγϣοτ͔Β3%4ΛϦετΞ σʔλͷϚεΩϯά 536/$"5&61%"5& ։ൃ༻%#ͷ%/4ϨίʔυΓସ͑
ߋ৽લͷ3%4Λআ ࠓ·Ͱͷߋ৽ํ๏ • ൿͷεΫϦϓτDSFBUF@EFW@ECTIΛ୲ऀ͕खݩͰ࣮ߦ͍ͯͨ͠ ◦ #BTI "84$-* ◦ ௨ͳ͍ͷͰλʔϛφϧΛݟͯਐ֬ೝ ◦ ԿΒ͔ͷཧ༝Ͱࣦഊ͢Δ࣌Α͋͘Δ ͦͷࡍ࠷ॳ͔ΒΓ͠😇 ͔͔࣌ؒͬͯͭΒ͍ʜ
"844UFQ'VODUJPOTͰղܾͰ͖ΔͷͰʁ
"844UFQ'VODUJPOT • -BNCEBͳͲͷ֤छ"84αʔϏεͰϫʔΫϑϩʔ͕࡞ΕΔαʔϏε • ݅ذฒྻॲཧϧʔϓͳͲΛ࣮ݱͰ͖Δ • ʮঝೝ͢Δ·ͰಛఆͷॲཧΛػʯͳͲΈࠐΊΔ "844UFQ'VODUJPOTͱʁ🤔 IUUQTBXTBNB[PODPNKQTUFQGVODUJPOT
"844UFQ'VODUJPOT εφοϓγϣοτΛ࡞ B ྃ·Ͱػ 4MFFQ -PPQ εφοϓγϣοτ͔ΒΠϯελϯεΛϦετΞ
B ྃ·Ͱػ 4MFFQ -PPQ ϚεΩϯά42-Λྲྀ͢ B %#"ͳΒ%#"༻ͷ42-Λྲྀ͢ *G DSFBUF@EFW@ECTIͷஔ͖͑ʹͪΐ͏Ͳ͍͍ͷͰʁ
։ൃ༻%#ࣗಈߋ৽ϫʔΫϑϩʔ &WFOU#SJEHF DSPO 4UFQ'VODUJPOT -BNCEB ݺͼग़͠ ຊ൪3%4 ։ൃ༻3%4 4MBDL ֤छ௨
3PVUF ݄Ͱ࣮ߦ εφοϓγϣοτऔಘ ϦετΞϚεΩϯά ϨίʔυΓସ͑
࡞࣌ͷϙΠϯτ • -BNCEBࡉ͔۠ͬͯ͘࡞ ◦ 3%4ͷεςʔλεऔಘεφοϓγϣοτऔಘϚεΩϯάͳͲ ◦ -BNCEBͷ࣮ߦ੍࣌ؒݶ ͋Δ
࡞࣌ͷϙΠϯτ • ϦτϥΠͰ͖ΔΑ͏ʹ͓ͯ͘͠ ◦ 4UFQ'VODUJPOTͷ3FUSZϑΟʔϧυͰϦτϥΠઃఆ͕Մೳ ▪ -BNCEBͷىಈࣦഊ࣌ͳͲΑ͠ͳʹ࠶࣮ߦͯ͘͠ΕΔ ▪ ༧Ί-BNCEBଆͰ࠶࣮ߦ͞ΕΔ͜ͱΛߟྀͨ͠ίʔυΛॻ͘
ಋೖͯ͠Έͯ • 4UFQ'VODUJPOTͰΤϥʔϋϯυϦϯάͰ͖Δͷ͕ͱͯྑ͍ ◦ ྫ͑ಛఆͷ-BNCEBͷ্ཱͪ͛ʹࣦഊ͚ͨ࣌ͦͩ͜͠ΓͤΔ • αʔόϨεͳͷͰӡ༻ෛՙ͕গͳ͍ • DSFBUF@EFW@ECTI͕ඞཁͳ͘ͳͬͨ ◦
ͨΓલ͚ͩͲҰ൪େ͖͍ ◦ ͦͦ͜͜ͷසͰࣦഊ͢ΔͷͰׂͱӡ༻ෛՙ͕ߴ͔ͬͨʜ ಋೖͯ͠ΈͯΑ͔ͬͨ͜ͱ
͋Γ͕ͱ͏͍͟͝·ͨ͠