$30 off During Our Annual Pro Sale. View Details »
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
5.1k
究極の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
エンジニアが主導できる組織づくり ー 製品と事業を進化させる体制へのシフト
ueokande
1
1.2k
どこで動かすか、誰が動かすか 〜 kintoneのインフラ基盤刷新と運用体制のシフト 〜
ueokande
0
280
kintone開発組織のDevOpsへの移り変わりと実践
ueokande
3
1.2k
運用できる開発組織の作り方 ― kintone開発組織のストーリー
ueokande
0
160
英語ができなかった自分達が、グローバルチーム立ち上げに挑戦!?
ueokande
1
980
技術書典12協賛企業サイボウズゲストトーク
ueokande
0
290
サービス間をテストするフレームワーク集
ueokande
0
350
kintone.comを支える技術
ueokande
0
220
SLO策定とアラート設定までの長い道のり
ueokande
6
4.9k
Other Decks in Technology
See All in Technology
ページの可視領域を算出する方法について整理する
yamatai1212
0
160
なぜフロントエンド技術を追うのか?なぜカンファレンスに参加するのか?
sakito
9
2k
Claude Code Getting Started Guide(en)
oikon48
0
150
useEffectってなんで非推奨みたいなこと言われてるの?
maguroalternative
9
6.2k
Databricksによるエージェント構築
taka_aki
1
120
Eight Engineering Unit 紹介資料
sansan33
PRO
0
5.7k
私のRails開発環境
yahonda
0
180
“決まらない”NSM設計への処方箋 〜ビットキーにおける現実的な指標デザイン事例〜 / A Prescription for "Stuck" NSM Design: Bitkey’s Practical Case Study
bitkey
PRO
1
360
原理から解き明かす AIと人間の成長 - Progate BAR
teba_eleven
2
300
MCP・A2A概要 〜Google Cloudで構築するなら〜
shukob
0
160
eBPFとwaruiBPF
sat
PRO
4
1.6k
バグハンター視点によるサプライチェーンの脆弱性
scgajge12
2
510
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
6.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
700
A Tale of Four Properties
chriscoyier
162
23k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
How to Ace a Technical Interview
jacobian
280
24k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.1k
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