Slide 1

Slide 1 text

ڀۃͷ*OGSBBT$PEFΛ ໨ࢦͯ͠ Infra Study Meetup #1 “Infrastructure as Code” αΠϘ΢ζגࣜձࣾ @ueokande

Slide 2

Slide 2 text

.F ‰্Ԭ ਅ໵ (@ueokande) ‰αΠϘ΢ζגࣜձࣾ ‰ٳ೔͸OSS΍จষΛॻ͍ͨΓ ‰kintone.comͱ͍͏αʔϏε
 ͷ։ൃɾӡ༻Λ͍ͯ͠·͢ 2

Slide 3

Slide 3 text

LJOUPOFDPN ‰γεςϜΛ؆୯ʹ࡞ΕΔB2B޲͚αʔϏε ‰ࠃ಺֎15,000+ࣾͰಋೖ ‰άϩʔόϧࢢ৔޲͚͸AWS্Ͱӡ༻ 3

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

‰Infra as Codeʹ͓͍ͯɺιʔείʔυ͸։ൃऀ͕
 ࡞Γ͍ͨཧ૝ঢ়ଶ (࠷ऴతͳΠϯϑϥߏ੒) ‰γεςϜ͸ݱࡏͷঢ়ଶͱཧ૝ঢ়ଶͷࠩ෼ΛຒΊΔ • ͦΕΛ͢Δͷ͕terraform΍Ansible ཧ૝ঢ়ଶ΁ͷऩଋ 5 ద༻ޙͷ ঢ়ଶ ݱࡏͷ ঢ়ଶ ཧ૝

Slide 6

Slide 6 text

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্ͷαʔϏε΋ ࠩ෼ݕ஌ˍߋ৽͍ͨ͠ ͜ͷࠩ෼Λ Ͳ͏ຒΊΔ͔ʁ

Slide 7

Slide 7 text

αʔϏεͷߋ৽ ‰੒Ռ෺ͷࠩ෼ݕ஌ͯࠩ͠෼͕͋Ε͹σϓϩΠ • ΠϝʔδΛߏ੒͢ΔϑΝΠϧͷϋογϡ஋ΛΠϝʔδλάͱ͢Δ • ιʔείʔυ͕มߋ͞ΕΔͱϦϏϧυͯ͠docker push 7 ϋογϡؔ਺ H ( ) %PDLFSpMF ઃఆ ϑΝΠϧ . . spec: containers: - name: my-service-a image: quay.io/cybozu/my-service-a:BKCXSIF3Z3GEH2OEIM5BLEQBP4 ιʔε ίʔυ ιʔείʔυ͕มߋ͞ΕΔͱ Πϝʔδλά΋৽͘͠ͳΔ ϥΠϒϥϦ .

Slide 8

Slide 8 text

ྫϕʔεΠϝʔδͷ+7.ߋ৽ ϕʔεΠϝʔδΛߋ৽ʢηΩϡϦςΟରԠͳͲʣ (1) ϕʔεΠϝʔδͷDockerfileΛߋ৽ (2) Dockerfile͔ΒϕʔεΠϝʔδΛϦϏϧυ (3) ϕʔεΠϝʔδ͔Β֤छαʔϏεΛϦϏϧυ (4) ΠϝʔδλάͰdocker push (5) λάͷΠϝʔδΛkubectl apply 8

Slide 9

Slide 9 text

ϕʔεΠϝʔδͷߋ৽ 9 Service A ϕʔεΠϝʔδ Service B ιʔείʔυʢϞϊϨϙʣ Amazon EKS 4FSWJDF " 4FSWJDF # 4FSWJDF $ ߋ৽ ֤αʔϏεΛϦϏϧυ ʢdocker build && docker pushʣ ৽͍͠ΠϝʔδΛల։
 ʢkubectl applyʣ 4FSWJDF " 4FSWJDF # 4FSWJDF $ σϓϩΠ
 ύΠϓϥΠϯ ΠϝʔδλάΛιʔείʔυ͔Βܭࢉ ϕʔε Πϝʔδ

Slide 10

Slide 10 text

ྫϕʔεΠϝʔδͷ+7.ߋ৽ ϕʔεΠϝʔδΛߋ৽ʢηΩϡϦςΟରԠͳͲʣ (1) ϕʔεΠϝʔδͷDockerfileΛߋ৽ (2) Dockerfile͔ΒϕʔεΠϝʔδΛϦϏϧυ (3) ϕʔεΠϝʔδ͔Β֤छαʔϏεΛϦϏϧυ (4) ΠϝʔδλάͰdocker push (5) λάͷΠϝʔδΛkubectl apply 10 ࣮ࡍͷखॱ͸ ͜Ε͚ͩ ͋ͱ͸ࣗಈͰ ຊ൪ʹద༻

Slide 11

Slide 11 text

11

Slide 12

Slide 12 text

CloudFormationͷద༻ KubernetesϚχϑΣετͷద༻ ςετ࣮ߦ JVMαʔϏεΛϦϏϧυˍ ৽͍͠ΠϝʔδλάͰdocker push ৽͍͠ΠϝʔδλάΛద༻ JVMϕʔεΠϝʔδΛϏϧυ JVMҎ֎ͷαʔϏε

Slide 13

Slide 13 text

ڀۃͷ*OGSBBT$PEFΛ໨ࢦͯ͠ ‰ιʔείʔυ͸ࠓͷΠϯϑϥͷঢ়ଶΛද͢ ‰ίʔυΛมߋ͢Δɺ͢ͳΘͪຊ൪ద༻ ‰ϩʔϧόοΫ΋git revertͯ͠Ϛʔδ͢Δ͚ͩ 13