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

ECS to GKE 〜実運用から考えるコンテナ運用の最適化〜

ECS to GKE 〜実運用から考えるコンテナ運用の最適化〜

GCPの環境が最近急速に整ってきたので、
既存のECS環境をGKE上に構築してみた話
※ サービス自体を移行した話ではないです

NAVITIME JAPAN
PRO

December 12, 2016
Tweet

More Decks by NAVITIME JAPAN

Other Decks in Programming

Transcript

  1. ECS to GKE
    ʙ࣮ӡ༻͔Βߟ͑Δίϯςφӡ༻ͷ࠷దԽʙ
    .JOBNJ"PZBNB/JHIU

    View Slide

  2. ࣗݾ঺հ
    େೆɹݡ྄
    גࣜձࣾφϏλΠϜδϟύϯ
    ΞʔΩςΫτ
    Cloud, Container, Datadog

    View Slide

  3. NAVITIME × Cloud
    ΦϯϓϨத৺ʢ2000୆ن໛ʣ
    ϩάج൫ɺσʔλ෼ੳɺCDN ͳͲͰར༻
    FaaS Λར༻ͨ͠ Serverless Architecture ͳͲ
    ࠃ಺޲͚αʔϏε

    View Slide

  4. NAVITIME × Cloud
    ւ֎޲͚αʔϏε
    Ϋϥ΢υʢ਺ेΠϯελϯεن໛ʣ
    NAVITIME Transit ʢւ֎޲͚৐׵αʔϏεʣ
    NAVITIME Travelʢւ֎ཱྀߦऀ޲͚αʔϏεʣ

    View Slide

  5. NAVITIME Travel
    ւ֎޲ཱྀ͚ߦऀ޲͚νέοτ༧໿αʔϏε
    WEB Ͱఏڙ
    2016/11 ϩʔϯνɺAWS ECS Λར༻

    View Slide

  6. NAVITIME Transit
    iOS, Android, WEB Ͱఏڙ
    ւ֎޲͚৐׵Ҋ಺αʔϏε
    2015/04 ʙ ΦϯϓϨ͔Β AWS ҠߦʢEC2ʣ
    2016/03 ʙ ECS Λར༻
    →GKE Ͱࢼͯ͠Έͨ

    View Slide

  7. ຊ೔͓࿩͢͠Δ͜ͱ
    GCP ͷ؀ڥ͕࠷ۙٸ଎ʹ੔͖ͬͯͨͷͰɺ
    طଘͷ ECS ؀ڥΛ GKE ্ʹߏஙͯ͠Έͨ࿩
    ※ αʔϏεࣗମΛҠߦͨ͠࿩Ͱ͸ͳ͍Ͱ͢

    View Slide

  8. Agenda
    ECS ࠾༻ͷཧ༝
    ECS Λӡ༻ͯ͠Έͯ
    GKEʢGoogle Container Engineʣ
    GKE ར༻ͷಈػ
    GKE ࢼͯ͠Έͯ
    ·ͱΊ
    ࠓޙ

    View Slide

  9. ECS ࠾༻ͷཧ༝
    ɾAWS ͷࣾ಺࣮੷
    ɾAWS ͷ֤ίϯϙʔωϯτͱͷ࿈ܞ
    ɹɾಛʹ Cloudformation
    ɾγϯϓϧͰബ͍࣮૷
    ɾ·ͣطଘαʔόͷ Docker ԽΛ໨ඪʹͨ͠

    View Slide

  10. ECS Λӡ༻ͯ͠Έͯ
    ɾ҆ఆՔಇத
    ɾECS, ECS पลͷΞοϓσʔτ͕ॆ࣮
    ɹɾಈతϙʔτ & ALB ͷߏ੒͕ͱΕΔ
    ɹɾSpot Fleet Πϯελϯεͱ૊Έ߹Θ͍ͤͨ
    ɹɾcfn ͷ yaml ରԠ΋஍ຯʹخ͍͠
    ɾཧ૝ܗʹ͍͖ۙͮͯͨ

    View Slide

  11. ECS Λӡ༻ͯ͠Έͯ
    ɾϓϩϓϥΠΤλϦ
    ɾίϯςφ୯ҐͰͷϦιʔεΛݟΒΕͳ͍
    ɹɾDatadog Ͱ؂ࢹʢ$18/instanceʣ
    ɾssh ͢Δ౓ʹλʔϛφϧΛ্ཱͪ͛Δͷ͕൥ࡶ
    ɾϩάݕࡧʹ Amazon ES, Redshift Λ࢖͏ͱߴֹ

    View Slide

  12. GKEʢGoogle Container Engineʣ
    ɾGKE ͸ Kubernetesʢk8sʣ ͷϚωʔδυαʔϏε
    ɹɾk8s ͸ Google ͕ެ։ͨ͠ίϯςφεέδϡʔϥ
    ɾNAVITIME αʔϏε͸ΦϯϓϨࢿ࢈͕ଟ͍ͨΊ
    ɹΦʔϓϯιʔεͳ k8s Ͱ؅ཧͰ͖Δͱ͏Ε͍͠
    ɾOpenshift v3 ͕ Docker & k8s Λ࠾༻
    ɹɾΦϯϓϨ؀ڥͷίϯςφҠߦ࣌ʹڞ௨Խ͍ͨ͠

    View Slide

  13. GKE ར༻ͷಈػ
    ɾTokyo Region ։ઃ
    ɾCloud SQL 2nd Gen.ʢβʣ
    ɹɾMySQL ͷ४ಉظϨϓϦέʔγϣϯ
    ɹɾ1st Gen. ͔ΒੑೳΞοϓʢRDS ΑΓˢʣ
    ɹɹɾεϨου͕ଟ͍৔߹ Aurora ͷํ͕҆ఆ
    ɹɾCloud Proxy SQL

    View Slide

  14. GKE ར༻ͷಈػ
    ɾStackdriverʢβʣ
    ɹ2014೥ Google ʹങऩ͞ΕͨϞχλϦϯάαʔϏε
    ɹɾStackdriver Monitoring
    ɹɹɾGKE ίϯςφͷϞχλϦϯάՄೳ
    ɹɾStackdriver Logging
    ɹɹɾGKE ͳΒඪ४Ͱग़ྗ

    View Slide

  15. GKE Λࢼͯ͠Έͯ
    ɾGoogle Cloud Shell
    ɹɾϒϥ΢β্Ͱ࢖͑Δ CLI ؀ڥ
    ɹɾ਺ඵͰىಈɺศར
    ɾgcloud, kubectl
    ɹɾ௚ײతͰѻ͍΍͍͢
    ɹɾaws cli ͸ίϚϯυ͕௕͘ json Ͱฦ٫͞ΕΔͷͰ
    Ճ޻ʹҰखؒඞཁ

    View Slide

  16. GKE Λࢼͯ͠Έͯ

    View Slide

  17. ɾStackdriver
    ɹɾStackdriver Monitoring
    ɹɹɾPod, Container ୯ҐͰϞχλϦϯάՄೳ
    ɹɾStackdriver Logging
    ɹɹɾadvanced logs filter ͕࢖͍΍͍͢
    ɹɹɾBigQuery ͱͷ࿈ܞ͠΍͢͞
    GKE Λࢼͯ͠Έͯ

    View Slide

  18. GKE Λࢼͯ͠Έͯ

    View Slide

  19. GKE Λࢼͯ͠Έͯ

    View Slide

  20. ·ͱΊ
    ɾECS Λ࢖͍͍ͨύλʔϯ
    ɹɾݫີͳΞΫηε੍ޚ
    ɹɾAWS ֤ίϯϙʔωϯτͷطଘࢿ࢈
    ɹɾAurora ͷ҆ఆੑ

    View Slide

  21. ·ͱΊ
    ɾGKE Λ࢖͍͍ͨύλʔϯ
    ɹɾKubernetes
    ɹɾΦϖϨʔγϣϯ࣌ͷ࢖͍উख
    ɹɾϩΪϯάͷखܰ͞
    ɹɾϞχλϦϯάͷखܰ͞

    View Slide

  22. ࠓޙ
    ɾ৽نɺখن໛αʔϏεͰ GKE Λಋೖͯ͠ΈΔ
    ɾطଘࢿ࢈ɺΞΫηε੍ޚ͕ٻΊΒΕΔ৔߹͸ɺ͜Ε
    ·Ͱ௨Γ ECS Ͱߏங
    ɹɾϩά͸҆Ձʹղੳ͍ͨ͠ͷͰҎԼͷ૊Έ߹Θͤ
    ɹɾECS + fluentd + Stackdriver Logging
    ɾRancher, Mesos ͳͲ΋ࢼͯ͠ΈΔ

    View Slide

  23. re:Invent 2016 ߦ͖ͬͯ·ͨ͠

    View Slide

  24. IUUQTCMPYHJUIVCJP

    View Slide

  25. IUUQTBXTBNB[PODPNBUIFOB

    View Slide