Slide 1

Slide 1 text

d๻ͱՆΛҰॹʹτΡΪϟβʔ͠·ઐՊʂʂฤd GMO Pepabo, Inc. Pࢁ 2015/07/04 Pepabo Tech Conference in Fukuoka ϖύϘʹ͓͚Δ
 0QFO4UBDL)BDLT

Slide 2

Slide 2 text

Ͳ΋ɺ΅͘Ͱ͢ 1ࢁ (.01FQBCP*OD !QZBNB UFOTOBQPODPN

Slide 3

Slide 3 text

"HFOEB 0QFO4UBDLJT /ZBIJT IBDLT ࠓ΍ͬͯΔ͜ͱ

Slide 4

Slide 4 text

0QFO4UBDLJT Ϋϥ΢υج൫ 7.Λ؅ཧ͢ΔͨΊͷ
 ιϑτ΢ΣΞ܈

Slide 5

Slide 5 text

ߏ੒ਤ /PWB"1* )PSJ[PO ,FZTUPOF /PWB$PNQVUF ෺ཧϗετ /FVUSPO $JOEFS HMBODF ͜Μͳ7.࡞Γ͍ͨ ͜ͷϢʔβʔݖݶ ͋Δʁ ࢖༻͢ΔΠϝʔδ 04͸͜Ε σΟεΫ͸͜͜Λ ࢖͏ $16ɼϝϞϦ͸ ͜Ε ࢖༻͢ΔωοτϫʔΫ͸͜Ε ΦϨΦϨʂԶͩΑʂ

Slide 6

Slide 6 text

ϖύϘ͕ղܾͨ͠ ͔ͬͨ͜ͱ

Slide 7

Slide 7 text

ݸʑͷαʔϏεͰಠࣗʹΠϯϑϥΛߏங

Slide 8

Slide 8 text

αʔόΛؾܰʹ࡞Γ͍ͨ ຐ๏ͷΑ͏ʹ؆୯ʹ αʔό࡞Γ͍ͨΘ͊ɻɻ

Slide 9

Slide 9 text

“2014/05/01 Issueݐઃ αʔϏε͝ͱͰ͸ͳ͘ɺ
 શࣾڞ௨ͷΠϯϑϥج൫Λ࡞Δͧʂʂʂʂ

Slide 10

Slide 10 text

/ZBI

Slide 11

Slide 11 text

/ZBIJT ϖύϘͷԾ૝ج൫Πϯϑϥ ͜Ε·ͰαʔϏε͝ͱʹઃ͚͍ͯͨ
 ΠϯϑϥΛ0QFO4UBDLͰ౷߹

Slide 12

Slide 12 text

/ZBIJT IUUQXXXTMJEFTIBSFOFUVNF@QCUDCPC IUUQTXXXZPVUVCFDPNXBUDI W(618.;CP1T6

Slide 13

Slide 13 text

/ZBIͷ༝དྷ /PBIʹܾ·Δ தೋපͬΆ͍ͬͯͳΔ Ұจࣈม͑ͯ/ZBIʹ͠Α͏ͥͬͯͳΔ ޙ෇Ͱ͔͍͍ͬ͜౰ͯࣈߟ͑Α͏ͥͬͯͳΔ /ZBIJTZFUBOPUIFSIPTUJOH

Slide 14

Slide 14 text

/ZBI αʔϏε͝ͱʹςφϯτΛ ෼ׂ͠ɺݖݶ΍
 ϦιʔεΛ؅ཧ

Slide 15

Slide 15 text

ߏ੒؅ཧ

Slide 16

Slide 16 text

“ http://techlife.cookpad.com/entry/2015/05/12/080000

Slide 17

Slide 17 text

JUBNBF $JOEFS /PWB $PNQVUF /FVUSPO /PWB $PNQVUF /PWB $PNQVUF /PWB $PNQVUF ŠŠ ŠŠ ŠŠ ŠŠ ŠŠ ŠŠ ŠŠ ŠŠ ŠŠ (JUͰόʔδϣϯ؅ཧ OPWBDPOG ʜ OFVUSPODPOG ʜ DJOEFSDPOG ʜ TFSWJDFOPWBSFTUBSU TFSWJDFOFVUSPOSFTUBSU TFSWJDFDJOEFSSFTUBSU

Slide 18

Slide 18 text

JUBNBF OPWBOPEF CBTFSPMF NBDLFSFMSFDJQF OPWBSPMF DPNQVUFSFDJQF BQJSFDJQF CVOEMFFYFDJUBNBFTTIIOPWBQCDMPVEDPNa ŠOPEFKTPOOPEFOPWBKTPOCPPUTUSBQSC

Slide 19

Slide 19 text

JUBNBF TFSWJDFPQFOTUBDLOPWBDPNQVUF SFNPUF@pMFFUDOPWBOPWBDPOGEP OPUJpFTSFTUBSU TFSWJDF FOE

Slide 20

Slide 20 text

JUBNBF TFSWJDFPQFOTUBDLOPWBDPNQVUF SFNPUF@pMFFUDOPWBOPWBDPOGEP OPUJpFTSFTUBSU TFSWJDF FOE

Slide 21

Slide 21 text

؂ࢹ

Slide 22

Slide 22 text

.BDLFSFM ͸ͯͳ͕ࣾఏڙ͢Δαʔό
 ؂ࢹαʔϏε .BDLFSFMḉ ϩʔϧͰ؂ࢹઃఆΛଋͶΔ͜ͱ͕
 Մೳ

Slide 23

Slide 23 text

.BDLFSFM NBDLFSFM\ SPMFOZBIOFVUSPOOPEF DPOG\ NPOJUPS< \ OBNFQMVHJODIFDLTOFVUSPOTFSWFS DPNNBOEVTSMJCOBHJPTQMVHJOTDIFDL@QSPDTBOFVUSPOTFSWFSD ^ \ OBNFQMVHJODIFDLTOFVUSPO DPNNBOEVTSMJCOBHJPTQMVHJOTDIFDL@UDQ)MPDBMIPTUQXD ^ ʜ > ^ ^

Slide 24

Slide 24 text

.BDLFSFM /FVUSPO ŠŠ ŠŠ ŠŠ JUBNBFNBDLSFMSC SPMFT<OZBIOFVUSPOOPEF> DPNNBOEVTSMJCOBHJPTQMVHJOTDIFDL@QSPDTBOFVUSPOTFSWFSD DPNNBOEVTSMJCOBHJPTQMVHJOTDIFDL@UDQ)MPDBMIPTUQXDz ʜ NBDLFSFMḉ ࢮ׆ɺ͖͍͠஋؂ࢹ

Slide 25

Slide 25 text

.BDLFSFM

Slide 26

Slide 26 text

.BDLFSFM ઃఆ͸ϗετଆ͚ͩͰ*1ΞυϨεؾʹ ͠ͳ͍͍ͯ͘ ઃఆϑΝΠϧ͕γϯϓϧͰ؅ཧ͠΍͍͢ ؂ࢹఆٛ΋(6*ͰαΫαΫ΍ΕΔ͔ͭɺ Ұ౓ೖΕͯ͠·͑͹͋ͱ͸ಉ͡ϩʔϧ ʹࢀՃͤ͞Δ͚ͩ

Slide 27

Slide 27 text

/ZBI·ͱΊ 0QFO4UBDL࢖ͬͯ·͢ ϖύϘͷϓϥΠϕʔτΫϥ΢υ αʔϏε୯ҐͰϦιʔε؅ཧ ߏ੒؅ཧ͸JUBNBF ؂ࢹ͸NBDLFSFM

Slide 28

Slide 28 text

)BDLT

Slide 29

Slide 29 text

Slide 30

Slide 30 text

େମग़དྷͨ

Slide 31

Slide 31 text

͡Ό͋ɺ৮ͬͯΈͯ ͍͍͔͢ʂʂʂ

Slide 32

Slide 32 text

)PSJ[PO 7.؅ཧ /8؅ཧ ηΩϡϦςΟʔ؅ཧ Ϣʔβʔ؅ཧ Ϧιʔε؅ཧ

Slide 33

Slide 33 text

0QFO4UBDL$MJFOU 1ZUIPOͷΫϥΠϯτ OPWBMJTU OFVUSPOQPSUMJTU LFZTUPOFFOEQPJOUMJTU IUUQEPDTPQFOTUBDLPSHKBVTFSHVJEFDPOUFOUJOTUBMM@DMJFOUTIUNM

Slide 34

Slide 34 text

GNʜ ͡Ό͋ɺԿʁ ୆ϗετ࡞Δͷʹճ 8*ૢ࡞ͨ͠ΓɺίϚϯυ౤ ͛ͳ͖Ό͍͚ͳ͍Θ͚Ͱ͔͢ʁ

Slide 35

Slide 35 text

΍ͬͯΒΜͳ͍ʂʂʂ

Slide 36

Slide 36 text

)BDLT LBOBNFϢʔβʔ؅ཧ LBLJOFηΩϡϦςΟάϧʔϓ؅ཧ OZBIDMJ7.࡞੒ 1FD7.T࡞੒

