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

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

Kazuki Miura
November 14, 2019

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

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

#interBEE2019
#AWS
#Go_SaaS
#jawsug

Kazuki Miura

November 14, 2019
Tweet

More Decks by Kazuki Miura

Other Decks in Technology

Transcript

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

    !*OUFS#&&

    View Slide

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

    View Slide

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

    View Slide

  4. ৽ͨͳϏδωεϞσϧͷߏங͕ٸ຿
    ಛʹ஍ํہ

    View Slide

  5. ࢹௌσʔλ

    View Slide

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

    View Slide

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

    View Slide

  8. ՝ۚ
    αʔϏε

    View Slide

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

    View Slide

  10. View Slide

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

    View Slide

  12. ˟儗꟦כ✮㹀דׅկ鿪さח״׶㢌刿ׅ׷㜥さָ֮׶תֿׅ
    ה✮׭׀✪䪫ֻ׌ְׁկ
    ꆃ 㕼 傈
    Ꟛ㜥⳿䏄ـ٦أꟚ䏄
    ىصٓ؎ـװ⳿䏄13ة؎يזו
    ⼯⵸⚥ַ׵嚂׃ְ؎كٝز׾׋ֻׁ׿׀欽䠐׃גת
    ׅԒ
    ً؎ٝ؎كٝز儎ך鿇
    ؔ٦فصؚٝإٌٖص٦⳿怴罏ز٦ؙءّ٦
    չ痥㔐וֲדى٦颣պ涪邌խקַ
    ؜أز،٦ذ؍أز-*7&ىص⟰歗갫♶ず
    넝堀峔㶨
    랲葿ׅ׫׸
    $IJNB
    〢愮ⶌ
    〢愮ⶌ
    OPOPD
    䩧껷柰Ꟍず㥨⠓
    筁ꅿת׃׹
    /03%
    ،ؙٕٔ؝٦ٕ
    %&1"1&1&
    ཁ݅
    ʻனͷ෦ʼΛର৅
    ̏೔ؒ ̎࣌ؒͣͭ
    ༗ྉϥΠϒ഑৴
    ΞʔΧΠϒແ͠
    ̍ສਓདྷͯ΋଱͑ΒΕΔ
    εέδϡʔϧ

    View Slide

  13. ϓϩϚω഑৴
    ϓϩάϥϚ"1*
    ϓϩάϥϚϑϩϯτ
    ։ൃϝϯό
    σʔλ์ૹ
    σʔλ์ૹ

    View Slide

  14. ಺੡XFCαʔϏε

    View Slide

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

    View Slide

  16. ϲ݄
    ͪΐ͍
    ։ൃظؒ

    View Slide

  17. ݄ Ր ਫ ໦ ۚ ౔ ೔

    ٳ ٳ

    ٳ


    ٳ


    ٳ

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

    View Slide

  18. ݄ Ր ਫ ໦ ۚ ౔ ೔

    ٳ ٳ

    ٳ


    ٳ


    ٳ

    ࠂ஌ ϦϦʔε ຊ൪ᶃ ຊ൪ᶄ ຊ൪ᶅ
    νΣοΫ
    εέδϡʔϧ



    ग़ ग़ ग़
    ग़ ग़
    ʷ
    ग़ ʷ

    View Slide

  19. ߏ੒

    View Slide

  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༻
    ϦΫΤετ
    શମߏ੒

    View Slide

  21. .FEJB-JWF .FEJB1BDLBHF
    +
    αʔόϨε
    ϑϧϚωʔδυ
    4BB4࿈ܞ
    +
    41"
    "1*(BUFXBZ -BNCEB
    +
    4 $MPVE'SPOU
    ܾࡁ ೝূ
    ࠶ੜ %3.

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  29. ܾࡁ

    View Slide

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

    View Slide

  31. ೝূ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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
    ߪೖલ֬ೝ
    ຊฤ

    View Slide

  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౦೔ຊ͞Μ

    View Slide

  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
    ߪೖલ֬ೝ
    ຊฤ
    ߪೖલ
    ςετ࠶ੜ
    ߪೖޙ
    ຊฤ࠶ੜ
    ಉ͡ߏ੒Ͱ
    ಈ࡞֬ೝΛଅ͢

    View Slide

  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.͸ඞਢͩͬͨ

    View Slide

  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
    ߪೖલ֬ೝ
    ຊฤ
    όοΫΞοϓ
    ऩ࿥ͷόοΫΞοϓ

    View Slide

  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ʹඇެ։Ͱ
    Ξοϓϩʔυ
    ίϯςϯπ*%ػೳͰ
    ෆਖ਼Ξοϓϩʔυରࡦ

    View Slide

  43. ΄΅Ұ୒

    View Slide

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

    View Slide

  45. "1*(BUFXBZ
    &MFNFOUT
    4FDSFUT
    .BOBHFS
    ߪೖঢ়ଶ֬ೝ
    -PDL
    J04༻
    ϦΫΤετ
    4
    -BNCEB "1*(BUFXBZ
    "1*ܦ༝ͷ
    ΍ΓͱΓ
    KTPO
    9.-
    PDUFUTUSFBN

    View Slide

  46. ࠶ੜຖʹ
    -BNCEBΛୟ͘
    ෮߸
    /&954$"1&͞Μ
    ʹ
    ࡞ͬͯ΋Β͍·ͨ͠
    "1*(BUFXBZ
    &MFNFOUT
    4FDSFUT
    .BOBHFS
    ߪೖঢ়ଶ֬ೝ
    -PDL
    J04༻
    ϦΫΤετ
    4
    -BNCEB "1*(BUFXBZ
    KTPO
    9.-
    PDUFUTUSFBN
    /&954$"1&͞Μ
    Ͱ
    ݕূࡁͷ
    5)&0QMBZFS

    View Slide

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

    View Slide

  48. "1*(BUFXBZ
    &MFNFOUT
    4FDSFUT
    .BOBHFS
    ߪೖঢ়ଶ֬ೝ
    -PDL
    J04༻
    ϦΫΤετ
    4
    -BNCEB "1*(BUFXBZ
    KTPO
    9.-
    PDUFUTUSFBN
    ߪೖঢ়ଶऔಘ
    J04͚ͩ
    -BNCEBܦ༝Ͱऔಘ
    MPDLDIFDL4FTTJPO

    -PDLHFU6TFS*OGP

    Ͱऔಘ

    View Slide

  49. ֶशํ๏

    View Slide

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

    View Slide

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

    View Slide

  52. ̍೥͘Β͍લ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  56. .FEJB-JWF .FEJB1BDLBHF
    +
    αʔόϨε
    ϑϧϚωʔδυ
    4BB4࿈ܞ
    +
    41"
    "1*(BUFXBZ -BNCEB
    +
    4 $MPVE'SPOU
    ܾࡁ ೝূ
    ࠶ੜ %3.
    ษڧ͢ΔͳΒ
    αʔόϨε

    View Slide

  57. ࠔͬͨͱ͖
    Ͳ͏΍ͬͯௐ΂͔ͨ
    ެࣜυΩϡϝϯτ
    ͜Ε͕࠷ڧ

    View Slide

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

    View Slide

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

    View Slide

  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༻
    ϦΫΤετ

    View Slide

  61. ίϛϡχςΟ

    View Slide

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

    View Slide

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

    View Slide

  64. View Slide

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

    View Slide

  66. +"84%":4



    ౦ژ!50$ޒ൓ాϝοη
    4BWFUIF%BUF

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide