$30 off During Our Annual Pro Sale. View Details »

IoTデバイスの疑似データ送信システムにおける サーバーレスなログ処理機構の試行錯誤

Keita Mohri
December 14, 2019

IoTデバイスの疑似データ送信システムにおける サーバーレスなログ処理機構の試行錯誤

ServerlessDays Fukuoka 2019

Keita Mohri

December 14, 2019
Tweet

More Decks by Keita Mohri

Other Decks in Technology

Transcript

  1. *P5σόΠεͷٙࣅσʔλૹ৴γεςϜʹ͓͚Δ
    αʔόʔϨεͳϩάॲཧػߏͷࢼߦࡨޡ
    4FSWFSMFTT%BZT'VLVPLB
    4BU

    ໟརܒଠ

    View Slide


  2. ‣ 'VTJD$P -UE
    ‣ ϓϦϯγύϧΤϯδχΞNPDLNPDLνʔϜϦʔμʔ
    ‣ "84 403"$0. (P 3VCZ
    ‣ ਺࣌ؒͰ׬શཧղʂΘΓͱΰπ͍,VCFSOFUFTϋϯζΦϯʂʂ
    w IUUQTRJJUBDPN,UB.JUFNTDFDEEGEE
    ໟརܒଠʢ΋͏Γ͚͍ͨʣ

    View Slide

  3. *P5σόΠεͷٙࣅσʔλૹ৴γεςϜʹ͓͚Δ
    αʔόʔϨεͳϩάॲཧػߏͷࢼߦࡨޡ

    View Slide


  4. *P5։ൃऀ޲͚ͷٙࣅσʔλੜ੒ɾૹ৴αʔϏε
    NPDLNPDL
    8FCίϯιʔϧ͔Β੍ޚ
    Backend
    ٙࣅσʔλ
    Ծ૝σόΠε
    NPDL
    ࣮σόΠεͳ͠Ͱ
    #BDLFOEͷ
    ςετ΍ෛՙࢼݧ͕
    ࣮ࢪՄೳʹ

    View Slide

  5. ը໘Πϝʔδ

    ࢥ͍௨ΓͷϑΥʔϚοτͰ+40/σʔλΛੜ੒ Ծ૝σόΠεͷεςʔλεͱͦͷมԽΛ೚ҙʹઃఆ
    ͞·͟·ͳ࣌ܥྻσʔλੜ੒ػೳ

    View Slide

  6. *P5σόΠεͷٙࣅσʔλૹ৴γεςϜʹ͓͚Δ
    αʔόʔϨεͳϩάॲཧػߏͷࢼߦࡨޡ

    View Slide

  7. γεςϜશମ૾

    View Slide


  8. PublicSubnet
    Web
    Web
    WebίϯιʔϧͰ
    ಈ࡞Λઃఆ
    mockΛૢ࡞
    PrivateSubnet
    RDS

    View Slide


  9. PublicSubnet PrivateSubnet
    Web
    Web Worker
    Worker
    WebίϯιʔϧͰ
    ಈ࡞Λઃఆ
    mockΛૢ࡞
    mockૢ࡞JobΛ
    ൃߦ
    PrivateSubnet
    RDS

    View Slide


  10. PublicSubnet PrivateSubnet
    S3 Bucket
    (Lot)
    S3 Bucket
    (Binary)
    Web
    Web Worker
    Worker
    mockૢ࡞JobΛ
    ൃߦ
    ઃఆϑΝΠϧΛ
    Ξοϓϩʔυ
    mockαʔόʔʹ
    ૢ࡞ࢦࣔ
    PrivateSubnet
    Mock
    Mock
    Mock
    Mock
    Mock
    Mock
    WebίϯιʔϧͰ
    ಈ࡞Λઃఆ
    mockΛૢ࡞
    PrivateSubnet
    RDS

    View Slide


  11. PublicSubnet PrivateSubnet
    S3 Bucket
    (Lot)
    S3 Bucket
    (Binary)
    Web
    Web Worker
    Worker
    mockૢ࡞JobΛ
    ൃߦ
    ઃఆϑΝΠϧΛ
    Ξοϓϩʔυ
    mockαʔόʔʹ
    ૢ࡞ࢦࣔ
    ઃఆϑΝΠϧ
    όΠφϦΛDL
    PrivateSubnet
    Mock
    Mock
    Mock
    Mock
    Mock
    Mock
    WebίϯιʔϧͰ
    ಈ࡞Λઃఆ
    mockΛૢ࡞
    PrivateSubnet
    RDS

    View Slide


  12. PublicSubnet PrivateSubnet
    S3 Bucket
    (Lot)
    S3 Bucket
    (Binary)
    Web
    Web Worker
    Worker
    mockૢ࡞JobΛ
    ൃߦ
    ઃఆϑΝΠϧΛ
    Ξοϓϩʔυ
    mockαʔόʔʹ
    ૢ࡞ࢦࣔ
    ઃఆϑΝΠϧ
    όΠφϦΛDL
    PrivateSubnet
    Mock
    Mock
    Mock
    Mock
    Mock
    Mock
    WebίϯιʔϧͰ
    ಈ࡞Λઃఆ
    mockΛૢ࡞
    mockϓϩηε
    ىಈ
    PrivateSubnet
    RDS

    View Slide


  13. PublicSubnet PrivateSubnet
    S3 Bucket
    (Lot)
    S3 Bucket
    (Binary)
    Web
    Web Worker
    Worker
    mockૢ࡞JobΛ
    ൃߦ
    ઃఆϑΝΠϧΛ
    Ξοϓϩʔυ
    mockαʔόʔʹ
    ૢ࡞ࢦࣔ
    ઃఆϑΝΠϧ
    όΠφϦΛDL
    PrivateSubnet
    Mock
    Mock
    Mock
    Mock
    Mock
    Mock
    mockϓϩηε
    ىಈ
    WebίϯιʔϧͰ
    ಈ࡞Λઃఆ
    mockΛૢ࡞
    PrivateSubnet mockՔಇঢ়گ
    Λ௨஌
    RDS
    ϩάॲཧػߏ
    ʁ
    Log Storage
    ϩάૹ৴
    ϩάอଘ

    View Slide


  14. PublicSubnet PrivateSubnet
    S3 Bucket
    (Lot)
    S3 Bucket
    (Binary)
    Web
    Web Worker
    Worker
    mockૢ࡞JobΛ
    ൃߦ
    ઃఆϑΝΠϧΛ
    Ξοϓϩʔυ
    mockαʔόʔʹ
    ૢ࡞ࢦࣔ
    ઃఆϑΝΠϧ
    όΠφϦΛDL
    PrivateSubnet
    Mock
    Mock
    Mock
    Mock
    Mock
    Mock
    mockϓϩηε
    ىಈ
    WebίϯιʔϧͰ
    ಈ࡞Λઃఆ
    mockΛૢ࡞
    PrivateSubnet mockՔಇঢ়گ
    Λ௨஌
    RDS
    ϩάॲཧػߏ
    ʁ
    Log Storage
    ϩάૹ৴
    ϩάอଘ
    Mock
    Mock
    [ mock ]
    Go੡όΠφϦ͔Βཱͯͨ
    Ծ૝σόΠε໾ϓϩηε
    [ tower ]
    Go੡όΠφϦ͔Βཱͯͨ
    mock؅ཧϓϩηε

    View Slide

  15. ϩάॲཧػߏ

    View Slide


  16. <*/165>
    ֤NPDLϓϩηε͕
    ٙࣅσʔλૹ৴ͷͨͼʹ
    ϩάΛੜ੒ɾૹ৴
    <065165>
    Կ͔͠ΒͷετϨʔδʹ
    ੜϩάΛอଘ
    <065165>
    ϩάΛղੳͯ͠
    NPDLͷՔಇঢ়ଶΛ௨஌
    PrivateSubnet
    Worker
    Worker
    PrivateSubnet
    Mock
    Mock
    Mock
    Mock
    Mock
    Mock
    ϩάॲཧػߏ
    ʁ
    Log Storage

    View Slide

  17. ը໘ͰݟΔͱʜ

    <065165>NPDLͷՔಇঢ়ଶΛදࣔ
    <065165>อଘͨ͠ϩάΛදࣔάϥϑදࣔ

    View Slide

  18. *P5σόΠεͷٙࣅσʔλૹ৴γεςϜʹ͓͚Δ
    αʔόʔϨεͳϩάॲཧػߏͷࢼߦࡨޡ

    View Slide

  19. ϙΠϯτ

    View Slide


  20. PrivateSubnet
    Worker
    Worker
    PrivateSubnet
    Mock
    Mock
    Mock
    Mock
    Mock
    Mock
    ϩάॲཧػߏ
    ʁ
    Log Storage
    NPDLͷՔಇ਺͸
    ࠷େͰສ୆
    Քಇ਺͔Β
    ͍͖ͳΓສʹͳΔ͜ͱ΋

    View Slide


  21. PrivateSubnet
    Worker
    Worker
    PrivateSubnet
    Mock
    Mock
    Mock
    Mock
    Mock
    Mock
    ϩάॲཧػߏ
    ʁ
    Log Storage
    NPDLͷՔಇ਺͸
    ࠷େͰສ୆
    Քಇ਺͔Β
    ͍͖ͳΓສʹͳΔ͜ͱ΋

    NPDLͷσʔλૹ৴ִؒ͸
    ࠷খͰඵ

    View Slide


  22. ૹ৴ͨٙ͠ࣅσʔλͷ
    αΠζʹΑͬͯ
    ϩάͷαΠζ͸େ͖͘มಈ
    ,#ະຬd਺े,#

    PrivateSubnet
    Worker
    Worker
    PrivateSubnet
    Mock
    Mock
    Mock
    Mock
    Mock
    Mock
    ϩάॲཧػߏ
    ʁ
    Log Storage
    NPDLͷՔಇ਺͸
    ࠷େͰສ୆
    Քಇ਺͔Β
    ͍͖ͳΓສʹͳΔ͜ͱ΋

    NPDLͷσʔλૹ৴ִؒ͸
    ࠷খͰඵ

    View Slide


  23. ૹ৴ͨٙ͠ࣅσʔλͷ
    αΠζʹΑͬͯ
    ϩάͷαΠζ͸େ͖͘มಈ
    ,#ະຬd਺े,#

    NPDLͷՔಇঢ়ଶΛ
    ϦΞϧλΠϜʹ൓ө͍ͨ͠
    PrivateSubnet
    Worker
    Worker
    PrivateSubnet
    Mock
    Mock
    Mock
    Mock
    Mock
    Mock
    ϩάॲཧػߏ
    ʁ
    Log Storage
    NPDLͷՔಇ਺͸
    ࠷େͰສ୆
    Քಇ਺͔Β
    ͍͖ͳΓສʹͳΔ͜ͱ΋

    NPDLͷσʔλૹ৴ִؒ͸
    ࠷খͰඵ

    View Slide


  24. ૹ৴ͨٙ͠ࣅσʔλͷ
    αΠζʹΑͬͯ
    ϩάͷαΠζ͸େ͖͘มಈ
    ,#ະຬd਺े,#

    NPDLͷՔಇঢ়ଶΛ
    ϦΞϧλΠϜʹ൓ө͍ͨ͠
    PrivateSubnet
    Worker
    Worker
    PrivateSubnet
    Mock
    Mock
    Mock
    Mock
    Mock
    Mock
    ϩάॲཧػߏ
    ʁ
    Log Storage
    NPDLͷՔಇ਺͸
    ࠷େͰສ୆
    Քಇ਺͔Β
    ͍͖ͳΓສʹͳΔ͜ͱ΋

    NPDLͷσʔλૹ৴ִؒ͸
    ࠷খͰඵ
    Ұఆظ͕ؒܦաͨ͠Β
    ϩάΛফ͍ͨ͠

    View Slide


  25. ૹ৴ͨٙ͠ࣅσʔλͷ
    αΠζʹΑͬͯ
    ϩάͷαΠζ͸େ͖͘มಈ
    ,#ະຬd਺े,#

    NPDLͷՔಇ਺ʹΑͬͯ
    අ༻΋εέʔϧ͍ͤͨ͞
    NPDLͷՔಇঢ়ଶΛ
    ϦΞϧλΠϜʹ൓ө͍ͨ͠
    PrivateSubnet
    Worker
    Worker
    PrivateSubnet
    Mock
    Mock
    Mock
    Mock
    Mock
    Mock
    ϩάॲཧػߏ
    ʁ
    Log Storage
    NPDLͷՔಇ਺͸
    ࠷େͰສ୆
    Քಇ਺͔Β
    ͍͖ͳΓສʹͳΔ͜ͱ΋

    NPDLͷσʔλૹ৴ִؒ͸
    ࠷খͰඵ
    Ұఆظ͕ؒܦաͨ͠Β
    ϩάΛফ͍ͨ͠

    View Slide


  26. ͋ͳͨͳΒͲ͏͢Δʁ

    View Slide

  27. /PX-PBEJOH
    powerd by ʮ࣮ࣸ൛ϞΫ͑΋ΜJO&YQMPSFSdѪɾ͓΅͍͑ͯ·͔͢dʯ
    https://speakerdeck.com/ktam1219/shi-xie-ban-mokuemon-in-explorer-ai-oboeteimasuka

    View Slide

  28. ୈ̍ੈ୅

    View Slide

  29. ‣ NPDLαʔόʔʹ͸Կ΋Πϯετʔϧ͠ͳ͍
    ؂ࢹͱ͔ΞοϓάϨʔυͱ͔͕໘౗
    ‣ ϩάॲཧػߏʹωοτϫʔΫଳҬΛۃྗׂ͔ͳ͍
    ϝΠϯػೳͷٙࣅσʔλૹ৴ʹ࢖͍͍ͨ
    ୈੈ୅ํ਑

    View Slide


  30. PrivateSubnet
    Worker
    Worker
    PrivateSubnet
    Mock
    Mock
    Mock
    Mock
    Mock
    Mock
    S3 Bucket
    S3 Bucket
    Lambda
    ૹ৴ຖʹϩάΛ
    ॻ͖ग़͢
    1෼ຖʹશmockͷ
    ϩάΛूܭ
    S3΁ͷputͰ
    Lambda͕ൃՐ
    mockͷঢ়ଶΛ
    HTTPͰ఻͑Δ
    mockຖʹϩάΛ
    όϥͯ͠อଘ

    View Slide

  31. ୈੈ୅݁Ռ

    (PPE #BE
    ‣ NPDLαʔόʔʹԿ΋Πϯετʔϧ
    ͠ͳ͍͍ͯ͘
    ‣ ϩάॲཧػߏʹׂ͘ωοτϫʔΫଳ
    Ҭ͕࠷௿ݶ
    ‣ ϩάͷ఻ୡʹ͕͔͔࣌ؒΔ
    ‣ ϩάͷू໿෼ղॲཧ͕͋ΔͨΊ

    ϩάͷαΠζ͕େ͖͘Ͱ͖ͳ͍
    ‣ ҟৗܥ·Ͱߟ͑ΔͱUPXFSͰͷϩά
    ू໿ॲཧ͕ෳࡶʹͳΔ
    ‣ 4͔ΒظؒࢦఆͰϩάΛऔΓʹ͍͘
    ‣ XPSLFSʹNPDLঢ়ଶΛ఻͑Δͱ͜
    Ζ͕ಉظత
    w ࣦഊ࣌ͷ࠶ૹॲཧΛͤͶ͹

    View Slide

  32. ୈੈ୅݁Ռ

    (PPE #BE
    ‣ NPDLαʔόʔʹԿ΋Πϯετʔϧ
    ͠ͳ͍͍ͯ͘
    ‣ ϩάॲཧػߏʹׂ͘ωοτϫʔΫଳ
    Ҭ͕࠷௿ݶ
    ‣ ϩάͷ఻ୡʹ͕͔͔࣌ؒΔ
    ‣ ϩάͷू໿෼ղॲཧ͕͋ΔͨΊ

    ϩάͷαΠζ͕େ͖͘Ͱ͖ͳ͍
    ‣ ҟৗܥ·Ͱߟ͑ΔͱUPXFSͰͷϩά
    ू໿ॲཧ͕ෳࡶʹͳΔ
    ‣ 4͔ΒظؒࢦఆͰϩάΛऔΓʹ͍͘
    ‣ XPSLFSʹNPDLঢ়ଶΛ఻͑Δͱ͜
    Ζ͕ಉظత
    w ࣦഊ࣌ͷ࠶ૹॲཧΛͤͶ͹
    ͳΜ͔μα͍ʂ

    View Slide

  33. /PX-PBEJOH

    View Slide

  34. ୈ̎ੈ୅

    View Slide

  35. ‣ NPDLαʔόʔʹ͸Կ΋Πϯετʔϧ͠ͳ͍
    ΍ͬͺΓ؂ࢹͱ͔ΞοϓάϨʔυͱ͔͕໘౗
    ‣ ϩάॲཧػߏʹωοτϫʔΫଳҬΛ͋Δఔ౓ׂ͜͏
    ଍Γͳ͔ͬͨΒ͓ۚͷྗʹཔͬͯੜ͖͍ͯ͜͏
    ‣ 4͔Β%ZOBNP%#ʹม͑ͯΈΑ͏
    %ZOBNP%#ͳΒ֤NPDL͔Β௚઀ϩάΛೖΕͯ΋େৎ෉ͦ͏
    ΫΤϦ͕ॻ͚ΔͷͰอଘͨ͠ϩά͕औಘ͠΍͍͢
    Ͱ΋ΩϟύγςΟͷ؅ཧ͕໘౗ʜ
    ୈ̎ੈ୅ํ਑

    View Slide

  36. %ZOBNP%#0O%FNBOEര஀ʂ

    !SF*OWFOU

    View Slide

  37. %ZOBNP%#0O%FNBOEര஀ʂ

    View Slide

  38. ࢲͷͨΊͷΞοϓσʔτ͔

    View Slide

  39. ‣ ैདྷͷ%ZOBNP%#Ͱ͸ɺΩϟύγςΟϢχοτ ಡΈॻ͖ੑೳ
    Λ

    ͋Β͔͡Ίઃఆ͓ͯ͘͠ඞཁ͕͋ͬͨ
    8$6 8SJUF$BQBDJUZ6OJU

    3$6 3FBE$BQBDJUZ6OJU

    ‣ ΩϟύγςΟϢχοτͷΦʔτεέʔϦϯά͸ઃఆͰ͖Δ͕ɺ

    ॠؒతʹεέʔϧ͢ΔΘ͚Ͱ͸ͳ͍ ෼ऑ͔͔Δ

    ‣ 0O%FNBOEϞʔυͰ͸ɺ࢖ͬͨΩϟύγςΟϢχοτʹରͯ͠

    ैྔ՝ۚͯ͘͠ΕΔʂ
    ͋Β͔͡ΊΩϟύγςΟϢχοτΛઃఆ͓ͯ͘͠ඞཁ͕ͳ͍ʂ
    %ZOBNP%#0O%FNBOEര஀ʂ

    View Slide


  40. PrivateSubnet
    Worker
    Worker
    PrivateSubnet
    Mock
    Mock
    Mock
    Mock
    Mock
    Mock
    DynamoDB
    (On-Demand)
    Lambda
    SNS
    SQS
    ֤mock͕௚઀
    DynamoDBʹϩάΛ
    ॻ͖ࠐΉ
    Worker͔ΒσʔλΛ
    औΓʹߦ͘͜ͱͰ
    ඇಉظʹσʔλΛߋ৽
    DynamoDB Streamsʹ
    ΑͬͯLambdaΛൃՐ
    ੜϩά͸DynamoDBΛࢀর
    TTLͰҰఆظؒܦաޙʹ࡟আ

    View Slide

  41. ୈੈ୅݁Ռ

    (PPE #BE
    ‣ NPDLՔಇঢ়ଶͷ఻ୡ͕΄΅ϦΞϧ
    λΠϜ
    ‣ ػߏ͕ൺֱత؆୯ʹͳͬͨ
    ‣ ϩάͷू໿෼ղॲཧ͕ͳ͘ͳͬͨ
    ͷͰɺେ͖Ίͷϩά΋ૹΕΔΑ͏ʹ
    ‣ ϩάॲཧػߏʹׂ͘ωοτϫʔΫ

    ଳҬ͕େ͖͘ͳͬͨ
    ‣ %ZOBNP%#0O%FNBOE͸

    ΰϦΰϦ࢖͏ͱߴ͍ʜ

    View Slide

  42. ୈੈ୅݁Ռ

    (PPE #BE
    ‣ NPDLՔಇঢ়ଶͷ఻ୡ͕΄΅ϦΞϧ
    λΠϜ
    ‣ ػߏ͕ൺֱత؆୯ʹͳͬͨ
    ‣ ϩάͷू໿෼ղॲཧ͕ͳ͘ͳͬͨ
    ͷͰɺେ͖Ίͷϩά΋ૹΕΔΑ͏ʹ
    ‣ ϩάॲཧػߏʹׂ͘ωοτϫʔΫ

    ଳҬ͕େ͖͘ͳͬͨ
    ‣ %ZOBNP%#0O%FNBOE͸

    ΰϦΰϦ࢖͏ͱߴ͍ʜ
    #JLLVSJ
    ‣ ࢥͬͨҎ্ʹॠؒతʹεέʔϧ͢Δ
    w ਺෼Ͱ<8$6>Ͱ΋0,

    View Slide

  43. /PX-PBEJOH

    View Slide

  44. ୈ̏ੈ୅

    View Slide

  45. ‣ NPDLαʔόʔʹ͸Կ΋Πϯετʔϧ͠ͳ͍
    ΍ͬͺΓ؂ࢹͱ͔ΞοϓάϨʔυͱ͔͕໘౗
    ‣ ϩάॲཧػߏʹωοτϫʔΫଳҬΛ͋Δఔ౓ׂ͜͏
    ଍Γͳ͔ͬͨΒ͓ۚͷྗʹཔͬͯੜ͖͍ͯ͜͏
    ‣ %ZOBNP%#0O%FNBOE͸୤٫͠Α͏
    ͓ۚʹ΋ݶք͕͋ΔΑͶ
    ୈ̏ੈ୅ํ਑

    View Slide

  46. ‣ ΩϟύγςΟ͕ৗʹେ͖͘มಈ͢Δ৔߹͸༗ޮ
    ‣ NPDLNPDLͰ΋มಈ͸͢Δ͕ɺ֤NPDL͕ॻ͖ࠐΉྔ͸Ұఆ
    ؤுΕ͹1SPWJTJPOFE͕࢖͑ΔͷͰ͸ʁ
    ΰϦΰϦ%ZOBNP%#0O%FNBOE

    ΋ͣͬ͠ͱҰఆͰ࢖͍ଓ͚ͨΒʜ
    0O%FNBOE 1SPWJTJPOFE
    ར༻͍ͯ͠ΔΩϟύγςΟͷ໿ഒΛ
    ϓϩϏδϣϯ͍ͯ͠Δঢ়ଶ
    ʹ

    View Slide

  47. ࢲͷͨΊͷΞοϓσʔτ
    ͡Όͳ͔͔ͬͨ΋

    View Slide

  48. ‣ ىಈ࣌ʹඞཁͳΩϟύγςΟΛ༧ଌͰ͖Ε͹࣮ݱ͢Δ
    ૹ৴σʔλαΠζʹΑͬͯϩάͷαΠζ͕େ͖͘มಈ
    ૹ৴σʔλαΠζΛ༧ଌ͢Δͷ͸ࠔ೉
    %ZOBNP%#0O%FNBOE͔Βͷ୤٫

    View Slide

  49. ը໘ͰݟΔͱʜʢ࠶ܝʣ

    <065165>NPDLͷՔಇঢ়ଶΛදࣔ
    <065165>อଘͨ͠ϩάΛදࣔάϥϑදࣔ

    View Slide

  50. ը໘ͰݟΔͱʜʢ࠶ܝʣ

    <065165>NPDLͷՔಇঢ়ଶΛදࣔ
    <065165>อଘͨ͠ϩάΛදࣔάϥϑදࣔ
    ૹ৴σʔλͷ৘ใΛ
    ࢖͍ͬͯΔͷ͸͚ͩ͜͜
    ผͷػߏͰอଘͯ͠ΈΑ͏

    View Slide

  51. ‣ ෳ਺ͷαʔόʔ͔ΒϚ΢ϯτͰ͖Δڞ༗ετϨʔδ
    ωοτϫʔΫϑΝΠϧγεςϜͱͯ͠Ϛ΢ϯτ
    ‣ ༰ྔ͕ࣗಈͰεέʔϧ͢Δ
    ‣ εϧʔϓοτ੍͕ޚՄೳ
    όʔετεϧʔϓοτϑΝΠϧγεςϜͷαΠζʹ߹Θͤͯεέʔϧ
    ϓϩϏδϣϯυεϧʔϓοτεϧʔϓοτΛ௚઀ઃఆ
    ‣ ෳ਺ͷ";͔ΒΞΫηεՄೳ
    "NB[PO&MBTUJD'JMF4ZTUFN &'4


    View Slide


  52. PrivateSubnet
    Worker
    Worker
    PrivateSubnet
    Mock
    Mock
    Mock
    Mock
    Mock
    Mock
    DynamoDB
    (Provisioned)
    Lambda
    SNS
    SQS
    DynamoDBʹ͸
    mockঢ়ଶߋ৽༻ͷϩά
    EFSʹ͸׬શͳϩάΛ
    ॻ͖ࠐΉ
    ΩϟύγςΟ͸
    mockىಈ࣌ʹௐ੔
    EFS

    View Slide

  53. ‣ ΩϟύγςΟ͸૿΍͢ํ޲ʹ͸ճ਺੍ݶ͕ແ͍͚ͲɺݮΒ͢ํ޲
    ʹ͸ճ਺੍ݶ͕͋Δ
    NPDLͷՔಇ୯Ґ͝ͱʹඞཁͳ8$6Λࢉग़ͯ͠௥Ճ
    DSPOͰ࣌ؒຖʹՔಇ୯Ґͷ8$6ͷ߹ܭ஋Λग़ͯ͠ద༻
    %ZOBNP%#ͷ8$6ߋ৽

    View Slide

  54. ୈੈ୅݁Ռ

    (PPE #BE
    ‣ %ZOBNP%#ͷඅ༻͕࠷దԽ͞Εͨ ‣ ϩάॲཧػߏʹׂ͘ωοτϫʔΫ

    ଳҬ͕΋ͬͱେ͖͘ͳͬͨ
    ‣ Ұఆ࣌ؒܦաޙʹ&'4͔ΒσʔλΛ
    ࡟আ͢Δͷ͕खؒ
    ‣ &'4΋*0Λ૿΍ͦ͏ͱ͢ΔͱͦΕͳ
    Γʹඅ༻͕ʜ

    View Slide

  55. ୈੈ୅݁Ռ

    (PPE #BE
    ‣ %ZOBNP%#ͷඅ༻͕࠷దԽ͞Εͨ ‣ ϩάॲཧػߏʹׂ͘ωοτϫʔΫ

    ଳҬ͕΋ͬͱେ͖͘ͳͬͨ
    ‣ Ұఆ࣌ؒܦաޙʹ&'4͔ΒσʔλΛ
    ࡟আ͢Δͷ͕खؒ
    ‣ &'4΋*0Λ૿΍ͦ͏ͱ͢ΔͱͦΕͳ
    Γʹඅ༻͕ʜ
    :BSBLBTIJ
    ‣ ςετ؀ڥͰ8$6໭Βͣߴֹ੥ٻ

    View Slide

  56. /PX-PBEJOH

    View Slide

  57. ୈ̐ੈ୅

    View Slide

  58. ‣ NPDLαʔόʔʹԿ͔ΛΠϯετʔϧ͢ΔͷΛڐ༰͠Α͏
    શମతʹ͜ͳΕ͖ͯͨͷͰɺࠓͳΒ͍͚Δؾ͕͢Δ
    ‣ ࠓͦ͜,JOFTJTͱ޲͖߹͓͏
    γϟʔυ͕ෳ਺ʹͳΔͱͪΐͬͱେม͚ͩͲ
    ‣ ૣ͘΋&'4͔Β୤٫͍ͨ͠ؾ࣋ͪ
    ωοτϫʔΫଳҬͷϘτϧωοΫʹͳΓ͕ͪ
    ͓ۚͰղܾͰ͖Δ͚Ͳ͓ۚ͸େࣄ
    ϩάͷͨΊʹNPDL͔ΒϲॴʹσʔλΛૹ͍ͬͯΔͷ΋͔ͬ͜ѱ͍
    ୈ̐ੈ୅ํ਑

    View Slide

  59. ‣ ,JOFTJT%BUB4USFBNTʹσʔλΛ౤͛ࠐΉϥΠϒϥϦ
    ‣ ͋Δఔ౓σʔλΛ·ͱΊͯૹͬͯ͘ΕΔ
    γϟʔυ͋ͨΓͷॻ͖ࠐΈ੍ݶΛΫϦΞ͠΍͘͢ͳΔ
    w .#ඵ
    w ϨίʔυඵίϨ
    ωοτϫʔΫଳҬతʹ΋΍͞͠Ί
    -BNCEB࣮ߦճ਺తʹ΋΍͞͠Ί
    ‣ ૹ৴͕ඇಉظʹͳΔ
    ‣ qVFOUEͱ૊Έ߹Θͤͯ࢖͏ͱ΍Γ΍͍͢
    BXTqVFOUQMVHJOLJOFTJT
    "NB[PO,JOFTJT1SPEVDFS-JCSBSZ ,1-


    View Slide

  60. ‣ ͦͷ໊ͷ௨ΓϩάΛ؅ཧͯ͘͠ΕΔ΍ͭ
    $MPVE8BUDI-PHT*OTJHIUTͰϩάσʔλΛ෼ੳ͢Δ͜ͱ΋Մೳ
    อଘظؒ΋ઃఆͰ͖Δʂ
    ‣ ୈੈ୅ͷͱ͖ʹҰճݕ౼͚ͯͨ͠Ͳ

    ੍ݶ಺༰Λצҧ͍͍ͯͯ͠Ϙπʹʜʂ
    ‣ ϩά౤ೖස౓ͷ੍ݶ؇࿨͕ඞཁ
    σϑΥϧτͰ͸݅ඵͷτϥϯβΫγϣϯ BQOPSUIFBTU

    "NB[PO$MPVE8BUDI-PHT

    View Slide


  61. PrivateSubnet
    Worker
    Worker
    PrivateSubnet
    Mock
    Mock
    Mock
    Mock
    Mock
    Mock
    Lambda
    SNS
    SQS Kinesis

    Data Streams KPLͰσʔλΛ
    ·ͱΊͯૹ৴
    CloudWatch
    Logs
    ΞΧ΢ϯτ͝ͱʹLogGroup
    mock͝ͱʹLogStream

    View Slide

  62. ୈੈ୅݁Ռ

    (PPE #BE
    ‣ &'4͔Βͷ୤٫
    ‣ ϩάॲཧػߏʹׂ͘ωοτϫʔΫଳ
    Ҭ͕খ͘͞ͳͬͨ

    View Slide

  63. ୈੈ୅݁Ռ

    (PPE #BE
    ‣ &'4͔Βͷ୤٫
    ‣ ϩάॲཧػߏʹׂ͘ωοτϫʔΫଳ
    Ҭ͕খ͘͞ͳͬͨ
    *LLB
    ‣ ͍ͭʹNPDLαʔόʔʹΠϯετʔ
    ϧͨ͠
    ‣ ,1-ͰϩάΛू໿ͯ͠ૹΔͨΊɺ
    NPDLঢ়ଶͷ఻ୡϥά͕ŧŔŕŪũƄſ

    View Slide

  64. /PX-PBEJOH

    View Slide

  65. ୈੈ୅ʁ

    View Slide

  66. ظ଴ͷ৽੕"NB[PO5JNFTUSFBN

    !SF*OWFOU

    View Slide

  67. ‣ ߴ଎Ͱεέʔϥϒϧͳ׬શϚωʔδυܕͷ࣌ܥྻσʔλϕʔε
    ॻ͖ࠐΈΫΤϦετϨʔδʹΑΔैྔ՝ۚ
    *0ͷੑೳ ੍ݶ
    ͸·ͩग़͍ͯͳ͍ʜ
    σʔλอଘظ͕ؒઃఆͰ͖ΔͷͰ࡟আॲཧ΋ඞཁͳ͍ʁ
    ظ଴ͷ৽੕"NB[PO5JNFTUSFBN

    View Slide

  68. SF*OWFOU΋
    ऴΘͬͨࠓʂ

    View Slide


  69. View Slide


  70. View Slide

  71. /PX-PBEJOH

    View Slide

  72. ·ͱΊ

    View Slide

  73. ‣ େྔͷNPDL͔Βൃੜ͢ΔϩάΛॲཧ͢ΔػߏͷมભΛݟ͖ͯͨ
    ‣ ͳʹ͛ʹશ෦TFSWFSMFTT
    අ༻΋NPDLͷՔಇ਺ʹԠͯ͡εέʔϧ͢Δ ෦෼͕ଟ͍

    ‣ ࣗ෼Ͱ͸࡞Δͷ͕೉͍͠ػߏ͕ͨ͘͞Μ༻ҙ͞Ε͍ͯͯ

    ؾܰʹࢼߦࡨޡ͕Ͱ͖Δͷ͸Ϋϥ΢υͳΒͰ͸
    ύζϧͷΑ͏ʹ͍Ζ͍Ζ૊Έ߹Θ͍ͤͯ͘ͷ͸ָ͍͠ʂ
    ‣ େن໛ͳσʔλΛѻ͏ͱ͖ʹ࠷ޙʹϘτϧωοΫʹͳΔͷ͸΍ͬͺΓ*0
    ·ͱΊ

    View Slide

  74. ͝ਗ਼ௌ

    ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ
    NPDLNPDL͕
    ؾʹͳΔํ͸ޙΖͷϒʔε΁ʂ

    View Slide