Slide 1

Slide 1 text

AWS

Slide 2

Slide 2 text

2 7 9 120 • •

Slide 3

Slide 3 text

3 @hamako9999

Slide 4

Slide 4 text

4 #cmdevio2018

Slide 5

Slide 5 text

Photo by Fancycrave on Unsplash

Slide 6

Slide 6 text

6

Slide 7

Slide 7 text

7 )"372+01 Server Server Host OS 72+% Guest OS Guest OS App A App B App A App B ' OS372+ Host OS kernel Container A Container B )"372+ #!6/ .,Guest OS- $&!* 72+% OS( 8472OS ) "5

Slide 8

Slide 8 text

Photo by Fancycrave on Unsplash

Slide 9

Slide 9 text

Photo by Markus Spiske on Unsplash 12Factor Apps Immutable Infrastructure DevOps Continuous Integration Continuous Delivery

Slide 10

Slide 10 text

10 ↓

Slide 11

Slide 11 text

Photo by Serghei Trofimov on Unsplash

Slide 12

Slide 12 text

12

Slide 13

Slide 13 text

13 ("'#% ("'#% &'$ ("'#%

Slide 14

Slide 14 text

14 ! Docker( $*) ! #& !"+'%

Slide 15

Slide 15 text

15

Slide 16

Slide 16 text

16 ! Docker( $*) ! #& !"+'% !

Slide 17

Slide 17 text

17 • •

Slide 18

Slide 18 text

18 !

Slide 19

Slide 19 text

19 , HX DF • UM L P T UO U • P T UO H B W • , , • , H E B • ,

Slide 20

Slide 20 text

20 $docker run -v `pwd`:/source jagregory/pandoc -f markdown -t docx sample.md -o sample.docx

Slide 21

Slide 21 text

21 Docker HUB User Pandoc Official Pandoc Docker Pandoc Docker HUB Push Docker Run Pull

Slide 22

Slide 22 text

22 • D 1 • U • D 1 B U • H B U • H H

Slide 23

Slide 23 text

23 !

Slide 24

Slide 24 text

24 • O • S • • •

Slide 25

Slide 25 text

25 &$ #! "'% ! https://pandoc.org/installing.html

Slide 26

Slide 26 text

26 !

Slide 27

Slide 27 text

27 • D • • a D docker image build Dockerfile Docker image

Slide 28

Slide 28 text

28 FROM haskell:8.0 # install latex packages RUN apt-get update -y ¥ && apt-get install -y -o Acquire::Retries=10 --no-install-recommends ¥ texlive-latex-base ¥ texlive-xetex ENV PANDOC_VERSION “1.19.2.1” ENV PANDOC_VERSION "1.19.2.1" # install pandoc RUN cabal update && cabal install pandoc-${PANDOC_VERSION} WORKDIR /source ENTRYPOINT ["/root/.cabal/bin/pandoc"]

Slide 29

Slide 29 text

29 O S Q !" # • c e a • K • MP a • i f I P → L J J D

Slide 30

Slide 30 text

30 L J M

Slide 31

Slide 31 text

31 ;459: Docker HUB (- (-. "# !, ) 83* '*+1 )6 )-%7Docker Run)Pull 20 /<7$ &

Slide 32

Slide 32 text

32 D !

Slide 33

Slide 33 text

33 https://learn.g2crowd.com/best-docker-containers-repository

Slide 34

Slide 34 text

34 https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

Slide 35

Slide 35 text

35

Slide 36

Slide 36 text

36 ! Docker( $*) ! #& !"+'% !

Slide 37

Slide 37 text

37 ?:=" Docker HUB .3 .34 (%) '2 #/$ >90 #-01 7# /$!; /3+< Docker Run#/$!Pull 86 "5@<*&,

Slide 38

Slide 38 text

38 DCB > Docker HUB .3 .34 )&* (2 #/% A;0 #-01 8# /%!= /3+? Docker Run #/%!Pull :5 69 !,-1'$7 <@" "

Slide 39

Slide 39 text

39 Amazon ECR

Slide 40

Slide 40 text

40 AD • lr RsC S M • aC S CmeEI i • A C t C MkC on W gcD o Amazon ECR

Slide 41

Slide 41 text

41 CA • • E • C I C

Slide 42

Slide 42 text

42 C E • • R https://dev.classmethod.jp/cloud/aws/ecr-lifecycle/

Slide 43

Slide 43 text

43 !+1'$ * !% /- !/-"./-) 20(,

Slide 44

Slide 44 text

44 ! Docker( $*) ! #& !"+'% !

Slide 45

Slide 45 text

45 • D • → !

Slide 46

Slide 46 text

46 21+,/0 !)#$ . * %'- ( !)#$&". *

Slide 47

Slide 47 text

47 Amazon ECS

Slide 48

Slide 48 text

48 • S C P S i bc • K D a • E A S e • V f Amazon ECS

Slide 49

Slide 49 text

49 • F C K E • e S C K a • E A →E W EC2

Slide 50

Slide 50 text

50 ECS EKS EC2 Fargate

Slide 51

Slide 51 text

51 !

Slide 52

Slide 52 text

52 U EC2 Fargate E CI E S R docker run E P

Slide 53

Slide 53 text

54 NPL B A CE B Application Load Balancer Amazon ECS

Slide 54

Slide 54 text

55 A

Slide 55

Slide 55 text

56 • • e D • c • • r • k • • B c • D o

Slide 56

Slide 56 text

57 https://dev.classmethod.jp/cloud/aws/black-belt-docker-on-aws-2017/

Slide 57

Slide 57 text

58 F C hid • • F a AS rL m S kg • H • S u LW sl p • • to H Fce

Slide 58

Slide 58 text

59

Slide 59

Slide 59 text

60 ! Docker( $*) ! #& !"+'% !

Slide 60

Slide 60 text

61 AWS CodeCommit AWS CodePipeline AWS CodeBuild CI Git

Slide 61

Slide 61 text

62 • • • • • •

Slide 62

Slide 62 text

63 Master C Push ECS GitHub OK

Slide 63

Slide 63 text

64 Buildspec.yml ecr login→docker build→ecr push

Slide 64

Slide 64 text

65 CodePipeline ECS

Slide 65

Slide 65 text

66 https://dev.classmethod.jp/cloud/aws/codepipeline-support-ecs-deploy/

Slide 66

Slide 66 text

67

Slide 67

Slide 67 text

68 G G G P G S

Slide 68

Slide 68 text

69

Slide 69

Slide 69 text

70 ! Docker( $*) ! #& !"+'% !

Slide 70

Slide 70 text

71 • • •

Slide 71

Slide 71 text

72 mn • • _ ej GP S FUE pi cl - cl • S WEhd S WE cl UE cl - W Sg • ro I a I NRE E • • C : . S C : / C : A

Slide 72

Slide 72 text

73 C DA • • • / . . . / . . . • • . / • / / : . -

Slide 73

Slide 73 text

74 • - • #1&.( • ! • "$%/- *0,' +)

Slide 74

Slide 74 text

75 •

Slide 75

Slide 75 text

76 ! • • /3 !54)2 • • + (& • 1* 54) • "0-%54) #'$. ,

Slide 76

Slide 76 text

77 • • https://dev.classmethod.jp/tool/docker/microscanner/

Slide 77

Slide 77 text

78 • . • • . .

Slide 78

Slide 78 text

79 https://speakerdeck.com/pottava/container-security-20180310

Slide 79

Slide 79 text

80

Slide 80

Slide 80 text

81

Slide 81

Slide 81 text

82 ! Docker( $*) ! #& !"+'%

Slide 82

Slide 82 text

83 • *,"$+.#.&(29 < @=8 • /1#.&(64@=-!-! • B#.&(257 ;3 7?) %':0>A

Slide 83

Slide 83 text

84 @hamako9999