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

Serverless Architecture

Naoya Ito
October 24, 2016

Serverless Architecture

補足: AWS Lambda のコンテナのライフサイクルについては説明を単純化していますので、詳しくは http://www.slideshare.net/keisuke69/aws-lambda-46129981 こちらの 42 ページ以降を参照してください

Naoya Ito

October 24, 2016
Tweet

More Decks by Naoya Ito

Other Decks in Technology

Transcript

  1. 4FSWFSMFTT"SDIJUFDUVSF
    /BPZB*UP
    גࣜձࣾҰٳ$50

    View Slide

  2. ઌʹ݁࿦
    •  αʔόʔϨεΞʔΩςΫνϟͱ͸
    –  ୯७ʹ͸'BB4Λ࢖ͬͨγεςϜ
    –  εςʔτϨεͳ'BB4͕ϦΞΫςΟϒɺ.JDSPTFSWJDFTɺίϨΦάϥ
    ϑΟ΁ͱಋ͘
    •  ݱ৔ײ֮Ͱ͸ʮӡ༻ָ͕Ͱεέʔϧͯ͠ɺ͍҆ʯ
    •  ۜͷ஄ؙͰ͸ͳ͍͕ɺԠ༻ྖҬ͸֦͕ΔͱࢥΘΕΔ
    •  ͪΐͬͱͨ͠λεΫΛ͜ͳͨ͢Ί΍ɺ.JDSPTFSWJDFTͷ࣮ݱखஈͱ
    ͯ͠ɺҾ͖ग़͠ͷҰͭʹೖΕ͓͍ͯͯଛ͸ͳ͍

    View Slide

  3. ඞཁʹͳͬͨ
    ͱ͖͚ͩܭࢉ
    Πϕϯτۦಈ
    .JDSPTFSWJDFT
    3FBDUJWF
    ΦʔέετϨʔ
    γϣϯ͔ΒίϨ
    ΦάϥϑΟ΁
    αʔόʔϨε
    4IBSFE
    /PUIJOH
    ӡ༻ෛ୲͕গͳ͍
    ͍҆
    εέʔϥϒϧ
    ಘΒΕΔϝϦοτ
    ΞʔΩςΫνϟͷੑ࣭

    View Slide

  4. αʔόʔϨεΞʔΩςΫνϟͱ͸

    View Slide

  5. ͭͷʮαʔόʔϨεʯ
    •  ϋʔυ΢ΣΞతҙຯͰͷʮαʔόʔʯ͕ͳ͍
    •  ৗறϓϩηεతͳҙຯͰͷʮαʔόʔʯ͕ͳ͍
    –  'VODUJPOBTB4FSWJDF 'BBT
    Λલఏʹ
    –  ࠓ೔͸ओʹͪ͜Βͷ࿩

    View Slide

  6. 'VODUJPOBTB4FSWJDF
    •  "84-BNCEB
    •  (PPHMF$MPVE'VODUJPOT
    •  "[VSF'VODUJPOT

    View Slide

  7. "84-BNCEB
    •  "84্Ͱɺ೚ҙͷখ͞ͳؔ਺Λ࣮ߦ͢ΔͨΊͷαʔϏε
    –  1ZUIPOɺ/PEFKTɺ+BWBͳͲͰॻ͍ͨؔ਺ΛΞοϓϩʔυ
    –  ೚ҙͷΠϕϯτΛܖػʹɺͦͷؔ਺Λ࣮ߦͰ͖Δ
    –  Πϕϯτྫ
    •  )551ϦΫΤετΛड৴ͨ͠
    •  4ʹϑΝΠϧ͕Ξοϓϩʔυ͞Εͨ
    •  ,JOFTJTͷετϦʔϜͷΠϕϯτ͕ൃੜͨ͠
    •  "NB[PO4JNQMF&NBJMʹϝʔϧ͕ಧ͍ͨ
    •  %ZOBNP%#ʹ৽͍͠ΞΠςϜ͕*/4&35͞Εͨ
    •  4DIFEVMFE&WFOUT CZ$MPVE8BUDI

    •  ŋŋŋ

    View Slide

  8. module.exports.hello = (event, context) => {
    context.succeed({ message: 'Hello, ' + event.query.username })
    }
    # Serverless Framework を利用
    $ serverless deploy

    View Slide

  9. -BNCEBϑΝϯΫγϣϯ͸αʔόʔϨεͰ࣮ߦ͞ΕΔ
    •  -BNCEBϑΝϯΫγϣϯ͸ίϯςφͰ࣮ߦ͞ΕΔ
    •  ίϯςφ͸࣮ߦ࣌ʹ࡞੒͞Εͯɺऴྃ࣌ʹഁغ͞ΕΔ
    •  ৗறϓϩηεͰ͸ͳ͍ɻ$(*ʹ͍ۙϞσϧ
    –  ʮϞμϯ$(*ʯ

    View Slide

  10. -BNCEBϑΝϯΫγϣϯ͸εςʔτϨεͰ͋Δ
    •  ίϯςφ͸࣮ߦ࣌ʹͷΈଘࡏɻঢ়ଶ εςʔτ
    Λอ࣋Ͱ͖ͳ͍
    •  εςʔτϨε 4IBSFE/PUIJOH

    –  Կ͔໰୊͕ىͬͯ͜΋ɺผͷ࣮ߦʹ͸ѱӨڹΛ༩͑ͳ͍
    –  εέʔϧ͔ͨͬͨ͠Β΋ͬͱىಈ͢Ε͹Α͍

    View Slide

  11. "84-NCEB͸εέʔϧ͢Δ͠ɺ͍҆
    •  Πϕϯτྔʹ߹Θͤͯ-BNCEB͕ࣗಈͰεέʔϧ
    –  εςʔτϨεͳͷͰ ఏڙऀͰ͋Δ"84తʹ΋
    εέʔϧ͠΍͍͢
    –  ؾ͍ͮͨΒ/PEFϓϩηεམͪͯͨŋŋŋͳͲ͕ͳ͍ɻ҆શ

    •  ܭࢉͨ͠෼͔͠අ༻͸͔͔Βͳ͍
    –  "NB[PO&$ŋŋŋΠϯελϯε͕ىಈͨ࣌ؒ͠෼ͷඅ༻
    –  "84-BNCEBŋŋŋ࣮ߦͨ͠෼ͷΈͷඅ༻
    ͔ͳΓ͓ಘ

    View Slide

  12. ʮαʔόʔϨεΞʔΩςΫνϟʔʯ
    •  ͘͝୯७Խ͢Δͱ'BB4Λར༻ͨ͠γεςϜઃܭΞʔΩςΫνϟ
    •  ΑΓຊ࣭తʹ͸ΠϕϯτۦಈͰܥΛઃܭͨ͠ɺϦΞΫςΟϒͰίϨ
    ΦάϥϑΟͳϚΠΫϩαʔϏεͷ͜ͱ
    –  ͳΜͷͬͪ͜Όŋŋŋ
    –  ޙड़

    View Slide

  13. ࣄྫ

    View Slide

  14. ҰٳͰͷࣄྫ

    ͜ͷαϜωΠϧΛ
    -BNCEBͰ࡞੒

    View Slide

  15. Ұٳͷ
    ؅ཧը໘
    AWS
    Lambda
    S3
    bucket
    ࣸਅΛ
    Ξοϓϩʔυ
    Πϕϯτ
    αϜωΠϧ࡞੒
    S3
    bucket
    αϜωΠϧ༻

    View Slide

  16. -BNCEBؔ਺͸Πϕϯτۦಈ
    AWS
    Lambda
    S3
    bucket
    Πϕϯτ
    "Records": [
    {
    "eventVersion": "2.0",
    "eventTime": "1970-01-01T00:00:00.000Z",
    "requestParameters": {
    "sourceIPAddress": "127.0.0.1"
    },
    "s3": {
    "configurationId": "testConfigRule",
    "object": {
    "eTag": "0123456789abcdef0123456789abcdef",
    "sequencer": "0A1B2C3D4E5F678901",
    "key": "HappyFace.jpg",
    "size": 1024
    },
    "bucket": {
    "arn": bucketarn,
    "name": "sourcebucket",
    "ownerIdentity": {
    "principalId": "EXAMPLE"
    }
    },
    },
      ...

    View Slide

  17. ҰٳͰͷࣄྫ

    ࠾༻ͷॻྨબߟ͸4MBDL
    Ͱ#PU͔Βґཔ͞ΕΔ

    View Slide

  18. Redmine
    AWS
    Lambda
    Amazon API
    Gateway
    Ҏલ͸)FSPLVͰ#PUΛ
    ಈ͔ͨ͠Γ͍͕ͯͨͦ͠
    ͷඞཁ͕ͳ͘ͳͬͨ
    8FCIPPL Πϕϯτ

    View Slide

  19. )551ϦΫΤετ΋ΠϕϯτʹͳΔ
    AWS
    Lambda
    Amazon API
    Gateway
    8FCIPPL
    )551
    Πϕϯτ
    {
    "body": {},
    "method": "GET",
    "headers": {
    "Accept": "*/*",
    "CloudFront-Forwarded-Proto": "https",
    "CloudFront-Is-Desktop-Viewer": "true",
    "CloudFront-Is-Tablet-Viewer": "false",
    "CloudFront-Viewer-Country": "JP",
    "User-Agent": "curl/7.43.0",
    "Via": "1.1
    2d30d2b55574343a43311dd210926843.cloudfront.net
    (CloudFront)",
    "X-Amz-Cf-Id":
    "JDBHHrMHhbxwaMfNBBTo15EICVfU8t6JHTExkGpu2W6_O4h5wBtqsg==",
    "X-Forwarded-Port": "443",
    "X-Forwarded-Proto": "https"
    },
    "query": {
    "user": "naoya",
    "foo": "bar"
    },
    "path": {},
    "identity": {
    "accessKey": "",
    "cognitoAuthenticationType": "",
    "cognitoAuthenticationProvider": "",
    "userAgent": "curl/7.43.0",
    }
    }

    View Slide

  20. ࣄྫߦಈϩάऩूج൫ʹ΋ར༻ΛਐΊ͍ͯΔ
    AWS
    Lambda
    Amazon
    Kinesis
    Google
    BigQuery
    "QQ
    αʔόʔ
    S3
    bucket
    "QQ
    αʔόʔ
    AWS
    Lambda

    View Slide

  21. େن໛ͳࣄྫ೔ܦ৽ฉࣾͷࢴ໘ϏϡʔΞʔ
    h(ps://speakerdeck.com/ikait/serverless-architecture-supports-nikkeis-paper-viewer

    View Slide

  22. ෳ਺ͷ-BNCEB͕Πϕϯτ࿈ܞ͠ɺγεςϜΛߏ੒͢Δ

    View Slide

  23. 'BB4ͰΠϕϯτۦಈઃܭΛಥ͖٧Ί͍ͯ͘ͱɺࣗͣͱ.JDSPTFSWJDFT͕
    ݟ͑ͯ͘Δ
    h(ps://eventdrivenapps.com/

    View Slide

  24. %FTJHOBOECVJMEFWFOUESJWFOTFSWFSMFTT
    BQQMJDBUJPOTEJTUSJCVUFUIFMPHJDBOE
    SFBDUUPDIBOHFTJOZPVSSFTPVSDFT

    View Slide

  25. ΞʔΩςΫνϟతੑ࣭Λղ๤͢Δ

    View Slide

  26. ඞཁʹͳͬͨ
    ͱ͖͚ͩܭࢉ
    Πϕϯτۦಈ
    .JDSPTFSWJDFT
    3FBDUJWF
    ΦʔέετϨʔ
    γϣϯ͔ΒίϨ
    ΦάϥϑΟ΁
    αʔόʔϨε
    4IBSFE
    /PUIJOH
    ӡ༻ෛ୲͕গͳ͍
    ͍҆
    εέʔϥϒϧ
    ಘΒΕΔϝϦοτ
    ΞʔΩςΫνϟͷੑ࣭

    View Slide

  27. $(*͸ϦΫΤετຖʹ࣮ߦɺऴΘͬͨΒഁغ
    •  1SPTŋŋŋ4IBSFE/PUIJOHͰ҆શɺ؆୯
    •  $POTŋŋŋΞϓϦέʔγϣϯશମΛຖճGPSL͕ͱͯ΋ඇޮ཰
    fork()
    HTTP
    Request
    HTTP
    Server
    Web App

    View Slide

  28. ৗறϓϩηεQSFGPSLŋŋŋϓϩηεΛ࡞͓͍ͬͯͯৗற


    fork()

    View Slide

  29. QSFGPSL͸Φʔόʔϔου͸গͳ҆͘શ͕ͩɺฒߦੑೳʹ೉
    •  ྫ
    –  ΞϓϦέʔγϣϯαʔόʔ ྫ'BTU$(*ɺ1VNBɺ+FUUZɺ**4

    •  1SPT
    –  ϦΫΤετຖGPSL
    ͷΦʔόʔϔουΛճආͰ͖Δ
    –  ଟ͘͸ڞ༗͠ͳ͍ͷͰɺൺֱత҆શ
    •  $POT
    –  εέʔϥϏϦςΟʹ೉
    •  ϝϞϦϑοτϓϦϯτ͕େ͖͍ɻϓϩηε਺͕࠷େಉ࣌઀ଓ਺ $,໰୊

    •  ߴෛՙͰ͸ϓϩηεεϨουͷίϯςΩετεΠονίετ͕ߴ͍

    View Slide

  30. ΠϕϯτۦಈϞσϧʹΑΔฒߦॲཧ
    ࣌ؒ
    A B A C D B ・・・
    select() / epoll()
    ίϯςΩετ
    εΠον

    View Slide

  31. ΠϕϯτۦಈϞσϧ͸ฒߦੑೳ͕ߴ͍͕Մ༻ੑʹ೉
    •  ྫ
    –  /PEFKT
    •  1SPT
    –  εέʔϥϏϦςΟ
    •  ϝϞϦϑοτϓϦϯτ͕খ͘͞ɺߴ͍ฒߦॲཧੑೳ
    •  $POT
    –  Մ༻ੑ ଱ো֐ੑ
    ʹ೉
    •  མͪΔͱ͖͸શ෦མͪΔϝϞϦϦʔΫ࣌ͷϦεΫ͕େ͖͍

    View Slide

  32. ىಈʹ൐͏Φʔόʔϔου͕গͳ͚Ε͹ɺຖճ࣮ߦͰߏΘͳ͍
    ͷͰ͸ŋŋŋ
    •  1SPTŋŋŋ4IBSFE/PUIJOHͰ҆શɺ؆୯
    •  $POTŋŋŋΞϓϦέʔγϣϯશମΛຖճGPSL͕ͱͯ΋ඇޮ཰
    ίϯςφͰ࣮ߦ͢Δɺͱ͍
    ͏ൃ૝͕͜ΕΛՄೳʹͨ͠

    View Slide

  33. 4IBSFE/PUIJOHͱ͍͏੍໿
    •  4IBSFE/PUIJOHલఏŋŋŋඞཁʹͳͬͨͱ͖͚ͩܭࢉͰෆ౎߹ͳ͍
    –  ίϯςφΛӬଓԽͤ͞Δٛ຿͕ൃੜ͠ͳ͍
    ඞཁʹͳͬͨ
    ͱ͖͚ͩܭࢉ
    αʔόʔϨε
    4IBSFE
    /PUIJOH

    View Slide

  34. ඞཁʹͳͬͨͱ͖͚ͩܭࢉˠೖྗΛΠϕϯτͱͯ͠ந৅Խͯ͠
    ΠϕϯτۦಈͰϞσϧԽ͢Δͷ͸ࣗવ
    ඞཁʹͳͬͨ
    ͱ͖͚ͩܭࢉ
    Πϕϯτۦಈ
    αʔόʔϨε
    4IBSFE
    /PUIJOH

    View Slide

  35. -BNCEBؔ਺ŋŋŋΠϕϯτ΁ͷ൓Ԡͱͯ͠هड़͢Δ
    ݁ՌɺαʔϏεؒ͸ૄ݁߹ʹ
    ൓Ԡͱͯ͠ͷϓϩάϥϛϯάϞσϧŋŋŋϦΞΫςΟϒ
    Ͳ͔ͬΒདྷΔ͔Θ͔ΒΜ
    ͚ͲɺͦͷΠϕϯτ͖ͨ
    Β΍ͬͱ͘Θ

    View Slide

  36. h(p://www.slideshare.net/yugolf/typesafe-reacAveplaBormreacAvesystem-scalasummitkansai

    View Slide

  37. View Slide

  38. View Slide

  39. View Slide

  40. View Slide

  41. ඞཁʹͳͬͨ
    ͱ͖͚ͩܭࢉ
    Πϕϯτۦಈ
    3FBDUJWF
    αʔόʔϨε
    4IBSFE
    /PUIJOH

    View Slide

  42. ࢀߟ&SMBOH&MJYJSͷܰྔϓϩηεϞσϧ
    •  &SMBOH7.ͷܰྔϓϩηε
    –  &SMBOH&MJYJSʹ͓͚Δฒߦॲཧͷج൫ɻখ͍͞ɻϫʔυ
    –  େྔʹܰྔϓϩηεΛ࡞ͬͯฒߦॲཧɺͰ0,
    –  ʮىಈ͕े෼ʹߴ଎ͳΒɺ౎౓࣮ߦ͕ྑ͍ʯ
    αʔόʔϨεͳ࿩ͱࣅͯ
    Δͳʙͱ

    View Slide

  43. ͜ͷखͷ࿩Λಥ͖٧ΊΔͱϦΞΫςΟϒʹ୧Γண͘

    View Slide

  44. ؓ࿩ٳ୊ɺͦΕͧΕͷ-BNCEB͸ϚΠΫϩͳؔ਺ʹͳΔ
    •  -BNCEBϑΝϯΫγϣϯ͸Ұ͕ͭҰͭͷ࢓ࣄΛ͢Δ
    •  খ͞ͳ ϚΠΫϩͳ
    ؔ਺ΛΠϕϯτͰ ૄ݁߹ʹ
    ૊Έ߹ΘͤΔ
    ϫγ͸ͬͪ͜ͷΠϕϯτ
    ୲౰ͳ
    ϫΠ͸ͬͪ͜ͷΠϕϯτ
    ୲౰΍

    View Slide

  45. 'BB4͸ࣗવͱ.JDSPTFSWJDFTΛࢦ޲͢Δ
    ͦΕ͕خ͍͔͠Ͳ͏͔͸ผͱͯ͠ŋŋŋ

    h(p://www.slideshare.net/danilop/building-eventdriven-serverless-apps

    View Slide

  46. ඞཁʹͳͬͨ
    ͱ͖͚ͩܭࢉ
    Πϕϯτۦಈ
    .JDSPTFSWJDFT
    3FBDUJWF
    αʔόʔϨε
    4IBSFE
    /PUIJOH

    View Slide

  47. ΦʔέετϨʔγϣϯWTίϨΦάϥϑΟ
    40"΍#1.ɺ.JDSPTFSWJDFTͷจ຺ͰϏδωεϓϩηεߏஙͷͨΊʹ
    αʔϏεؒΛͲ͏͍͏ΞʔΩςΫνϟͰؔ࿈͚ͮΔ͔ͷٞ࿦

    •  ΦʔέετϨʔγϣϯ PSDIFTUSBUJPO

    –  ΦʔέετϥʹΑΔԋ૗ํ๏
    –  தԝͷࢦشऀ͕αʔϏεͷݺͼग़͠Λίϯτϩʔϧ͠ɺϏδωεϓϩηε
    ͷ࣮ߦΛࢦش͢Δ

    •  ίϨΦάϥϑΟ DIPSFPHSBQIZ

    –  όϨʔ΍෣౿ͳͲͷμϯαʔ΁ͷৼΓ෇͚
    –  αʔϏεͷݺͼग़͠Λίϯτϩʔϧͨ͠ΓɺϏδωεϓϩηεͷ࣮ߦΛࢦ
    ش͢Δଘࡏ͸͍ͳ͍

    View Slide

  48. ΦʔέετϨʔγϣϯ ϦΫΤετɾϦϓϥΠ

    ϦΫΤετ
    ϦϓϥΠ
    •  ࣗ਎ͷॲཧͷҰ෦ΛଞͷγεςϜʹґཔɻґཔͨ݁͠Ռ͸ࣗ਎ͷଆͰར༻
    •  αϒϧʔνϯݺͼग़͠ɺϝιουΠϯϘέʔγϣϯͷΞφϩδʔ
    –  ཧղ͠΍͍͢ɻಉظతͳϏδωεϓϩηεͷߏஙʹ޲͘

    View Slide

  49. ίϨΦάϥϑΟ Πϕϯτۦಈ

    αϒεΫϥΠϒ
    •  ΠϕϯτͷൃੜʹΑͬͯଞͷۀ຿ॲཧ͕ۦಈ͞ΕΔɻඇಉظͷΠϕϯτ࿈ܞ
    •  ࢦشऀ͕͍ͳ͍ɻ֤αʔϏε͸Πϕϯτʹۦಈ͞ΕɺৼΓ෇͚ʹै͍ɺࣗ཯తʹଞऀʹΠϕϯτ
    Λૹͬͯಇ͖͔͚Δ
    •  ଞγεςϜ͕ؔ஌Ͱ͖ͳ͍λΠϛϯάͰ͋Δॲཧ͕ҝ͞ΕΔɺ༧ظͰ͖ͳ͍λΠϛϯάͰ͋Δࣄ
    ৅͕ൃੜ͢ΔέʔεʹରԠ͢Δͷʹద͢Δ
    Πϕϯτ
    ύϒϦογϡ

    View Slide

  50. ελʔόοΫε͸ϑΣʔζίϛοτΛ࢖Θͳ͍
    •  Ϩδͷళһ͸஫จͷҹΛ͚ͭͯΩϡʔʹૹΔɻϨδ܎ͱόϦελ͸
    ෼ׂ͞Ε͍ͯΔ
    –  Πϕϯτۦಈɺඇಉظ
    –  ΦʔέετϨʔγϣϯͰ͸ͳ͘ɺίϨΦάϥϑΟ
    •  ؒҧͬͨҿΈ෺Λ࡞ͬͨΒɺ෷͍໭͠Ͱ͸ͳ͘ɺҿΈ෺Λࣺͯͯ࡞
    Γ௚͢
    h(ps://code.google.com/archive/p/gregors-ramblings-ja/wikis/18_starbucks.wiki

    View Slide

  51. ίϨΦάϥϑΟ͸ૄ݁߹Ͱεέʔϥϒϧ
    •  ҰൠʹɺίϨΦάϥϑΟख๏ʹ޲͔͏܏޲͕ڧ͍γεςϜͷํ͕ɺ
    ૄ݁߹Ͱॊೈੑ͕͋ΓɺมߋΛड͚ೖΕΔ͜ͱ͕Θ͔͍ͬͯ·
    ͢ɻ ʮϚΠΫϩαʔϏεΞʔΩςΫνϟʯ ΦϥΠϦʔɾδϟύϯ 1


    •  ҰํɺίϨΦάϥϑΟ͕ৗʹਖ਼ղͰ͸ͳ͍
    –  ಉظݺͼग़͠ͷํ͕୯७ɺద੾ʹػೳ͍ͯ͠Δ͔͕Θ͔Γ΍͍͢

    •  .JDSPTFSWJDFTΛࢦ޲͢ΔͳΒίϨΦάϥϑΟ
    –  ඇಉظͷΠϕϯτ࿈ܞŋŋŋେ෯ʹ෼཭͞ΕͨαʔϏεΛੜΈग़ͤΔ

    View Slide

  52. 'BB4͸ࣗવͱίϨΦάϥϑΟΛࢦ޲͢Δ
    •  ͦ΋ͦ΋ϚωʔδυαʔϏεؒΛඇಉظΠϕϯτ࿈ܞͰ઀ଓ͢Δ
    ΞʔΩςΫνϟͳͷͰŋŋŋ
    •  ޲͖ෆ޲͖
    –  ΦʔέετϨʔγϣϯΛલఏͱͨ͠Ϗδωεϓϩηεͷߏங΍ஔ͖׵
    ͑ʹ͸޲͍ͯͳ͍
    –  ίϨΦάϥϑΟલఏͰϞσϦϯάͰ͖ΔͳΒɺ޲͍͍ͯΔ͔΋
    •  ʮελʔόοΫε͸ϑΣʔζίϛοτΛ࢖Θͳ͍ʯΛࢥ͍ग़ͦ͏

    View Slide

  53. ඞཁʹͳͬͨ
    ͱ͖͚ͩܭࢉ
    Πϕϯτۦಈ
    .JDSPTFSWJDFT
    3FBDUJWF
    ΦʔέετϨʔ
    γϣϯ͔ΒίϨ
    ΦάϥϑΟ΁
    αʔόʔϨε
    4IBSFE
    /PUIJOH
    ӡ༻ෛ୲͕গͳ͍
    ͍҆
    εέʔϥϒϧ
    ಘΒΕΔϝϦοτ
    ΞʔΩςΫνϟͷੑ࣭

    View Slide

  54. վΊͯʮαʔόʔϨεΞʔΩςΫνϟʯͱ͸
    •  -BNCEB࢖ͬͯ·͢ɺͱ͍͏͚ͩͳΒ׶͑ͯʮαʔόʔϨεɾΞʔ
    ΩςΫνϟʯͱେڼʹݺ͹ͳͯ͘΋ྑ͍ؾ͕
    •  ҎԼΛ֮ࣗతʹ׆͔͢ͷ͕ʮαʔόʔϨεɾΞʔΩςΫνϟʯͳͷ
    Ͱ͸ͳ͍͔
    –  .JDSPTFSWJDFT࣮૷ͷखஈͱͯ͠ͷ'BB4
    –  ϦΞΫςΟϒ΍ίϨΦάϥϑΟʹ޲͔ΘͤΔੑ࣭

    View Slide

  55. αʔόʔϨεΞʔΩςΫνϟͱ͸ΠϕϯτۦಈͰܥΛઃܭͨ͠ɺ
    ϦΞΫςΟϒͰίϨΦάϥϑΟͳϚΠΫϩαʔϏεͷ͜ͱ

    •  Θ͔Γ·ͨ͠Ͷ
    •  ͜Μͳ͜ͱݴ͏ͱόζϫʔυ͓͡͞Μͱࢦ͞͞ΕΔ͜ͱؒҧ͍ͳ
    ͠ʂ

    View Slide

  56. ࡶͳ࿩

    View Slide

  57. ݁ہͳ͘ͳΔͷ͸ϋʔυͳͷ͔ɺϓϩηεͳͷ͔
    •  ΞʔΩςΫνϟతʹ͸ৗறϓϩηε͕ͳ͘ͳΔ͜ͱ͕ॏཁ͚ͩͲ
    •  ݱ৔Ͱ͸ɺ04తͳҙຯͰͷαʔόʔ͕ͳ͘ͳΔ͜ͱ͕ॏཁͩͬͨ
    Γ͢Δ
    –  ϝϦοτʹ௚͍݁ͯ͠ΔͨΊɺಋೖͷಈػʹ͠΍͍͢
    –  ༨৒ϦιʔεΛ๊͑ͳͯ͘ࡁΉ্ʹ͍҆ɻՄ༻ੑ΋্͕Δŋŋŋͱ͍͏
    Πϯϑϥଆ໘Ͱͷਫ਼ਆత҆৺ײ͕ϋϯύͳ͍

    View Slide

  58. ͿͬͪΌ͚Ͳ͏ͳͷ
    •  ͸·Ε͹ڧ͍
    –  εέʔϥϒϧɻӡ༻޻਺͸͍͢͝Լ͕Δɻ&$ΑΓ௒͍҆
    –  ஌ΒΜ͏ͪʹྑ͍ΞʔΩςΫνϟʹ޲͔ͬͯͨΓ͢Δ
    •  ؔ਺͕খ͘͞·ͱ·ͬͨΓɺςελϏϦςΟߴ͔ͬͨΓ
    •  ։ൃ޻਺͸ͦ͜·Ͱ࡟ݮ͞Εͳ͍͔΋
    –  'BB4ಛ༗ͷ όουͳ΋ͷ΋ؚΉ
    ϊ΢ϋ΢͕ඞཁ
    •  Πϕϯτ͕ϧʔϓͯ͠αϜωΠϧͷαϜωΠϧͷαϜŋŋŋˠ㱣ͱ͔͋Δ͋Δ
    •  ಉظॲཧ͍ͨ͠ͳঢ়ଶ͍࣋ͪͨͳͱ͍͏ͱ͖೰Ή
    •  ϓϩάϥϜαΠζʹ੍ݶ͕͋ͬͨΓ͢Δ
    –  ϐλΰϥεΠονʹͳΔͷͰσόοά͕େมɻ݁߹ςετ೉͍͠

    View Slide

  59. .JDSPTFSWJDFTͷ۩ମత࣮ݱखஈͱͯ͠ͷ'BB4
    •  .JDSPTFSWJDFTͷٞ࿦͸࣮ݱखஈΛ໌Β͔ʹ͠ͳ͔ͬͨ
    •  'BB4Λ༻͍ͨαʔόʔϨεΞʔΩςΫνϟ͸ɺ.JDSPTFSWJDFTͷ
    ۩ମత࣮ݱखஈ ͷҰͭ

    View Slide

  60. Ͳ͏͍͏ͱ͖࢖͏ͷ
    •  খ͞ͳϢʔεέʔεͰ͸ੵۃతʹ࢖͑͹͍͍
    –  αϜωΠϧ࡞Δ͚ͩɺͱ͔ɺ4MBDL௨஌ͱ͔
    •  େ͖ͳϢʔεέʔεͰ͸͍ͭ࢖͏ͷ͔ŋŋŋ·ͩݴޠԽͰ͖ͯͳ͍
    –  ʮۜͷ஄ؙͰ͸ͳ͍ʯͱ͸ΈΜͳݴ͏ɻʮ͜͜Ͱ࢖͑ʂʯͱ͸ݴΘͳ͍
    –  Φʔόʔϔου͸ൺֱతখ͍͕͞θϩͰ͸ͳ͍
    –  ίϨΦάϥϑΟͰ0,ͳΒɺͱ͍͏ͷ͸͋Γͦ͏

    •  αʔόʔϨεͱͦ͏͡Όͳ͍ͷΛ૊Έ߹ΘͤΔࣄྫ͕૿͑ͯΔ
    –  ྫػցֶशͷϞσϧߏங͸ී௨ʹ΍ͬͯɺͦΕΛར༻͢ΔΞϓϦέʔγϣ
    ϯ͸αʔόʔϨε

    View Slide

  61. αʔόʔϨεͷࠓޙ
    •  ΞʔΩςΫνϟతʹਅͬ౰ͩ͠ɺద༻ൣғ͸֦͕Δͱࢥ͏
    –  ಛʹϦΞϧλΠϜͳεέʔϥϏϦςΟ͕ཉ͍͠έʔε
    •  ήʔϜαʔόʔɺߦಈϩάऩूɺ*P5ŋŋŋ
    –  Ͳ͏͍͏ͱ͖αʔόʔϨε͕͍͍͔ͷٞ࿦͸͜Ε͔Β੒ख़͍ͯ͘͠Ͱ͠ΐ͏
    –  ઃܭํ๏ͷҾ͖ग़͠ͷҰͭʹՃ͓͍͑ͯͯଛ͸ͳ͍

    •  ։ൃ؀ڥ ϑϨʔϜϫʔΫ
    ͸΋͏Ұ੠ཉ͍͠ɻྑ͍΋ͷ͸ࠓޙ΋ग़͖ͯͦ͏
    –  4FSWFSMFTT͕಄Ұͭग़ͯΔ͕ɺ·ͩσϓϩΠࣗಈԽϨϕϧ
    •  ޚࡾՈͷ։ൃڝ૪͕੝ΜʹɻߴػೳԽɺੑೳ޲্͸ਐΉ
    –  "84WT($1WT"[VSF
    –  Φʔόʔϔου͸ٕज़ֵ৽ͰͲΜͲΜখ͘͞ͳΔͱࢥΘΕΔ

    View Slide

  62. ·ͱΊ
    •  αʔόʔϨεΞʔΩςΫνϟͱ͸
    –  ୯७ʹ͸'BB4Λ࢖ͬͨγεςϜ
    –  εςʔτϨεͳ'BB4͕ϦΞΫςΟϒɺ.JDSPTFSWJDFTɺίϨΦάϥ
    ϑΟ΁ͱಋ͘
    •  ݱ৔ײ֮Ͱ͸ʮӡ༻ָ͕Ͱεέʔϧͯ͠ɺ͍҆ʯ
    •  ۜͷ஄ؙͰ͸ͳ͍͕ɺԠ༻ྖҬ͸֦͕ΔͱࢥΘΕΔ
    •  ͪΐͬͱͨ͠λεΫΛ͜ͳͨ͢Ί΍ɺ.JDSPTFSWJDFTͷ࣮ݱखஈͱ
    ͯ͠ɺҾ͖ग़͠ͷҰͭʹೖΕ͓͍ͯͯଛ͸ͳ͍

    View Slide

  63. ࢀߟจݙ 8FC

    •  αʔόϨεͱϚΠΫϩαʔϏεͰมΘΔήʔϜαʔό։ൃ
    –  IUUQTTQFBLFSEFDLDPNLB[VUPNPTBIBSFTVUPNBJLVSPTBIJTVUFCJBOXBSVLFNVTBIBLBJGB
    •  ࢴ໘ϏϡʔϫʔΛࢧ͑ΔαʔόʔϨεΞʔΩςΫνϟ
    –  IUUQTTQFBLFSEFDLDPNJLBJUTFSWFSMFTTBSDIJUFDUVSFTVQQPSUTOJLLFJTQBQFSWJFXFS
    •  #VJMEJOH&WFOUESJWFO4FSWFSMFTT"QQT
    –  IUUQXXXTMJEFTIBSFOFUEBOJMPQCVJMEJOHFWFOUESJWFOTFSWFSMFTTBQQT
    •  "84-BNCEBJO"DUJPO&WFOU%SJWFO4FSWFSMFTT"QQMJDBUJPOT
    –  IUUQTFWFOUESJWFOBQQTDPN
    •  5ZQFTBGF3FBDUJWF1MBUGPSNͰ࡞Δ3FBDUJWF4ZTUFN
    –  IUUQXXXTMJEFTIBSFOFUZVHPMGUZQFTBGFSFBDUJWFQMBUGPSNSFBDUJWFTZTUFNTDBMBTVNNJULBOTBJ
    •  ίϨΦάϥϑΟWTΦʔέετϨʔγϣϯ
    –  IUUQXXXpPSBOPDPNKQCMPHJOUFHSBUJPOJOUFHSBUJPOBSDIJUFDUVSFίϨΦάϥϑΟWTΦʔέετϨʔγϣ
    ϯ
    •  ελʔόοΫε͸ϑΣʔζίϛοτΛ࢖Θͳ͍
    –  IUUQTDPEFHPPHMFDPNBSDIJWFQHSFHPSTSBNCMJOHTKBXJLJT@TUBSCVDLTXJLJ

    View Slide

  64. ࢀߟจݙ ॻ੶

    •  4BN/FXNBOஶ ࠤ౻௚ੜ؂༁ ໦Լ఩໵༁ʮϚΠΫϩαʔϏε
    ΞʔΩςΫνϟʯ ΦϥΠϦʔɾδϟύϯ

    View Slide