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

Envoyを分かりやすく例えつつApp Meshの話をします

Masato Oshima
December 21, 2018

Envoyを分かりやすく例えつつApp Meshの話をします

https://jawsug-container.connpass.com/event/109162/
JAWS-UG コンテナ支部 #13 の発表

Masato Oshima

December 21, 2018
Tweet

More Decks by Masato Oshima

Other Decks in Technology

Transcript

  1. "QQ.FTIͷ࿩Λ͠Α͏ͱࢥͬ
    ͚ͨͲ-5ͳͷͰৄ͘͠͸ϒϩά
    Λݟͯ΋Β͏ͱͯ͠ࠓ೔͸
    FOWPZΛ෼͔Γ΍͘͢ྫ͑Δ
    ͷΛ΍ͬͯΈ·͢
    !@NQPO
    +"846(ίϯςφࢧ෦

    View full-size slide

  2. AWS App Meshͷϒϩάॻ͍ͨͷͰಡΜͰ͍ͩ͘͞
    https://tech.recruit-mp.co.jp/infrastructure/post-17720/
    SFJOWFOUBQQNFTI࢓૊Έ Ͱݕࡧ

    View full-size slide

  3. What is Envoy?
    ENVOY IS AN OPEN SOURCE EDGE AND SERVICE PROXY,
    DESIGNED FOR CLOUD-NATIVE APPLICATIONS

    View full-size slide

  4. What is Envoy?
    ENVOY IS AN OPEN SOURCE EDGE AND SERVICE PROXY,
    DESIGNED FOR CLOUD-NATIVE APPLICATIONS
    αʔϏεϓϩΩγʁ

    View full-size slide

  5. αʔϏεϓϩΩγʁ

    View full-size slide

  6. ΈΜͳେ޷͖nginxͳΒ෼͔Δ

    View full-size slide

  7. ྫ͑͹ɺnginxΛ࢖ͬͯ͜ΜͳΞΫηε
    )551
    GPP



    XXXFYBNQMFDPN

    View full-size slide

  8. nginx.conf
    )551
    GPP



    XXXFYBNQMFDPN

    View full-size slide

  9. listen
    )551
    GPP



    XXXFYBNQMFDPN

    View full-size slide

  10. location
    )551
    GPP



    XXXFYBNQMFDPN

    View full-size slide

  11. upstream
    )551
    GPP



    XXXFYBNQMFDPN

    View full-size slide

  12. envoyͰ΋ಉ͜͡ͱ͕Ͱ͖Δ
    )551
    GPP



    XXXFYBNQMFDPN

    View full-size slide

  13. envoyͷઃఆϑΝΠϧ͸yamlͰ͢
    ͪΐͬͱ௕͍͚Ͳ
    ݟ͍͖ͯ·͠ΐ͏
    )551
    GPP



    XXXFYBNQMFDPN

    View full-size slide

  14. listeners
    )551
    GPP



    XXXFYBNQMFDPN

    View full-size slide

  15. routes
    )551
    GPP



    XXXFYBNQMFDPN

    View full-size slide

  16. clusters
    )551
    GPP



    XXXFYBNQMFDPN

    View full-size slide

  17. Why envoy?
    ผʹOHJOYͰ΋
    ͍͍ͷͰ͸ʁ

    View full-size slide

  18. Cloud-NativeલఏͰ࡞ΒΕ͍ͯΔ
    ENVOY IS AN OPEN SOURCE EDGE AND SERVICE PROXY,
    DESIGNED FOR CLOUD-NATIVE APPLICATIONS

    View full-size slide

  19. Cloud-NativeͷੈքͰ͸ಈతʹมԽ͠ଓ͚Δ

    Cluster
    ࢮΜͩ͜ͱΛ
    ֬ೝ͠ଓ͚Δ
    ৽͍͠ͷ͕
    ੜ·Εͨ͜ͱ
    Λൃݟ͢Δ
    OHJOYDPOGΛ
    ॻ͖׵͑ͯ࠶σϓϩΠ
    ͢Δ͔͠ͳ͍
    ৽͍͠΍ͭʹ͸
    গͣͭ͠ϦΫΤετ
    ৼΓ͍ͨ

    View full-size slide

  20. envoy͸ಈతʹઃఆΛऔಘͰ͖Δ
    Կ൪ϙʔτͰ-JTUFO͢Δʁ
    Ͱʂ
    Ͳ͜ʹϧʔςΟϯά͢Δʁ
    GPP͸BQQ΁
    Management
    Server
    BQQ͸Ͳ͜ʁ

    View full-size slide

  21. LDS
    Կ൪ϙʔτͰ-JTUFO͢Δʁ
    Ͱʂ
    Ͳ͜ʹϧʔςΟϯά͢Δʁ
    GPP͸BQQ΁
    BQQ͸Ͳ͜ʁ

    LDS: Listener Discovery Service Management
    Server

    View full-size slide

  22. RDS
    Կ൪ϙʔτͰ-JTUFO͢Δʁ
    Ͱʂ
    Ͳ͜ʹϧʔςΟϯά͢Δʁ
    GPP͸BQQ΁
    BQQ͸Ͳ͜ʁ

    LDS: Listener Discovery Service
    RDS: Route Discovery Service
    Management
    Server

    View full-size slide

  23. CDS/EDS
    Կ൪ϙʔτͰ-JTUFO͢Δʁ
    Ͱʂ
    Ͳ͜ʹϧʔςΟϯά͢Δʁ
    GPP͸BQQ΁
    BQQ͸Ͳ͜ʁ

    RDS: Route Discovery Service
    LDS: Listener Discovery Service
    CDS/EDS: Cluster Discovery Service/Endpoint Discovery Service
    Management
    Server

    View full-size slide

  24. App Mesh͕ఏڙͯ͘͠ΕΔ
    Կ൪ϙʔτͰ-JTUFO͢Δʁ
    Ͱʂ
    Ͳ͜ʹϧʔςΟϯά͢Δʁ
    GPP͸BQQ΁
    BQQ͸Ͳ͜ʁ

    RDS: Route Discovery Service
    LDS: Listener Discovery Service
    CDS/EDS: Cluster Discovery Service/Endpoint Discovery Service

    View full-size slide

  25. EnvoyΛཧղ͢Ε͹App Mesh͕ݟ͑ͯ͘Δ
    ref: https://aws.amazon.com/jp/blogs/compute/introducing-aws-app-mesh-service-mesh-for-microservices-on-aws/

    View full-size slide

  26. App MeshͷGA·ͰͷಓͷΓ
    ➤ .POJUPSJOH
    ➤ 5SBDJOH
    ➤ 3FUSZ
    ➤ $JSDVJU#SFBLFST
    ➤ "84ίϯιʔϧը໘ɺͳͲͳͲ
    ͕ػೳͱ͍ͯ࣋ͬͯ͠Δ͜ͱΛ࣮૷͍ͯ͘͠
    ͸ݱঢ়1VCMJD#FUBɻ$-*POMZɺ5SBGGJD3PVUJOH͔͠Ͱ͖ͳ͍
    https://github.com/awslabs/aws-app-mesh-examples/issues?q=is%3Aissue+is%3Aopen+label%3AGA

    View full-size slide