Upgrade to Pro — share decks privately, control downloads, hide ads and more …

EKS を使ってる人から見た App Runner

shogomuranushi
June 09, 2021
2.1k

EKS を使ってる人から見た App Runner

shogomuranushi

June 09, 2021
Tweet

Transcript

  1. [Online] nakanoshima.dev#1
    7

    Let's start App Runner
    !

    2021.06.0
    9

    ABEJA, Inc
    .

    Shogo Muranushi
    EKS Λ࢖ͬͯΔਓ͔Βݟͨ App Runner

    View Slide

  2. @rwle1212
    2
    ໊લ ɿ ଜओ ૖ޛʢΉΒ͵͠ ͠ΐ͏͝ʣ
    ձࣾ ɿ ABEJA, Inc
    .

    ۀ຿ ɿΠϯϑϥΤϯδχΞ -> ϓϩμΫτΦʔφʔ -> SRE

    View Slide

  3. @rwle1212
    3

    View Slide

  4. 4
    EKS࢖ͬͯΔਓ͔ΒݟͨApp Runner

    View Slide

  5. @rwle1212
    5
    App RunnerͬͯͲΜͳ΋ͷʁ
    ࠓ೔ͷΠϕϯτͰଞͷਓ͕঺հͯ͘͠Ε͍ͯΔͱ৴ͯ͡Կ΋ॻ͔ͳ͍

    View Slide

  6. @rwle1212
    6
    EKSͬͯԿʁ ʢ௒֓ཁʣ
    • KubernetsͷΫϥελʔΛϚωʔδυͯ͘͠ΕΔ΍ͭ
    • ਖ਼໊ࣜশ͸Amazon Elastic Kubernetes Servic
    e

    • Kubernetesͱ͸
    • એݴతͳߏ੒؅ཧͱࣗಈԽΛଅਐ͠ɺίϯςφԽ͞Εͨϫʔ
    Ϋϩʔυ΍αʔϏεΛ؅ཧ͢ΔͨΊͷɺϙʔλϒϧͰ֦ுੑ
    ͷ͋ΔΦʔϓϯιʔεͷϓϥοτϑΥʔϜ
    • ίϯςφ؅ཧͷσϑΝΫτελϯμʔυ

    View Slide

  7. 7
    EKSΑΓApp Runner͕༏Ε͍ͯΔͱ͜Ζ
    <

    View Slide

  8. @rwle1212
    8
    ϏϧυɾσϓϩΠͷࡉ͔͍͜ͱΛߟ͑Δඞཁͳ͍
    ʢ΋ͪΖΜ৭ʑ͋Δ͚Ͳ΋ʣ
    • EKSͷ৔߹͸
    • ίϯςφͷϏϧυɺίϯςφΠϝʔδͷϦϙδτϦɺΠϝʔδͷ
    σϓϩΠํ๏ͳͲߟ͑Δඞཁ͋Δ
    • ߏங͠·͑͹ָ͚ͩͲɺ࢖͍ॳΊͨ࣌ʹݕ౼ɺߏஙͷඞཁ͋Γ
    • CircleCI? GitHub Actions? GitOps?

    View Slide

  9. @rwle1212
    9
    ΫϥελʔͷΞοϓάϨʔυෆཁ
    • EKSͷ৔߹͸
    • 3ϲ݄αΠΫϧҐͰΫϥελʔͷΞοϓάϨʔυ͕ඞཁ
    • OSSͷ֦ுػೳͨ͘͞Μ࢖͏ͱͳ͓େมʢͳͷͰγϯϓϧʹ࢖
    ͍·͠ΐ͏ʣ
    • Istio? Calico? CRD?

    View Slide

  10. @rwle1212
    10
    ϊʔυͷ؅ཧ͕ෆཁ

    ʢಛʹηΩϡϦςΟ໘ָ͕ʣ
    • App Runnerͷ৔߹͸
    • OSϨϕϧͷηΩϡϦςΟ΍ύον౳ͷ؅ཧ͕ෆཁ
    • ର֎తͳνΣοΫγʔτ΍؂ࠪͱ͔௨࣌͢ʹʮ΢
    Πϧεରࡦιϑτ͸ʁʯʮIDSͱ͔ೖΕͯ·͢
    ͔ʁʯͱ͔ʮʢOSϨϕϧ͸ʣશ෦AWS͞Μ͕΍ͬ
    ͯ·͢ʂ஍ٿن໛ͰʂʯͰOK :shirankedo
    :

    • AWS Systems Managerͷػೳ܈ݟͨ࣌ʹ಄͕௧͘ͳͬͨͷͰɺͦΕΒΛ֮͑ͳ͘
    ͯྑ͍ͳΜͯʂ

    View Slide

  11. @rwle1212
    11
    https://dev.classmethod.jp/articles/all-ssm-capabilities-2021/

    View Slide

  12. 12
    ϊʔυ͕ϑϧϚωʔδυͳͷྑ͍ΑͶ

    View Slide

  13. 13
    App RunnerΑΓEKS͕༏Ε͍ͯΔͱ͜Ζ
    <

    View Slide

  14. @rwle1212
    14
    ৭ʑ͋Δ͚Ͳग़ͨ͹͔ͬͳͷͰ
    ൺֱ͢Δͷ͸Մѩ૝
    • VPCೖΕͳ͍ɻRDSͱͲ͏ܨ͛Δʁ
    • ϥϯλΠϜগͳ͍ʢECRͷํ࢖͑͹ԿͰ΋Ͱ͖Δ͚ͲɺͦΕͩͱϏ
    ϧυָʹͳΒͳ͍ʣ
    • GPUͱ͔࢖͑ͳ͍ɻCPU/MEM͕ݶք͋Δ
    • ΧφϦΞϦϦʔεͰ͖ͳ͍?
    ΈΜͳ͕ͨ͘͞Μ࢖ͬͯϑΟʔυόοΫ͢Ε͹վળ͞ΕΔ

    View Slide

  15. 15
    Ͱ΋͞ɺଞʹ΋ίϯςφαʔϏε
    ͍ͬͺ͍͋ΔΑͶʁ

    View Slide

  16. 16
    ͸͍ɻ͍ͬͺ͍͋Γ·͢ɻ

    View Slide

  17. @rwle1212
    17
    AWSͷίϯςφαʔϏε
    • ECSܥ: ECS, Fargate, ECS Anywher
    e

    • EKSܥ: EKS, Fargate, EKS Anywhere (coming 2021
    )

    • Lightsai
    l

    • Elastic Beanstalk

    View Slide

  18. 18
    ԡ͓͑ͯ͘͞ͷ͸ҎԼ3఺
    EKS / EC
    S

    Fargat
    e

    App Runnner

    View Slide

  19. @rwle1212
    19
    EKS, ECS / Fargate / App Runner

    View Slide

  20. @rwle1212
    20
    Ͳ͏͍͏࣌ʹͲΕΛબ୒͢Δͷ͔
    • ·ָͣͳ΋ͷ͔Βཁ݅Λຬ͔ͨ͢ߟ͑Δ
    • ୈҰީิ: App Runne
    r

    • ୈೋީิ: Fargate ( ECS or EKS
    )

    • ୈࡾީิ: ECS or EKS

    View Slide

  21. @rwle1212
    21
    App RunnerΛબ୒͢Δ࣌
    • Lambda͕ཁ݅ʹ߹Θͳ͍
    • ͨͩͷγϯϓϧͳWebΞϓϦέʔγϣϯ
    • DB͸DynamoD
    B

    • ݴޠ͸Pytho
    n

    • GolangΛσϓϩΠ͍ͨ͠ʢECRϞʔυ࢖͏ʣ

    View Slide

  22. @rwle1212
    22
    FargateΛબ୒͢Δ࣌
    • DB͸RDBͰRDS࢖͍͍ͨ
    • EFSͱ͔ͷϑΝΠϧγεςϜϚ΢ϯτ͍ͨ͠
    • ڧΊͷCPU/MEM࢖͍͍ͨ
    • ߟ͑ͯΈ͚ͨͲҙ֎ͱগͳ͔ͬͨ

    View Slide

  23. @rwle1212
    23
    EKS / ECS Λબ୒͢Δ࣌
    • ෳ਺ͷΞϓϦέʔγϣϯΛҰݩͰ؅ཧ͍ͨ͠
    • Service Discovery, Daemonset, etc.
    .

    • ϊʔυʢΠϯελϯελΠϓʣΛ੍ݶͳ͘࢖͍͍ͨ
    • ϋΠύϑΥʔϚϯεΠϯελϯε
    • ಛघΠϯελϯεʢGPU, ARM, AMD, Mac, etc.. ʣ
    • KubernetesΤίγεςϜͷOSSΛϑϧ׆༻͍ͨ͠
    • ࠓճ͸ App Runner vs Any Container Service ͳͷͰफڭઓ૪ʢECS vs EKSʣͷ࿩͸ׂѪ͠·͢

    View Slide

  24. @rwle1212
    24
    Ͳ͏͍͏࣌ʹͲΕΛબ୒͢Δͷ͔

    ʢ࠶ܝࡌʣ
    • ·ָͣͳ΋ͷ͔Βཁ݅Λຬ͔ͨ͢ߟ͑Δ
    • ୈҰީิ: App Runne
    r

    • ୈೋީิ: Fargate ( ECS or EKS
    )

    • ୈࡾީิ: ECS or EKS

    View Slide

  25. 25
    ଞΫϥ΢υ΋ίϯςφαʔϏε͋ΔΑͶʁ

    ʢGCP͚ͩ঺հʣ

    View Slide

  26. @rwle1212
    26
    GK
    E

    GKE Autopilo
    t

    Cloud Run
    26
    Google Cloud
    EKS૬౰ɻEKSΑΓָɻEKSΑΓࣗ༝౓௿͍ɻ
    ָΛऔΔ͔ɺࣗ༝౓ΛऔΔ͔޷Έɻݸਓతʹ͸EKSͷํ͕޷͖ʹ࡞ΕΔ͔Β޷͖
    Fargate EKSʹ͍ۙɻΫϥελʔ΋ϊʔυͷ؅ཧ΋ෆཁɻ
    Fargate EKSͱͷҧ͍͸ɺ΄ͱΜͲૉͷঢ়ଶͰ࢖͑ΔɻFargate EKS͸৭ʑ੍ݶ͋
    Δɻݸਓతʹ͸Ϋϥελ΋ϊʔυ΋؅ཧͨ͘͠ͳ͍͚Ͳૉͷࣗ༝౓͕ཉ͍͠ͷͰɺ
    KubernetesΫϥελͱͯ͠͸ܾఆ൛ɻ
    Fargate / App Runnerʹ͍͚ۙͲɺৗ࣌ىಈܕͰ͸ͳ͘αʔόϨεతͳΠϕϯτ
    υϦϒϯܕɻ
    ΠϕϯτυϦϒϯʢFaaSʣͷίετମܥ͕ັྗͰίϯςφͷࣗ༝౓Λ݉Ͷඋ͑ͨ

    View Slide

  27. @rwle1212
    27
    ֤ίϯςφαʔϏεͷҐஔ෇͚
    γϯϓϧ
    ֦ுੑ௿͍
    ෳࡶ
    ֦ுੑߴ͍
    &,4
    (,&
    &$4
    'BSHBUF
    (,&"VUPQJMPU
    "QQ3VOOFS
    $MPVE3VO

    View Slide

  28. @rwle1212
    28
    ֤ίϯςφαʔϏεͷҐஔ෇͚
    γϯϓϧ
    ֦ுੑ௿͍
    ෳࡶ
    ֦ுੑߴ͍
    &,4
    (,&
    &$4
    'BSHBUF
    (,&"VUPQJMPU
    "QQ3VOOFS
    $MPVE3VO
    ΍͸ΓKubernetesܥ͸OSS౳ଟ͍ͷͰ৭ʑ֦ுͰ͖Δ

    View Slide

  29. @rwle1212
    29
    ֤ίϯςφαʔϏεͷҐஔ෇͚
    γϯϓϧ
    ֦ுੑ௿͍
    ෳࡶ
    ֦ுੑߴ͍
    &,4
    (,&
    &$4
    'BSHBUF
    (,&"VUPQJMPU
    "QQ3VOOFS
    $MPVE3VO
    ϊʔυ؅ཧෆཁͳͷ͸


    View Slide

  30. @rwle1212
    30
    ֤ίϯςφαʔϏεͷҐஔ෇͚
    γϯϓϧ
    ֦ுੑ௿͍
    ෳࡶ
    ֦ுੑߴ͍
    &,4
    (,&
    &$4
    'BSHBUF
    (,&"VUPQJMPU
    "QQ3VOOFS
    $MPVE3VO
    Ͱ͖Δ͜ͱ੍͕ݶ͞Ε͍ͯΔ෼


    View Slide

  31. 31
    ๻͕ཉ͍͠΋ͷ

    View Slide

  32. @rwle1212
    32
    ๻͕ཉ͍͠΋ͷ
    • ؆୯ͳ΋ͷΑΓɺγϯϓϧͳ΋ͷ͕ཉ͍͠
    • ϥούʔαʔϏε΍݁ہ৭ʑͳαʔϏεΛ֮͑ͳ͍ͱ͍͚ͳ͍
    ෳࡶͳϞϊ͸ආ͚͍ͨ
    • App Runnner Έ͍ͨʹ૯߹తʹɺ͋·Γҙࣝ͢Δ͜ͱͳ͘উखʹ΍ͬ
    ͯ͘ΕΔγϯϓϧͳ΋ͷ͕͍͍
    • ʮυϦϧΛങ͍ʹདྷͨਓ͕ཉ͍͠ͷ͸υϦϧͰ͸ͳ݀͘Ͱ͋Δʯ

    View Slide

  33. 33
    ͍͞͝ʹ

    View Slide

  34. 34

    View Slide

  35. 35
    ͭ·Γ͜͏͍͏͜ͱͰ͢

    View Slide

  36. 36
    AppӉ஦Runner

    View Slide

  37. 37
    ͋Γ͕ͱ͏͍͟͝·ͨ͠

    View Slide