$30 off During Our Annual Pro Sale. View Details »

迷える子羊に捧げるコンテナ環境徹底比較 〜ECS、Fargate、EKSは何が得意で不得意か〜

 迷える子羊に捧げるコンテナ環境徹底比較 〜ECS、Fargate、EKSは何が得意で不得意か〜

「いったい、どれつかったら良いねん…」
2018年12月20日、遂に東京リージョンにEKSがやってきました。これにより、AWSにおいてコンテナを本番運用するための選択肢はさらに広がりました。

ただ、選択肢が広がったことで、どれが自分の組織に最適なのか悩まれるお客様も増えています。

このセッションでは、2019年4月時点において、コンテナワークロードをAWSで本番運用する方法と各選択肢について、真正面から解説いたします。これからコンテナの運用始めてみようと思っている方から、すでに使っているけどさらなる活用方法を知りたい方にまで、AWSにおけるコンテナの全てをお届けいたします。

濱田孝治

April 06, 2019
Tweet

More Decks by 濱田孝治

Other Decks in Technology

Transcript

  1. ,

    View Slide

  2. & .-* (2
    ,0'/4"#51
    83;7+)
    !&%$9(
    6:
    Attention

    View Slide

  3. 3
    J
    I2 1

    • A 9 7
    • 0

    View Slide

  4. 4
    @hamako9999

    View Slide

  5. 5
    #cmdevio2019

    View Slide

  6. 6
    PXRI N G h a


    • L SG ebc
    • bc g
    • TQS DMbcE eC C CPVTQSbcC
    bc
    • WbcE C C C A C
    C
    • fiCd bcE C C C
    C

    View Slide

  7. 7
    .!
    • $# &
    • $(,)2
    4

    /'16)
    &
    • +0-*%5&
    • $#/'
    3"

    View Slide

  8. 8


    View Slide

  9. 9

    View Slide

  10. 10



    View Slide

  11. 11






    View Slide

  12. 12





    View Slide

  13. 13

    E
    CE H
    2

    View Slide

  14. 14

    View Slide

  15. 15






    View Slide

  16. 16

    $#!

    $#! "#

    $#!


    View Slide

  17. 17


    View Slide

  18. 18
    A

    View Slide

  19. 19


    View Slide

  20. 20
    A
    !

    View Slide

  21. Photo by Fancycrave on Unsplash

    21

    View Slide

  22. 22




    View Slide

  23. 23
    )"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

    View Slide

  24. 24


    View Slide

  25. 25



    !

    View Slide

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

    View Slide

  27. 27



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

    View Slide

  28. 28
    Docker
    HUB
    User Pandoc
    Official
    Pandoc
    Docker
    Pandoc
    Docker
    HUB Push
    Docker Run
    Pull

    View Slide

  29. 29
    • D 1
    • U
    • D 1 B U
    • H B
    U
    • H H

    View Slide

  30. 30



    !

    View Slide

  31. 31


    • O
    • S




    View Slide

  32. 32
    S



    • O



    !

    View Slide

  33. 33






    !

    View Slide

  34. 34

    D

    • a
    D
    docker image build
    Dockerfile Docker image

    View Slide

  35. 35


    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"]

    View Slide

  36. 36
    D
    D

    View Slide

  37. 37


    2 • CloudFormation
    • Terraform
    Dockerfile
    • EC2User Data
    • Ansible
    • CodeDeploy
    • CircleCI

    View Slide

  38. 38


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

    View Slide

  39. 39
    https://dev.classmethod.jp/tool/docker/docker-build-meetup-1/

    View Slide

  40. 40
    A
    !

    View Slide

  41. 41



    ! "
    "$*#
    %)&'
    (

    View Slide

  42. 42


    View Slide

  43. 43



    View Slide

  44. 44





    View Slide

  45. 45

    !

    #"

    View Slide

  46. 46
    E

    View Slide

  47. 47
    A g M a
    • E Ie
    • D
    • D IL c C
    • b D IL

    • G D

    View Slide

  48. 48
    E m
    • G z
    • b gCt i
    • c o m k
    • mG b

    • a
    r m
    n
    e r Ir DA M L

    View Slide

  49. 49
    B D

    View Slide

  50. 50





    !

    View Slide

  51. 51
    https://12factor.net/ja/

    View Slide

  52. 52
    https://dev.classmethod.jp/cloud/aws/black-belt-docker-on-aws-2017/
    2 1

    View Slide

  53. 53

    • e D
    • c

    • r
    • k


    • B c
    • D o

    View Slide

  54. 54



    View Slide

  55. 55
    A
    !

    View Slide

  56. 56


    Amazon ECS
    Amazon ECR

    View Slide

  57. 57


    Amazon
    ECS
    Amazon
    ECR


    View Slide

  58. 58

    Amazon ECR

    View Slide

  59. 59
    • szC m R I c
    bRSWa
    • egI c a RWaItl c yk
    o
    • mH MD IE I i
    E SrIyk u
    • a n EA H
    Amazon
    ECR

    View Slide

  60. 60

    Amazon
    ECS

    View Slide

  61. 61

    View Slide

  62. 62

    Amazon
    ECS




    View Slide

  63. 63






    View Slide

  64. 64
    B G
    B P
    • P

    • B P
    • V S L
    • B P
    • B C

    View Slide

  65. 65
    !#
    (,#97%*
    • #" !# +.
    2)
    • ##1/865$&
    4
    • 03#" !#'-

    View Slide

  66. 66












    ECS EKS
    EC2 Fargate

    View Slide

  67. 67


    Amazon ECS
    ECS
    on EC2

    View Slide

  68. 68


    Amazon ECS
    ECS
    on EC2
    ECS
    on Fargate

    View Slide

  69. 69


    Amazon ECS
    ECS
    on EC2
    ECS
    on Fargate
    EKS
    on EC2

    View Slide

  70. 70


    Amazon ECS
    ECS
    on EC2
    ECS
    on Fargate
    EKS
    on EC2
    EKS
    on Fargate

    View Slide

  71. 71


    Amazon ECS

    View Slide

  72. 72
    S E L IM
    • l MI d
    • W g
    • E L ehia
    • E L A L C ia
    • M Ig
    • g
    • I c Amazon
    ECS

    View Slide

  73. 73
    th S a C L a
    • us C L d
    • aI nc
    • a o g
    • a M W g
    • ELnc
    • nc
    • L e im Amazon
    ECS
    l S I L A
    r I L us

    View Slide



  74. 74






    !

    View Slide


  75. 75
    U
    EC2
    Fargate



    E
    CI
    E
    S
    R
    docker run
    E P

    View Slide

  76. 76
    S
    S
    E Nginx
    C S
    awslogs
    S CloudWatch Logs
    S 1
    SC

    View Slide





  77. 77
    NPL
    B
    A
    CE B




    Application Load
    Balancer
    Amazon
    ECS




    View Slide

  78. 78


    Application Load
    Balancer



    443HTTPS
    80HTTP
    80HTTP
    80HTTP

    View Slide

  79. 79


    View Slide

  80. 80
    ea
    G N F
    • C ea d b
    G
    • g
    • K
    • i 8

    View Slide

  81. 81
    K


    • E W a S C
    A

    View Slide

  82. 82
    A
    • o s
    • o r
    • l t C K
    c a if
    cS b WA E
    f e a
    m n

    View Slide

  83. 83
    https://eksworkshop.com/introduction/architecture/architecture_control/

    REST API
    kubernetes
    etcd
    Pod Controller
    Manager
    Scheduler
    →EKS
    8

    View Slide

  84. 84

    kubelet
    8 kube-proxy
    Pod
    Pod Node
    →EKS EC2
    Fargate
    https://eksworkshop.com/introduction/architecture/architecture_worker/

    View Slide

  85. 85
    KC
    ECS EKS
    IAM IAM
    E OSS kube2iam,
    kiam

    Scheduler
    EC2
    CloudWatch Datadog Prometheus
    CloudWatch Logs Fluentd
    CodePipeline
    S helm, kustomize,
    spinnaker

    View Slide

  86. 86

    View Slide

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

    View Slide

  88. 88
    S
    • E C F S
    • F F F aW 1 2
    • F
    • A
    • F

    View Slide

  89. 89

    View Slide

  90. 90


    Amazon
    ECS

    View Slide

  91. 91


    View Slide

  92. 92
    A
    !

    View Slide

  93. 93

    Amazon
    ECS

    View Slide

  94. 94


    View Slide

  95. 95
    2 2

    View Slide

  96. 96
    opkL

    • e e dW e H e S F
    ae Atn L 3 3
    3 3 3 L


    • 3 3 l
    • i u

    • s hg d c S xF C Ar m
    • L Stn L F

    View Slide

  97. 97
    • CE
    • a
    W 2a
    • E U 2 GE
    P
    • e E S A C F 2

    P
    • P

    View Slide

  98. 98


    https://dev.classmethod.jp/cloud/aws/fargate-lower-price/

    View Slide

  99. 99


    View Slide

  100. 100
    SK
    • 2
    • 8 8
    • E C O

    View Slide

  101. 101

    kubernetes



    View Slide

  102. 102


    !



    View Slide

  103. 103


    u
    • n b
    e
    • tr
    • 8 s
    • k

    View Slide

  104. 104



    View Slide

  105. 105



    View Slide

  106. 106



    Fargate

    View Slide

  107. 107



    Fargate

    Amazon
    ECS

    View Slide

  108. 108




    Fargate
    k8s
    Amazon
    ECS

    View Slide

  109. 109




    Fargate
    k8s
    Amazon
    ECS

    View Slide

  110. 110

    View Slide

  111. 111
    A

    View Slide

  112. 112

    • SW
    SW

    A
    • SW

    View Slide

  113. 113



    View Slide

  114. 114

    E
    CE H
    2

    View Slide

  115. 115



    View Slide

  116. 116



    @hamako9999

    View Slide