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
究極のInfrastructure as Codeを目指して
Search
Shin'ya Ueoka
April 24, 2020
Technology
6
5k
究極のInfrastructure as Codeを目指して
Infra Study Meetup #1「Infrastructure as Code」のLT資料です
https://forkwell.connpass.com/event/171560/
Shin'ya Ueoka
April 24, 2020
Tweet
Share
More Decks by Shin'ya Ueoka
See All by Shin'ya Ueoka
kintone開発組織のDevOpsへの移り変わりと実践
ueokande
1
340
運用できる開発組織の作り方 ― kintone開発組織のストーリー
ueokande
0
110
英語ができなかった自分達が、グローバルチーム立ち上げに挑戦!?
ueokande
1
950
技術書典12協賛企業サイボウズゲストトーク
ueokande
0
280
サービス間をテストするフレームワーク集
ueokande
0
330
kintone.comを支える技術
ueokande
0
210
SLO策定とアラート設定までの長い道のり
ueokande
6
4.8k
オンラインイベントを 半年運営して気づいたこと
ueokande
0
110
インフラ開発チームがプロダクトチームに体験入部したはなし
ueokande
1
710
Other Decks in Technology
See All in Technology
Connect 100+を支える技術
kanyamaguc
0
160
Node-REDのFunctionノードでMCPサーバーの実装を試してみた / Node-RED × MCP 勉強会 vol.1
you
PRO
0
130
FOSS4G 2025 KANSAI QGISで点群データをいろいろしてみた
kou_kita
0
320
Beyond Kaniko: Navigating Unprivileged Container Image Creation
f30
0
110
Fabric + Databricks 2025.6 の最新情報ピックアップ
ryomaru0825
1
160
KubeCon + CloudNativeCon Japan 2025 Recap
ren510dev
1
330
Tech-Verse 2025 Global CTO Session
lycorptech_jp
PRO
0
1.3k
mrubyと micro-ROSが繋ぐロボットの世界
kishima
3
390
生成AIで小説を書くためにプロンプトの制約や原則について学ぶ / prompt-engineering-for-ai-fiction
nwiizo
6
3.8k
あなたの声を届けよう! 女性エンジニア登壇の意義とアウトプット実践ガイド #wttjp / Call for Your Voice
kondoyuko
4
530
Understanding_Thread_Tuning_for_Inference_Servers_of_Deep_Models.pdf
lycorptech_jp
PRO
0
150
KiCadでPad on Viaの基板作ってみた
iotengineer22
0
240
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
7
500
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
Fireside Chat
paigeccino
37
3.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Agile that works and the tools we love
rasmusluckow
329
21k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
4 Signs Your Business is Dying
shpigford
184
22k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Done Done
chrislema
184
16k
Six Lessons from altMBA
skipperchong
28
3.9k
Transcript
ڀۃͷ*OGSBBT$PEFΛ ࢦͯ͠ Infra Study Meetup #1 “Infrastructure as Code” αΠϘζגࣜձࣾ
@ueokande
.F ‰্Ԭ ਅ (@ueokande) ‰αΠϘζגࣜձࣾ ‰ٳOSSจষΛॻ͍ͨΓ ‰kintone.comͱ͍͏αʔϏε ͷ։ൃɾӡ༻Λ͍ͯ͠·͢ 2
LJOUPOFDPN ‰γεςϜΛ؆୯ʹ࡞ΕΔB2B͚αʔϏε ‰ࠃ֎15,000+ࣾͰಋೖ ‰άϩʔόϧࢢ͚AWS্Ͱӡ༻ 3
LJOUPOFDPNͷߏ 4 ֤αʔϏε͕ར༻͢Δ ϚωʔδυαʔϏε Amazon EKS Service A Service B
Service C Service D Service E Service F Service G Service H LJOUPOFDPNΛߏ ͢ΔαʔϏε܈ ‰͜ͷߏΛInfra as CodeͰߏஙɾӡ༻ Ϛωʔδυ,VCFSOFUFT
‰Infra as Codeʹ͓͍ͯɺιʔείʔυ։ൃऀ͕ ࡞Γ͍ͨཧঢ়ଶ (࠷ऴతͳΠϯϑϥߏ) ‰γεςϜݱࡏͷঢ়ଶͱཧঢ়ଶͷࠩΛຒΊΔ • ͦΕΛ͢Δͷ͕terraformAnsible ཧঢ়ଶͷऩଋ 5
ద༻ޙͷ ঢ়ଶ ݱࡏͷ ঢ়ଶ ཧ
LJOUPOFDPNͷϨϙδτϦ ‰ϞϊϨϙʹAWSͷߏͱαʔϏεΛؚΉ • ϨϙδτϦͷঢ়ଶ͕Πϯϑϥͷཧঢ়ଶ 6 Amazon EKS Service A Service
B Service C Service D Service E Service F Service G Service H CloudFormation Service A Service Z ιʔείʔυʢϞϊϨϙʣ $MPVE'PSNBUJPO͕ ཧঢ়ଶʹΠϯϑϥΛઃఆ ,VCFSOFUFT্ͷαʔϏε ࠩݕˍߋ৽͍ͨ͠ ͜ͷࠩΛ Ͳ͏ຒΊΔ͔ʁ
αʔϏεͷߋ৽ ‰Ռͷࠩݕ͕ͯࠩ͋͠ΕσϓϩΠ • ΠϝʔδΛߏ͢ΔϑΝΠϧͷϋογϡΛΠϝʔδλάͱ͢Δ • ιʔείʔυ͕มߋ͞ΕΔͱϦϏϧυͯ͠docker push 7 ϋογϡؔ H
( ) %PDLFSpMF ઃఆ ϑΝΠϧ . . spec: containers: - name: my-service-a image: quay.io/cybozu/my-service-a:BKCXSIF3Z3GEH2OEIM5BLEQBP4 ιʔε ίʔυ ιʔείʔυ͕มߋ͞ΕΔͱ Πϝʔδλά৽͘͠ͳΔ ϥΠϒϥϦ .
ྫϕʔεΠϝʔδͷ+7.ߋ৽ ϕʔεΠϝʔδΛߋ৽ʢηΩϡϦςΟରԠͳͲʣ (1) ϕʔεΠϝʔδͷDockerfileΛߋ৽ (2) Dockerfile͔ΒϕʔεΠϝʔδΛϦϏϧυ (3) ϕʔεΠϝʔδ͔Β֤छαʔϏεΛϦϏϧυ (4) ΠϝʔδλάͰdocker
push (5) λάͷΠϝʔδΛkubectl apply 8
ϕʔεΠϝʔδͷߋ৽ 9 Service A ϕʔεΠϝʔδ Service B ιʔείʔυʢϞϊϨϙʣ Amazon EKS
4FSWJDF " 4FSWJDF # 4FSWJDF $ ߋ৽ ֤αʔϏεΛϦϏϧυ ʢdocker build && docker pushʣ ৽͍͠ΠϝʔδΛల։ ʢkubectl applyʣ 4FSWJDF " 4FSWJDF # 4FSWJDF $ σϓϩΠ ύΠϓϥΠϯ ΠϝʔδλάΛιʔείʔυ͔Βܭࢉ ϕʔε Πϝʔδ
ྫϕʔεΠϝʔδͷ+7.ߋ৽ ϕʔεΠϝʔδΛߋ৽ʢηΩϡϦςΟରԠͳͲʣ (1) ϕʔεΠϝʔδͷDockerfileΛߋ৽ (2) Dockerfile͔ΒϕʔεΠϝʔδΛϦϏϧυ (3) ϕʔεΠϝʔδ͔Β֤छαʔϏεΛϦϏϧυ (4) ΠϝʔδλάͰdocker
push (5) λάͷΠϝʔδΛkubectl apply 10 ࣮ࡍͷखॱ ͜Ε͚ͩ ͋ͱࣗಈͰ ຊ൪ʹద༻
11
CloudFormationͷద༻ KubernetesϚχϑΣετͷద༻ ςετ࣮ߦ JVMαʔϏεΛϦϏϧυˍ ৽͍͠ΠϝʔδλάͰdocker push ৽͍͠ΠϝʔδλάΛద༻ JVMϕʔεΠϝʔδΛϏϧυ JVMҎ֎ͷαʔϏε
ڀۃͷ*OGSBBT$PEFΛࢦͯ͠ ‰ιʔείʔυࠓͷΠϯϑϥͷঢ়ଶΛද͢ ‰ίʔυΛมߋ͢Δɺ͢ͳΘͪຊ൪ద༻ ‰ϩʔϧόοΫgit revertͯ͠Ϛʔδ͢Δ͚ͩ 13