Slide 37

Slide 37 text

Ϣʔβʔ؅ཧ

Slide 38

Slide 38 text

LBOBNF ϖύϘͰ͸ਓͷΤϯδχΞ͕
 ෳ਺ͷαʔϏεʹܞΘΔ )PSJ[POͩͱมߋཤྺ͕؅ཧͰ͖ͳ͍
 ূ੻͕࢒Βͳ͍

Slide 39

Slide 39 text

LBOBNF ઃఆϑΝΠϧΛZBNMͰఆٛ ઃఆϑΝΠϧΛ(JUʹू໿
 ʮ୭͕ɺ͍ͭɺͲͷݖݶʯΛอ͔࣋ͨ͠Λ؅ཧ QZBNB FNBJMlQZBNB!QFQBCPDPNl UFOBOUT NVVNVVlDJUZCPZ EFWFMPQlBENJOz UBOBLB FNBJMlUBOBLB!QFQBCPDPN UFOBOUT EFWFMPQNFOUNFNCFS

Slide 40

Slide 40 text

LBOBNF ొ࿥಺༰ ,FZTUPOF QZBNB FNBJMlQZBNB!QFQBCPDPNl UFOBOUT NVVNVVlDJUZCPZ EFWFMPQlBENJOz UBOBLB FNBJMlUBOBLB!QFQBCPDPN UFOBOUT EFWFMPQNFOUNFNCFS (JU)VC13 ɹొ࿥಺༰ʹޡΓ͕ͳ͍͜ͱΛ
 ɹ֬ೝ͢Δ (JU)VCͰͷϨϏϡʔ׬ྃޙɺొ࿥

Slide 41

Slide 41 text

ηΩϡϦςΟ؅ཧ

Slide 42

Slide 42 text

DPNQVUFOPEF ෺ཧϗετ JOUFSGBDF 4FDVSJUZ(SPVQ Ϝʔ7. /PWB"QJ /FVUSPO Ϝʔ7.ʹ͸ΦϑΟε͔Βͷ 44)ڐՄ͍ͨ͠ Ϝʔ7.ʹ44)ڐՄ JQUBCMFTఆٛ 7.Ͱ͸ͳ͘DPNQVUFOPEFʹ JQUBCMFTఆٛ

Slide 43

Slide 43 text

LBLJOF ઃఆϑΝΠϧΛZBNMͰఆٛ ઃఆϑΝΠϧΛ(JUʹू໿ ηΩϡϦςΟઃఆͷϨϏϡʔ͕ՄೳʹͳΓɺ
 ·ͨɺొ࿥ɺ੾Γ໭͠ͷख͕ؒେ෯ʹ࡟ݮ JOUFSOBM@QFSNJU SVMFT EJSFDUJPOJOHSFTT QSPUPDPM FUIFSUZQF*1W QPSU SFNPUF@JQ EFTDSJQUJPOΠϯλʔφϧઢͷ௨৴ΛશͯڐՄ

Slide 44

Slide 44 text

LBLJOF طଘઃఆͷऔಘɾฤूɾొ࿥ /PWB"QJ JOUFSOBM@QFSNJU SVMFT EJSFDUJPOJOHSFTT QSPUPDPM FUIFSUZQF*1W QPSU SFNPUF@JQ EFTDSJQUJPOΠϯλʔφϧઢͷ௨৴ΛશͯڐՄ ొ࿥͞Εͨ಺༰Λ൓ө ࠷৽ొ࿥಺༰Λ(JU؅ཧ /PWB$PNQVUF /PWB$PNQVUF /PWB$PNQVUF

Slide 45

Slide 45 text

Πϯελϯε࡞੒

Slide 46

Slide 46 text

JNBHF

Slide 47

Slide 47 text

JNBHF TVEPϢʔβʔͷ࡞੒ TTIαʔόʔͷ࣮ߦ DMPVEJOJU PQFOTUBDLBQJDMJFOU QZUIPO ͷ
 Πϯετʔϧ σΟεΫ࠷খԽͱΠϯελϯεىಈ࣌ʹࣗಈ֦ு ωοτϫʔΫॳظԽ ϑΝΠΞ΢ΥʔϧͷແޮԽ ೔ຊ࣌ؒΛઃఆ ىಈ࣌ͷTMBDL௨஌

Slide 48

Slide 48 text

JNBHF $FOU04 
 XJUIDIFGQVQQFU 6CVOUV 
 XJUIDIFGQVQQFU $PSF04ͳͲͳͲ

Slide 49

Slide 49 text

JOTUBODF JNBHF CBTF &TTFODF QVQQFU DIFG DMPVEJOJU

Slide 50

Slide 50 text

“Πϝʔδͷىಈ࣌ʹ౉͞Εͨuser-dataʹج͖ͮ OSʹରͯ͠ઃఆΛߦ͑Δ࢓૊Έ $MPVE*OJU DMPVEJOJU DMPVEDPOpH ϦϑΝϨϯε IUUQT[FUUBJPOCIKFMQDPNNVOJUZBSUJLMFSPHPQQMBFSJOHDMPVEJOJUSFGFSFODF

Slide 51

Slide 51 text

$MPVE*OJU IPTUOBNFQZBNBEFNP GREOQZBNBEFNPDPN SFQP@SFMFBTFWFS VTFST OBNFQZBNB HSPVQTQZBNB TIFMMCJOCBTI TVEP<"-- "-- /01"448%"--> TTIBVUIPSJ[FELFZT TTISTB'%"%'"%#/[B$ZD&GEMGKBTE&"R6+WTW,H)3.)E CPPUDNE FDIPSPPUQZBNBcDIQBTTXE

Slide 52

Slide 52 text

/ZBI$MJ (PͰ։ൃ͞Εͨ"1*ϥούʔίϚϯυ ίϚϯυҰൃͰ7.Λىಈ VTFSEBUBʹରԠ͍ͯ͠ΔͷͰ೚ҙͷઃఆ͕ىಈޙʹ
 ߦΘΕΔ *1ΞυϨεઃఆΛࣗಈԽ VE[VSBOZBIDMJ 8SBQQFSPG/ZBIUIF8SBQQFSPG0QFO4UBDL OZBIJOTUBODFTUEFWOZBIa JDFOUPTOQZBNBUFTUQQZBNBQBTTa ŠOFUXPSLFYUOFUFYU JOUOZBIa GNTNBMMVTFSEBUBVTFSEBUBZNM

Slide 53

Slide 53 text

1FD ઃఆϑΝΠϧʹج͖ͮෳ਺ͷ7.Λ
 Ұׅىಈɾఀࢭ VTFSEBUBͷςϯϓϨʔτԽΛαϙʔτ QZBNBUFTU UFOBOUQFQBCP JNBHFDFOUPT@DIFG@QVQQFU qBWPSNTNBMM OFUXPSLT FUI CPPUQSPUPTUBUJD JQ@BEESFTT HBUFXBZ EOT TFDVSJUZ@HSPVQ EFGBVMU TTI UFNQMBUFT CBTFZBNM XFCTFSWFSZBNM

Slide 54

Slide 54 text

)BDLT·ͱΊ Ϣʔβʔ؅ཧΛূ੻Λ࢒ͭͭ͠
 ָʹʂʂ ηΩϡϦςΟʔ؅ཧ΍Πϯελϯε ࡞੒ͷखؒΛίʔυͰղܾ

Slide 55

Slide 55 text

ࠓ΍ͬͯΔ͜ͱ

Slide 56

Slide 56 text

*1Λҙࣝ͠ͳ͍ ΠϯϑϥΛίʔυͰ ࡞Γ͖Δ

Slide 57

Slide 57 text

Α͋͘Δ%/4γεςϜ -# -# %/4 %/4 %/4 WJQ SJQ SJQ SJQ SJQ SJQ

Slide 58

Slide 58 text

“)BTIJ$PSQࣾͷϓϩμΫτ *(.1Λར༻͠ಉ͡άϧʔϓͷϝϯόʔͷ௥Ճ΍ ཭୤ΛΠϕϯτ௨஌͠ɺεΫϦϓτͳͲͷ ࣮ߦ͕Մೳ

Slide 59

Slide 59 text

4FSG TFSGNFNCFST MCEFWMPDBMBMJWFSPMFMC EOTEFWMPDBMBMJWFSPMFEOT EOTEFWMPDBMBMJWFSPMFEOT DBUBHFOUMPH BHFOU&WFOUNFNCFSKPJOEOTEFWMPDBMEOTSPMFEOT ಉ͡άϧʔϓʹॴଐ͍ͯ͠Δϗετ ৽͘͠ϝϯόʔ͕௥Ճ͞Εͨ

Slide 60

Slide 60 text

ࣗಈԽ4UFQ $IFG 7. TFSGNFNCFSKPJO -#ϨγϐΛྲྀ͢ -# 7.ͷىಈͱಉ࣌ʹ
 ɹDMPVEJOJUͰTFSGΠϯετʔϧ Ϩγϐ͕ྲྀΕͯ-#ͷΠϯετʔϧ͕׬ྃ

Slide 61

Slide 61 text

ࣗಈԽ4UFQ -# -# %/4 %/4 %/4 WJQ SJQ SJQ

Slide 62

Slide 62 text

ࣗಈԽ4UFQ $IFG 7. EOTϨγϐΛྲྀ͢ %/4 Ϩγϐ͕ྲྀΕͯEOTͷΠϯετʔϧ͕׬ྃ -# TFSGͷNFNCFSKPJO %/4αʔϏεͷ7*1ʹKPJOͨ͠%/4Λ ɹϝϯόʔ௥Ճ 7.ͷىಈͱಉ࣌ʹ
 ɹDMPVEJOJUͰTFSGΠϯετʔϧ TFSGNFNCFSKPJO

Slide 63

Slide 63 text

ࣗಈԽ4UFQ -# -# %/4 %/4 %/4 WJQ SJQ SJQ SJQ SJQ SJQ

Slide 64

Slide 64 text

ࣗಈԽ4UFQ $IFG 7. EOTϨγϐΛྲྀ͢ %/4 Ϩγϐ͕ྲྀΕͯEOTͷΠϯετʔϧ͕׬ྃ -# TFSGͷNFNCFSKPJO %/4αʔϏεͷ7*1ʹKPJOͨ͠%/4Λ ɹϝϯόʔ௥Ճ 7.ͷىಈͱಉ࣌ʹ
 ɹDMPVEJOJUͰTFSGΠϯετʔϧ TFSGͷNFNCFSKPJO

Slide 65

Slide 65 text

/BNJOPSJ 4FSG-WTͷϥΠϒϥϦ αʔϏεͷϔϧενΣοΫ΋Ͱ͖Δ ϝϯόʔͷ௥Ճ΍࡟আΛ4MBDL௨஌ #! /usr/bin/env ruby require 'rubygems' require 'naminori' Naminori::Notifier::Configure.instance.set({ webhook_url: "https://hooks.slack.com/services/XXXXXX", channel: "#pyama", user: "#naminori" }) service_options = { vip:"192.168.77.9" } case when Naminori::Serf.role?("dns") Naminori::Service.event("dns", "lvs", service_options) when Naminori::Serf.role?("lb") Naminori::Lb.health_check("dns", "lvs",service_options) end

Slide 66

Slide 66 text

·ͱΊ

Slide 67

Slide 67 text

શମ·ͱΊ ϓϥΠϕʔτΫϥ΢υΛαʔϏε͝ͱʹς φϯτ؅ཧ͠ӡ༻͍ͯ͠·͢ ߏ੒؅ཧ΍؂ࢹ͸ࣗಈԽ ख͕͔͔ؒΔ͜ͱɺ؅ཧ͕ඞཁͳ͜ͱ͸ࣗ ෼ͨͪͰίʔυॻ͍ͯղܾ αʔϏεΛҠߦ͢Δ͚ͩͰ͸ͳͯ͘ɺΫϥ ΢υΒ͍͜͠ͱ΋࢝Ίͯ·͢

Slide 68

Slide 68 text

͜͜Ͱঁੑਞ͔Β
 ࣭໰͕ࡴ౸͢Δ

Slide 69

Slide 69 text

͝ਗ਼ௌ͋Γ͕ͱ͏
 ͍͟͝·ͨ͠

Slide 70

Slide 70 text

Ҡߦࣄྫ

Slide 71

Slide 71 text

/ZBIͰಈ͍͍ͯΔαʔϏε ֤αʔϏεӶҙҾͬӽ͠த

Slide 72

Slide 72 text

No content

Slide 73

Slide 73 text

4UFQ Ҡߦݩ -# 1SPYZ 8 5IF*OUFSOFU

Slide 74

Slide 74 text

4UFQ Ҡߦݩ -# 1SPYZ 8 -# 1SPYZ 8 5IF*OUFSOFU

Slide 75

Slide 75 text

4UFQ Ҡߦݩ -# 1SPYZ 8 -# 1SPYZ 8 5IF*OUFSOFU

Slide 76

Slide 76 text

ϜʔϜʔυϝΠϯ ΠϯϑϥΛ͢΂ͯ$IFGͰίʔυԽ յΕͨΒࣺͯͯɺ࡞Γ௚͢ -#ͷ%JSFDU3PVUJOHߏ੒͕
 ૊Ίͳ͍ʜ

Slide 77

Slide 77 text

%3ߏ੒૊Ίͳ͍໰୊ /PWB$PNQVUF͸εςʔτϑϧʹ൑அ͠
 *OWBMJE1BDLFUΛഁغ͢Δ 5$1XBZϋϯυγΣΠΫ͕੒ཱ͠ͳ͘ͳͬͨ IPTU# IPTU" TZO TZOBDL BDL σʔλ௨৴ͷ։࢝

Slide 78

Slide 78 text

DPNQVUF DPNQVUF %3ߏ੒૊Ίͳ͍໰୊ -# 1SPYZ TZO TZO TZOBDL TZOBDLΛฦͨ͠ͷ͸DPNQVUF DMJFOU

Slide 79

Slide 79 text

DPNQVUF DPNQVUF %3ߏ੒૊Ίͳ͍໰୊ -# 1SPYZ BDL DMJFOU

Slide 80

Slide 80 text

DPNQVUF DPNQVUF /"5ߏ੒ʹͨ͠ -# 1SPYZ TZO TZO TZOBDL DMJFOU

Slide 81

Slide 81 text

ϜʔϜʔυϝΠϯҠߦࣄྫ·ͱΊ Πϯϑϥ͸͢΂ͯ$IFGͰίʔυԽ 7.ͷσʔλ͸͢΂ͯ$PNQVUF OPEF ෺ཧϗετ ͷϩʔΧϧ
 σΟεΫͷͨΊɺյΕͨΒ࡞Γͳ͓ ͢ -#ͷ%3ߏ੒͸૊Ίͳ͍