Slide 1

Slide 1 text

AWSɾHubotɾSlackͰ ChatOps͢Δ࿩ ࣮ ૷ ฤ Kazuhisa Togo

Slide 2

Slide 2 text

ΞϓϦέʔγϣϯߏ੒

Slide 3

Slide 3 text

HubotͰSlackʹ઀ଓɺ࿈ܞ

Slide 4

Slide 4 text

Node.js ͰՔಇ

Slide 5

Slide 5 text

DockerͰ ΞϓϦέʔγϣϯΛԾ૝Խ

Slide 6

Slide 6 text

EC2 Πϯϑϥ͸׬શAWS

Slide 7

Slide 7 text

Πϯϑϥ

Slide 8

Slide 8 text

EC2 ECS ECR

Slide 9

Slide 9 text

EC2 ECS ECR ฼؋Ϛγϯ DockerίϯςφΛ૸ΒͤΔ౔୆

Slide 10

Slide 10 text

EC2 ECS ECR DockerίϯςφͷϚωδϝϯτ ࢮ׆؂ࢹͳͲ

Slide 11

Slide 11 text

EC2 ECS ECR DockerΠϝʔδͷϓϥΠϕʔτஷଂݿ

Slide 12

Slide 12 text

EC2 ECS ECR 3ͭ߹ΘͤͯDockerίϯςφ؅ཧ

Slide 13

Slide 13 text

σϓϩΠ

Slide 14

Slide 14 text

CIπʔϧ

Slide 15

Slide 15 text

CodeDeployͱ૊Έ߹Θͤͯ Continuous Deployment CodeDeploy

Slide 16

Slide 16 text

ϦιʔεɺΞϓϦέʔγϣϯͷ σϓϩΠ

Slide 17

Slide 17 text

CodeDeploy S3 EC2 ͓͓·͔ͳྲྀΕ

Slide 18

Slide 18 text

CodeD S3 ϦϙδτϦʹ git push

Slide 19

Slide 19 text

CodeD S3 GitHub Hook

Slide 20

Slide 20 text

CodeD S3 ϒϥϯνͷσʔλΛऔಘ Ϗϧυˍςετ

Slide 21

Slide 21 text

CodeDeploy S3 E σϓϩΠ༻ͷϑΝΠϧҰࣜΛΞʔΧΠϒ S3ʹసૹ

Slide 22

Slide 22 text

CodeDeploy S3 EC2 ४උ͕Ͱ͖ͨΒCodeDeployݺͼग़͠

Slide 23

Slide 23 text

CodeDeploy S3 EC2 S3͔ΒΞʔΧΠϒΛμ΢ϯϩʔυ ల։ɾΠϯετʔϧ

Slide 24

Slide 24 text

CodeDeploy S3 EC2 Πϯετʔϧॲཧ ׬ྃޙͷޙย෇͚

Slide 25

Slide 25 text

CodeDeploy S3 EC2 σϓϩΠΛશࣗಈԽ

Slide 26

Slide 26 text

CodeDeploy S3 EC2 ChatOpsΛ࢖ͬͨϓϩηε EC2

Slide 27

Slide 27 text

CodeDeploy S3 EC2 Bot͔ΒσϓϩΠࢦࣔ EC2

Slide 28

Slide 28 text

CodeDeploy S3 EC2 εςʔδϯά؀ڥʹσϓϩΠͨ͠಺༰Λ ϓϩμΫγϣϯ؀ڥʹ΋σϓϩΠ EC2

Slide 29

Slide 29 text

ίϯςφͷ σϓϩΠ

Slide 30

Slide 30 text

ECR ͓͓·͔ͳྲྀΕ ECS

Slide 31

Slide 31 text

ECR CIͷϑοΫ·Ͱ͸ڞ௨ pushΛϑοΫͯࣗ͠ಈͰ։࢝ ECS

Slide 32

Slide 32 text

ECR CircleCIͰ docker build ECS

Slide 33

Slide 33 text

ECR ECRʹ docker push ECS

Slide 34

Slide 34 text

ECR ECS͔Βࢀর λά࣍ୈͰ͸खଓ͖ແ͠Ͱߋ৽ ECS

Slide 35

Slide 35 text

ECR λεΫΛ্ཱͪ͛௚͢ͱ ৽͍͠Πϝʔδ͕ࣗಈద༻ ECS

Slide 36

Slide 36 text

ECR ͜Ε΋׬શࣗಈԽ͕Մೳ ECS

Slide 37

Slide 37 text

AWS-SDK

Slide 38

Slide 38 text

खް͍SDK Node.js SDK

Slide 39

Slide 39 text

όονىಈ
 ੲͳ͕Βͷ git pull σϓϩΠetc. Node.js SDK

Slide 40

Slide 40 text

ΠϯελϯεͷIPΛऔಘͨ͠Γ͢Δͷʹ SDKେ׆༂ Node.js SDK

Slide 41

Slide 41 text

ΞΫηε੍ޚ

Slide 42

Slide 42 text

ϝοηʔδͷ౤ߘϢʔβʔ͸
 SlackଆͰ ݪଇ ೝূࡁΈ

Slide 43

Slide 43 text

௨ৗ HubotଆͰ͸IDͷνΣοΫ͚ͩͰOK

Slide 44

Slide 44 text

APIΛۦ࢖ͯ͠ as_user ͱ͔͞ΕͪΌͬͨ৔߹͸ྫ֎ ͦͷ৔߹͸ݖݶΛݟ௚͠·͠ΐ͏

Slide 45

Slide 45 text

τʔΫϯͷηΩϡϦςΟʔ

Slide 46

Slide 46 text

S3 EC2 ιʔείʔυʹೝূ৘ใΛॻ͖ࠐΉͱ ͢΂ͯͷܦ࿏Ͱ伴Λ๫࿐ͯ͠͠·͏

Slide 47

Slide 47 text

Task Definition Ͱ؀ڥม਺ͱͯ͠ఆٛ ECS

Slide 48

Slide 48 text

࿙Ӯ͠͏ΔՕॴΛେ͖͘࡟ݮ ECS

Slide 49

Slide 49 text

ΫϩεΞΧ΢ϯτΞΫηε

Slide 50

Slide 50 text

AWSΞΧ΢ϯτΛ෼཭͍ͯ͠Δ৔߹ ௚઀ΞΫηεͰ͖ͳ͍

Slide 51

Slide 51 text

ΫϩεΞΧ΢ϯτΞΫηε

Slide 52

Slide 52 text

ϩʔϧΛ࡞੒

Slide 53

Slide 53 text

STSΛ࢖ͬͯҰ࣌τʔΫϯΛऔಘ

Slide 54

Slide 54 text

τʔΫϯΛ࢖ͬͯΞΫηε

Slide 55

Slide 55 text

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