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

サーバレスアーキテクチャによる有料ライブ配信サービスの構築

74cec195bfb6cb5165256d88cb7fcf0f?s=47 Kazuki Miura
November 14, 2019

 サーバレスアーキテクチャによる有料ライブ配信サービスの構築

イベントで3日だけしか使わない有料ライブ配信システムのお話です。
放送局の人向けの内容になっています。

#interBEE2019
#AWS
#Go_SaaS
#jawsug

74cec195bfb6cb5165256d88cb7fcf0f?s=128

Kazuki Miura

November 14, 2019
Tweet

Transcript

  1. αʔόϨεΞʔΩςΫνϟʹΑΔ ༗ྉϥΠϒ഑৴αʔϏεͷߏங  !*OUFS#&&

  2. ʮֶशίετ͸ͲΜͲΜԼ͕͍ͬͯΔʯ

  3. ࡾӜҰथ ίϯςϯπϏδωεہ ωοτσδλϧࣄۀ෦ ݉ฤ੒ہฤ੒෦ ٕ݉ज़ہ์ૹɾ*5γεςϜ෦ ೥ Ϛελʔ ೥ σʔλ์ૹ ೥

    ࢹௌσʔλ ೥ ωοτϚωλΠζ ࣗݾ঺հ
  4. ৽ͨͳϏδωεϞσϧͷߏங͕ٸ຿ ಛʹ஍ํہ

  5. ࢹௌσʔλ

  6. ͲΜͲΜ ٞ࿦ ͠·͠ΐ ςϨϏࢹௌͷՄࢹԽ ৽ͨͳࢦඪͮ͘Γ ෼ੳख๏ͷཱ֬ ࢢ৔ن໛͸ʁ ಈը഑৴ͱ߹Θͤͨηʔϧε FUDʜ

  7. ΋͏ͻͱͭɺ͋Γ·͢ΑͶ

  8. ՝ۚ αʔϏε

  9. ࠷௿ݶͷίετͰ ࠇࣈʹͳΔγεςϜΛʂ ٕज़Ͱސ٬ຬ଍Λಘͯ ٕज़ͰՔ͙

  10. None
  11. ༗ྉϥΠϒ഑৴ αʔϏεߏங

  12. ˟儗꟦כ✮㹀דׅկ鿪さח״׶㢌刿ׅ׷㜥さָ֮׶תֿׅ ה✮׭׀✪䪫ֻ׌ְׁկ  ꆃ 㕼 傈  Ꟛ㜥⳿䏄ـ٦أꟚ䏄 ىصٓ؎ـװ⳿䏄13ة؎يזו ⼯⵸⚥ַ׵嚂׃ְ؎كٝز׾׋ֻׁ׿׀欽䠐׃גת

    ׅԒ  ً؎ٝ؎كٝز儎ך鿇 ؔ٦فصؚٝإٌٖص٦⳿怴罏ز٦ؙءّ٦ չ痥㔐וֲדى٦颣պ涪邌խקַ  ؜أز،٦ذ؍أز-*7&ىص⟰歗갫♶ず 넝堀峔㶨 랲葿ׅ׫׸ $IJNB 〢愮ⶌ 〢愮ⶌ OPOPD 䩧껷柰Ꟍず㥨⠓ 筁ꅿת׃׹ /03% ،ؙٕٔ؝٦ٕ %&1"1&1& ཁ݅ ʻனͷ෦ʼΛର৅ ̏೔ؒ ̎࣌ؒͣͭ ༗ྉϥΠϒ഑৴ ΞʔΧΠϒແ͠ ̍ສਓདྷͯ΋଱͑ΒΕΔ εέδϡʔϧ
  13. ϓϩϚω഑৴ ϓϩάϥϚ"1* ϓϩάϥϚϑϩϯτ ։ൃϝϯό σʔλ์ૹ σʔλ์ૹ

  14. ಺੡XFCαʔϏε

  15. ମ੍ ϓϩϚω ϓϩάϥϚ ϓϩάϥϚ "84 "VUI 2"ίϯαϧ σβΠφ ωοτϫʔΫ

  16. ϲ݄ ͪΐ͍ ։ൃظؒ

  17. ݄ Ր ਫ ໦ ۚ ౔ ೔   

        ٳ ٳ        ٳ  ॕ       ٳ  ॕ       ٳ        ࠂ஌ ϦϦʔε ຊ൪ᶃ ຊ൪ᶄ ຊ൪ᶅ ௐࠪɾυΩϡϝϯτಡΜͰ৮ͬͯΈΔ ࣮૷ɾ୯ମςετ ࣮૷ɾ݁߹ςετ ࣾ಺εςʔδϯάςετɾमਖ਼ νΣοΫ νΣοΫ νΣοΫ όοΫΞοϓߏங εέδϡʔϧ
  18. ݄ Ր ਫ ໦ ۚ ౔ ೔   

        ٳ ٳ        ٳ  ॕ       ٳ  ॕ       ٳ        ࠂ஌ ϦϦʔε ຊ൪ᶃ ຊ൪ᶄ ຊ൪ᶅ νΣοΫ εέδϡʔϧ ग़ ग़ ग़ ग़ ग़ ग़ ग़ ग़ ʷ ग़ ʷ
  19. ߏ੒

  20. )5#ओௐ੔ࣨ %JSFDU$POOFDU .FEJB-JWF .FEJB1BDLBHF $MPVE'SPOU 71$ DRM SaaS Users Πϕϯτձ৔

    json XML octet-stream $MPVE'SPOU 4 -BNCEB "1*(BUFXBZ -BNCEB1SPYZ -BNCEB "1*(BUFXBZ &MFNFOUT -BNCEB "1*(BUFXBZ 3PVUF "$. 4FDSFUT.BOBHFS தܧं ߪೖঢ়ଶ֬ೝ -PDL iOS༻ ϦΫΤετ શମߏ੒
  21. .FEJB-JWF .FEJB1BDLBHF + αʔόϨε ϑϧϚωʔδυ 4BB4࿈ܞ + 41" "1*(BUFXBZ -BNCEB

    + 4 $MPVE'SPOU ܾࡁ ೝূ ࠶ੜ %3.
  22. ϑϧϚωʔδυ αʔόϨε 4BB4࿈ܞ 41" ߏ੒ᶃ

  23. 7VF "OHVMBS 3FBDU 4JOHMF 1BHF "QQMJDBUJPO

  24. 7VF "OHVMBS 3FBDU 7VFΛ࠾༻ ֶशίετ͕௿͍ Β͍͠

  25. 7VF ϑϨʔϜϫʔΫ /VYUKT Λ࠾༻

  26. (JU-BCΛ࢖ͬͯ 4ʹσϓϩΠ 4UBUJD ॳ(JU ॳ$*$% 4 $MPVE'SPOU $*$% DPNNJU QVTI

  27. ϑϧϚωʔδυ αʔόϨε 4BB4࿈ܞ 41" ߏ੒ᶄ

  28. ΍Βͳ͍ͱ͜ΖΛ ૿΍ͨ͢Ίʹ 4BB4Λੵۃ࠾༻

  29. ܾࡁ

  30. &MFNFOUT ηΩϡΞͳϑΥʔϜ Λ؆୯ʹ

  31. ೝূ

  32. ϩάΠϯը໘ 4/4ϩάΠϯΛ ؆୯ʹ࣮ݱ

  33. ϩάΠϯ͸4/4ͷΈ ߪೖ৘ใ֨ೲ

  34. ʮ"VUIʯͰ࡞Δʂ ೝূ෇͖γϯάϧϖʔδΞϓϦέʔγϣϯ ϕʔε͸ຊͷ௨Γʹ ͋ͱ͸ ެࣜυΩϡϝϯτ Ϋϥεϝιου͞Μ ʹ 2"

  35. ޻਺Λ େ෯ʹ࡟ݮ ྉۚ΋࢖ͬͨ෼͚ͩ

  36. ϑϧϚωʔδυ αʔόϨε 4BB4࿈ܞ 41" ߏ੒ᶅ

  37. DRM SaaS ಈը഑৴෦෼ ΞʔΩςΫνϟ )-4 %"4) )-4 %"4) 4 $MPVE'SPOU

    "84&MFNFOUBM .FEJB-JWF "84&MFNFOUBM .FEJB-JWF %JSFDU$POOFDU 71$ 71$ */165 ಈ࡞֬ೝ༻.1 ίϯςϯπ*% ෆਖ਼Ξοϓϩʔυରࡦ :PV5VCF ߪೖલ֬ೝ ຊฤ
  38. DRM SaaS )-4 %"4) )-4 %"4) 4 $MPVE'SPOU "84&MFNFOUBM .FEJB-JWF

    "84&MFNFOUBM .FEJB-JWF %JSFDU$POOFDU 71$ 71$ */165 ಈ࡞֬ೝ༻.1 ίϯςϯπ*% ෆਖ਼Ξοϓϩʔυରࡦ :PV5VCF ߪೖલ֬ೝ ຊฤ ҆ఆ͕࠷༏ઌ ຊฤ࠶ੜ ดҬ઀ଓͰ ҆ఆੑΛ୲อ σΟϨΠ͸ ؾʹ͠ͳͯ͘Α͍ /55౦೔ຊ͞Μ
  39. DRM SaaS )-4 %"4) )-4 %"4) 4 $MPVE'SPOU "84&MFNFOUBM .FEJB-JWF

    "84&MFNFOUBM .FEJB-JWF %JSFDU$POOFDU 71$ 71$ */165 ಈ࡞֬ೝ༻.1 ίϯςϯπ*% ෆਖ਼Ξοϓϩʔυରࡦ :PV5VCF ߪೖલ֬ೝ ຊฤ ߪೖલ ςετ࠶ੜ ߪೖޙ ຊฤ࠶ੜ ಉ͡ߏ੒Ͱ ಈ࡞֬ೝΛଅ͢
  40. DRM SaaS )-4 %"4) )-4 %"4) 4 $MPVE'SPOU "84&MFNFOUBM .FEJB-JWF

    "84&MFNFOUBM .FEJB-JWF %JSFDU$POOFDU 71$ 71$ */165 ಈ࡞֬ೝ༻.1 ίϯςϯπ*% ෆਖ਼Ξοϓϩʔυରࡦ :PV5VCF ߪೖલ֬ೝ ຊฤ ҉߸Խ /&954$"1&͞Μͷ .VMUJ%3.,JUΛ࠾༻ ग़ԋऀͷؔ܎Ͱ %3.͸ඞਢͩͬͨ
  41. DRM SaaS )-4 %"4) )-4 %"4) 4 $MPVE'SPOU "84&MFNFOUBM .FEJB-JWF

    "84&MFNFOUBM .FEJB-JWF %JSFDU$POOFDU 71$ 71$ */165 ಈ࡞֬ೝ༻.1 ίϯςϯπ*% ෆਖ਼Ξοϓϩʔυରࡦ :PV5VCF ߪೖલ֬ೝ ຊฤ όοΫΞοϓ ऩ࿥ͷόοΫΞοϓ
  42. DRM SaaS )-4 %"4) )-4 %"4) 4 $MPVE'SPOU "84&MFNFOUBM .FEJB-JWF

    "84&MFNFOUBM .FEJB-JWF %JSFDU$POOFDU 71$ 71$ */165 ಈ࡞֬ೝ༻.1 ίϯςϯπ*% ෆਖ਼Ξοϓϩʔυରࡦ :PV5VCF ߪೖલ֬ೝ ຊฤ ෆਖ਼ରࡦ :PV5VCFʹඇެ։Ͱ Ξοϓϩʔυ ίϯςϯπ*%ػೳͰ ෆਖ਼Ξοϓϩʔυରࡦ
  43. ΄΅Ұ୒

  44. ϑϧϚωʔδυ αʔόϨε 4BB4࿈ܞ 41" ߏ੒ᶆ

  45. "1*(BUFXBZ &MFNFOUT 4FDSFUT .BOBHFS ߪೖঢ়ଶ֬ೝ -PDL J04༻ ϦΫΤετ 4 -BNCEB

    "1*(BUFXBZ "1*ܦ༝ͷ ΍ΓͱΓ KTPO 9.- PDUFUTUSFBN
  46. ࠶ੜຖʹ -BNCEBΛୟ͘ ෮߸ /&954$"1&͞Μ ʹ ࡞ͬͯ΋Β͍·ͨ͠ "1*(BUFXBZ &MFNFOUT 4FDSFUT .BOBHFS

    ߪೖঢ়ଶ֬ೝ -PDL J04༻ ϦΫΤετ 4 -BNCEB "1*(BUFXBZ KTPO 9.- PDUFUTUSFBN /&954$"1&͞Μ Ͱ ݕূࡁͷ 5)&0QMBZFS
  47. "1*(BUFXBZ &MFNFOUT 4FDSFUT .BOBHFS ߪೖঢ়ଶ֬ೝ -PDL J04༻ ϦΫΤετ 4 -BNCEB

    "1*(BUFXBZ KTPO 9.- PDUFUTUSFBN ܾࡁ ߪೖঢ়ଶอଘ -BNCEBܦ༝Ͱ ܾࡁॲཧ ٧ΊࠐΈ͗ͨ͢ʜ 4UFQ'VODUJPOT͋Δ͚Ͳ ֶश࣌ؒͷؔ܎Ͱ͜ͷߏ੒ʹ
  48. "1*(BUFXBZ &MFNFOUT 4FDSFUT .BOBHFS ߪೖঢ়ଶ֬ೝ -PDL J04༻ ϦΫΤετ 4 -BNCEB

    "1*(BUFXBZ KTPO 9.- PDUFUTUSFBN ߪೖঢ়ଶऔಘ J04͚ͩ -BNCEBܦ༝Ͱऔಘ MPDLDIFDL4FTTJPO  -PDLHFU6TFS*OGP  Ͱऔಘ
  49. ֶशํ๏

  50. ϒϩά ίϛϡχςΟ υΩϡϝϯτ αʔόϨε͍͍ͧ ֶशํ๏

  51. αʔόʁ%#ʁ ษڧ͢Δ͔

  52. ̍೥͘Β͍લ

  53. &$ָ͘͠ͳ͔ͬͨɻɻɻ ͜ΕΛ࠷ޙʹ৮ͬͯͳ͍

  54. %#͸Կʹ࢖͏ͷ͔Θ͔Βͳ͍

  55. ΰʔϧΛ࣮ݱ͢ΔͨΊʹ ຊ౰ʹඞཁͳ΋ͷ͚ͩΛ࣮૷͢Δ

  56. .FEJB-JWF .FEJB1BDLBHF + αʔόϨε ϑϧϚωʔδυ 4BB4࿈ܞ + 41" "1*(BUFXBZ -BNCEB

    + 4 $MPVE'SPOU ܾࡁ ೝূ ࠶ੜ %3. ษڧ͢ΔͳΒ αʔόϨε
  57. ࠔͬͨͱ͖ Ͳ͏΍ͬͯௐ΂͔ͨ ެࣜυΩϡϝϯτ ͜Ε͕࠷ڧ

  58. ٕज़ϒϩά TJUFEFWDMBTTNFUIPEKQ\ʓʓ^ Ͱݕࡧʂ

  59. ͱΓ͋͑ͣɺ ίϐϖͰ࡞ͬͯΈΔ

  60. HTB ओௐ੔ࣨ Direct Connect MediaLive MediaPackage CloudFront VPC DRM SaaS

    Users Πϕϯτձ৔ json XML octet-stream CloudFront S3 Lambda API Gateway Lambda Proxy Lambda API Gateway Elements Lambda API Gateway Route 53 ACM Secrets Manager தܧं ߪೖঢ়ଶ֬ೝ Lock ͜͜΄΅ίϐϖ άάΕ͹ͳΜͱ͔ͳΔ /P$PEF -PX$PEF iOS༻ ϦΫΤετ
  61. ίϛϡχςΟ

  62. શࠃͰ"84ʹ͍ͭͯ ษڧձ͕։࠵ /P4FMM /P+PC Ϣʔβओମ +"846(ࡳຈ

  63. ϝσΟΞؔ܎ͷํͥͻʂ ࠓ೥஀ੜʂ

  64. None
  65. +"846( ஍ํΠϕϯτ )5#Ͱ։࠵ ໊Ҏ্ʂ

  66. +"84%":4   ౔  ౦ژ!50$ޒ൓ాϝοη 4BWFUIF%BUF

  67. Ͱ΋ɺͳΜ͔೉ͦ͠͏ʜ

  68. ์ૹٕज़ऀ͸ ΋ͬͱ೉͍͜͠ͱΛ ΍͖͍ͬͯͯΔ "3*#*157' "54$%7#

  69. ์ૹͱ௨৴ͷ༥߹͸ ์ૹٕज़ऀͷ೤ྔʹΑͬͯͷΈ ࣮ݱ͞ΕΔʂ

  70. ʮֶशίετ͸ͲΜͲΜԼ͕͍ͬͯΔʯ ௨৴Ϋϥ΢υଆͷ

  71. BXTΛத৺ͱͨ͠ ΤίγεςϜશମ Ͱଊ͑Δ

  72. ҰॹʹαʔϏε ࣮૷͠·͠ΐ͏ʂ

  73. THANK YOU! Don't be concerned ! Think ! Just Do

    IT!