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

ナビタイムジャパンのクラウド活用事例~2週間でAlibaba Cloud上に本番サービスをデプロイした話~

ナビタイムジャパンのクラウド活用事例~2週間でAlibaba Cloud上に本番サービスをデプロイした話~

2019/10/30に開催された「Alibaba Cloud Internet Champion Day(秋)」にて発表した資料です。

NAVITIME JAPAN

October 30, 2019
Tweet

More Decks by NAVITIME JAPAN

Other Decks in Technology

Transcript

  1. ©NAVITIME JAPAN Who am I ? 2 ໊લɿాத Ұथ ໾ׂɿCloud

    Architect ܦྺɿ2013೥৽ଔೖࣾɻ2017೥ʙΫϥ΢υܥͷ࡞ۀʹैࣄ ɹɹɹAWSΛϝΠϯʹ৮ͬͯ·͢ɻɻ
  2. ©NAVITIME JAPAN 3 • גࣜձࣾ φϏλΠϜδϟύϯ • ઃཱ 2000 ೥

    3 ݄ 1 ೔ • ۀ຿಺༰ • φϏήʔγϣϯαΠτɾΞϓϦͷӡӦ։ൃ • ௨৴ΧʔφϏήʔγϣϯࣄۀ • ܦ࿏୳ࡧΤϯδϯͷϥΠηϯεࣄۀ ͳͲ • ैۀһ਺ ໿ 540 ໊ (ΤϯδχΞ 80% Ҏ্ʣ Our Company
  3. ©NAVITIME JAPAN NAVITIME ৐׵NAVITIME ެڞަ௨ όεNAVITIME ͜ΈΕΆ υϥΠϒ ΧʔφϏλΠϜ υϥΠϒαϙʔλʔ

    τϥοΫΧʔφϏ πʔϦϯά πʔϦϯάαϙʔλʔ ࣗసंNAVITIME Travel/Inbound JapanTravel NAVITIME Transit NAVITIME Travel Plat ϔϧεέΞ ALKOO PC/SP Web 4 Our Products
  4. ©NAVITIME JAPAN தࠃࢢ৔Ͱͷ৐׵Ҋ಺ 7 NAVITIME Transit • ΦϑϥΠϯͰ΋࢖͑Δܦ࿏୳ࡧ • தࠃࠃ಺͚ͩͰͳ͘ɺੈքதͷ࿏ઢਤ

    Ӿཡ/ܦ࿏୳ࡧ͕Մೳ • தࠃࠃ಺Ͱ͸্ւ, ๺ژ, ੨ౡ, ੢҆, … Λܝࡌ • ೔ຊͷ࿏ઢਤ΋ܝࡌ͍ͯ͠ΔͨΊɺ๚ ೔࣌ʹ΋ར༻Մೳ
  5. ©NAVITIME JAPAN தࠃࢢ৔Ͱͷ৐׵Ҋ಺ 8 Japan Travel by NAVITIME • ๚೔؍ޫ٬޲͚ͷ೔ຊ؍ޫΞϓϦ

    • ೔ຊͷ؍ޫهࣄӾཡɺ৐׵ݕࡧɺ஍ਤɺ ϓϥϯχϯά͕Մೳ • தࠃޠ͚ͩͰͳ͘ӳޠɺؖࠃޠͳͲʹ΋ ରԠ
  6. ©NAVITIME JAPAN தࠃࢢ৔Ͱͷ৐׵Ҋ಺ 9 • ๚೔தࠃਓ޲͚ͷ৐׵ݕࡧαʔϏεΛ2019/5/28ʹఏڙ։࢝ • ެڞަ௨ػؔΛར༻ͨ͠Ӻ to Ӻͷ৐׵ܦ࿏ݕࡧ͕Մೳ

    • தࠃࠃ಺Ͱ࢖͍׳ΕͨΞϓϦ಺͔ΒγʔϜϨεʹར༻Մೳ • ৐׵ػೳʹಛԽͨ͠ϛχϓϩάϥϜͷఏڙ͸೔ຊاۀॳ ʢ2019/6/6࣌఺ʣ
  7. ©NAVITIME JAPAN όοΫΤϯυͷߏ੒ 17 OSS • ΞΫηεϩά͸͢΂ͯObject Storage Service (OSS)

    ʹอଘ • ߳ߓϦʔδϣϯ֎ʹग़͞ͳ͍Α͏ʹݸਓ৘ใ౳ʹ΋഑ྀ
  8. ©NAVITIME JAPAN όοΫΤϯυͷߏ੒ 18 OSS • ΞΫηεϩά͸͢΂ͯObject Storage Service (OSS)

    ʹอଘ • ߳ߓϦʔδϣϯ֎ʹग़͞ͳ͍Α͏ʹݸਓ৘ใ౳ʹ΋഑ྀ • ίϯςφ಺͔ΒͷΞΫηεϩάͷग़ྗʹ͸fluentdΛར༻ • OSSʹϩάΛग़ྗ͔ͨͬͨͨ͠Ί
  9. ©NAVITIME JAPAN σϓϩΠ؀ڥ 21 ᶃJenkinsͷ࣮ߦ ᶅϦϙδτϦ͔ΒઃఆϑΝΠϧऔಘ ᶇઃఆϑΝΠϧΛಡΈࠐΜͰ ɹSpinnaker͕σϓϩΠΛ࣮ߦ ᶆઃఆϑΝΠϧΛݩʹ ɹSpinnakerΛ࣮ߦ

    ᶈContainer Registry͔Β ɹ৽͍͠ΠϝʔδΛDL͠ ɹ৽͍͠ΠϯελϯεͰల։ ᶄContainer Registry΁ ɹDockerΠϝʔδΛొ࿥
  10. ©NAVITIME JAPAN ߏங࣌ͷπϚρΩϙΠϯτ 23 • RAM (Resource Access Management) ݖݶ؅ཧ

    • ݖݶΛ෇͚ͯ΋ར༻Ͱ͖ͳ͍αʔϏε͕͋ͬͨ • RootΞΧ΢ϯτͰActivate͢Δඞཁ͕͋ͬͨ • CDNͷࣄલݕূ • υϝΠϯઃఆલͷಈ࡞֬ೝ͕Ͱ͖ͳ͍ • ূ໌ॻ͸ແྉͷূ໌ॻ͕ར༻Մೳ • ূ໌ॻͷೝূʹ͸υϝΠϯͷઃఆ͕ඞཁ • ͢Ͱʹ࢖͍ͬͯΔυϝΠϯΛ࢖͏৔߹͸੾Γସ͑࣌ʹSSLͷ઀ଓஅ ͕ൃੜ͢Δ
  11. ©NAVITIME JAPAN ߏங࣌ͷπϚρΩϙΠϯτ 24 • NAT Gatewayͷ؅ཧ • NAT GatewayΛ࡞੒͢ΔલʹɺContainer

    ClusterΛ࡞੒͢Δͱࣗಈ Ͱ࡞੒͞ΕΔʢROSͰͷߏங࣌ʣ • ಉ࣌ʹ࡞੒͞Εͨ৔߹ɺCluster࡟আ࣌ʹҰॹʹ࡟আ͞ΕΔͷͰ஫ҙ
  12. ©NAVITIME JAPAN ϦϦʔεޙͷॴײ 29 • ݖݶ؅ཧ͕RAM(Resource Access Management)͚ͩͰ׬݁͠ͳ͍ • Container

    Registry͸ผ్RootΞΧ΢ϯτ͔ΒActivate͕ඞཁ • RAMͰAdministratorAccessΛ༩͑ͯΤϥʔʹͳΔ͜ͱ΋ • ॳظ͸RootΞΧ΢ϯτͰ࡞ۀΛ࣮ࢪ ཁ๬/ճආࡦᶅ
  13. ©NAVITIME JAPAN ϦϦʔεޙͷॴײ 30 • RAMϩʔϧ͕࢖͑ͣɺΞΫηεΩʔΛൃߦͤ͟ΔΛಘͳ͍ύλʔϯ͕ଟ͍ • ECS಺͔ΒAliyun CLI͸RAMϩʔϧͷར༻͕Մೳ •

    ossutil͸ΞΫηεΩʔͷΈར༻Մೳ • Aliyun CLIͰOSSૢ࡞͕Ͱ͖ͳ͍ • OSSૢ࡞͸ossutilΛར༻ • DataV͔ΒOSS΁ͷࢀর͸ΞΫηεΩʔͷΈՄೳ ཁ๬/ճආࡦᶆ
  14. ©NAVITIME JAPAN σʔλ෼ੳ 32 • ΞΫηεϩάͷՄࢹԽʹ͸DataVΛ࠾༻ • DataV • ๛෋ͳάϥϑύλʔϯΛඋ͑ͨߴػೳͳσʔλՄࢹԽπʔϧ

    • ΞϦόόάϧʔϓͰ͸ಠ਎ͷ೔ͷച্ՄࢹԽʹ΋࢖ΘΕ͍ͯΔ • ՄࢹԽπʔϧͷͨΊɺࣄલʹूܭ౳Ճ޻͓ͯ͘͠ඞཁ͕͋Δ
  15. ©NAVITIME JAPAN ௚ۙͷ՝୊ 36 • ϦΞϧλΠϜσʔλ෼ੳ؀ڥͷߏங • DataVͷιʔεΛOSS͔ΒApsaraDB for RDSʹมߋ

    • ETLॲཧΛECS͔ΒDataWorksʹมߋ • WAFͷಋೖ • ΞΫηεϩάΛݟ͍ͯΔͱظ଴௨Γதࠃ͔ΒͷΞΫηε͕ଟ͍ • ߈ܸ/ΫϩʔϥʔతΞΫηε͕ݟड͚ΒΕΔͷͰ๷͍͗ͨ