Slide 1

Slide 1 text

AWSͰ࡞Δಈըࣗಈม׵ͱ഑৴ػߏ 1 2021-04-27(Tue ) Fusic Tech Live Vol.1ɿAWS ׆༻ࣄྫ ઌਐٕज़෦໳ ਿຊ৻ଠ࿠

Slide 2

Slide 2 text

ࣗݾ঺հ ਿຊ ৻ଠ࿠ Sugimoto Shintaro ‣ I D - @withelmo @withelmo
 ‣ ࣗݾ঺հ • Fusic ઌਐٕज़෦໳/෦໳௕/γχΞɾϓϦϯγύϧΤϯδχΞ • ػցֶशνʔϜͱIoTνʔϜͱΤϯδχΞϦϯάͯ͠·͢ ‣ ޷͖ͳAWSαʔϏε • S 3 ‣ Skill s 2 image

Slide 3

Slide 3 text

ࠓճ͓࿩͢Δ͜ͱ • AWSΛ࢖ͬͨಈըࣗಈม׵ͱ഑৴ͷΞʔΩςΫνϟʹ͍ͭͯ • ΞʔΩςΫνϟʔͷબ୒ࢶͱࠓճ࠾༻ͨ͠ߏ੒ʹ͍ͭͯ • Infrastructure as Codeʹ͍ͭͯ 3

Slide 4

Slide 4 text

00 ಈը഑৴ͱ͍͑͹…

Slide 5

Slide 5 text

ಈը഑৴ͱ͍͑͹… Fusicʹ͸͔ͭͯʮzenpreʯͱ͍͏αʔϏε͕͋Γ·ͨ͠ɻ ษڧձͰͷൃදΛΫϦΞͳεϥΠυͱͱ΋ʹԕִ഑৴͢ΔαʔϏε ಈը഑৴෦෼(Ustream)ͷऔΓѻ͍͕೉͘͠ɺ ࣗࣾͰߏங͢Δ͔ݕ౼͠·͕ͨ͠ɺ ίετͷ؍఺Ͱஅ೦ͨ͜͠ͱ͕͋Γ·͢ɻ ͦͷޙɺUstream΋αʔϏεऴྃɺ Flash΋ਰୀؾຯͱ͍͏͜ͱͰɺαʔϏεͷఫୀΛܾஅ͠·ͨ͠ɻ ͋ͷͱ͖ʹ͍·͘Β͍खܰʹಈը഑৴ػߏΛ࡞ΕͨΒ ͋Δ͍͸…ͱ࠷ۙվΊͯࢥ͍·͢ɻ 5

Slide 6

Slide 6 text

01 ࠓճ࠾༻ͨ͠ΞʔΩςΫνϟ

Slide 7

Slide 7 text

01. ࠓճ࠾༻ͨ͠ΞʔΩςΫνϟ 7

Slide 8

Slide 8 text

01. ࠓճ࠾༻ͨ͠ΞʔΩςΫνϟ 8 υʔʔϯοʂʂ

Slide 9

Slide 9 text

01. ࠓճ࠾༻ͨ͠ΞʔΩςΫνϟ 9 ͽ͜ʔΜʂ

Slide 10

Slide 10 text

01. ࠓճ࠾༻ͨ͠ΞʔΩςΫνϟ 10 ϐϡʔʂ

Slide 11

Slide 11 text

01. ࠓճ࠾༻ͨ͠ΞʔΩςΫνϟ 11 ͕ ͕ ͕ ͕ ͕ ʔ ʂ

Slide 12

Slide 12 text

01. ࠓճ࠾༻ͨ͠ΞʔΩςΫνϟ 12 ͽ͜ʔΜʂ

Slide 13

Slide 13 text

01. ࠓճ࠾༻ͨ͠ΞʔΩςΫνϟ 13 Ά͍ͬʂ

Slide 14

Slide 14 text

01. ࠓճ࠾༻ͨ͠ΞʔΩςΫνϟ 14 ͤͬͤͤͬͤʀ

Slide 15

Slide 15 text

01. ࠓճ࠾༻ͨ͠ΞʔΩςΫνϟ 15 ͏͐ʔ͍ʂ

Slide 16

Slide 16 text

׬શཧղ͠·ͨ͠ʁ 16

Slide 17

Slide 17 text

01. ࠓճ࠾༻ͨ͠ΞʔΩςΫνϟ 17

Slide 18

Slide 18 text

01. ࠓճ࠾༻ͨ͠ΞʔΩςΫνϟ 18 1. ಈըϑΝΠϧͷΞοϓϩʔυ • ؅ཧऀ͕ΞϓϦܦ༝ͰΞοϓϩʔυ • ಈըೖྗ༻S3όέοτʹอଘ

Slide 19

Slide 19 text

01. ࠓճ࠾༻ͨ͠ΞʔΩςΫνϟ 19 2. ಈըม׵ॲཧͷ։࢝ • S3ͷPUTΠϕϯτͰLambda͕
 τϦΨʔ • ҎԼΛࢦఆͯ͠Lambda͔Β MediaConvertͷJobΛ࡞੒ 1. MediaConvert Job Templat e 2. ೖྗϑΝΠϧͷS3Ωʔ 3. ग़ྗઌͷS3ϑΥϧμʔ 4. MediaConvert Queu e 5. IAM Role

Slide 20

Slide 20 text

01. ࠓճ࠾༻ͨ͠ΞʔΩςΫνϟ 20 3. ಈըม׵ॲཧ • MediaConvert͕ಈըͷม׵Λ͠ɺ HLSϑΝΠϧ܈ΛS3ʹॻ͖ग़͠

Slide 21

Slide 21 text

01. ࠓճ࠾༻ͨ͠ΞʔΩςΫνϟ 21 4. ಈըม׵ॲཧͷ׬ྃ • EventBridge͕MediaConvertͷಈը ม׵εςʔλεͷΠϕϯτΛड৴ • EventBridge͕Lambda͕τϦΨʔ • εςʔλε͕COMPLETEͷͱ͖ͷ ΈLambda͕S3ʹϑΝΠϧॻ͖ग़͠ • ಈըม׵׬ྃϑΝΠϧ(JSON)

Slide 22

Slide 22 text

01. ࠓճ࠾༻ͨ͠ΞʔΩςΫνϟ 22 5. ΞϓϦͰಈըεςʔλεΛߋ৽ • ΞϓϦͷఆظ࣮ߦͰಈըม׵׬ྃ ϑΝΠϧͷଘࡏνΣοΫ • ΞϓϦଆͰσʔλϕʔεͷಈըε ςʔλεΛߋ৽

Slide 23

Slide 23 text

23 01. ࠓճ࠾༻ͨ͠ΞʔΩςΫνϟ 6. ར༻ऀ͕ಈըΛετϦʔϛϯά࠶ੜ • ϩάΠϯࡁΈͷར༻ऀ͕ΞϓϦ͔Β ֘౰ಈը΁ͷΞΫηεΛڐՄͨ͠ॺ ໊෇͖CookieΛऔಘ • ಈըϓϨʔϠʔ͕ॺ໊෇͖CookieΛ ηοτͯ͠CloudFrontʹΞΫηε • ແࣄʹಈըࢹௌ

Slide 24

Slide 24 text

01. ࠓճ࢖༻ͨ͠AWSαʔϏεʹ͍ͭͯ 24

Slide 25

Slide 25 text

1-1. AWS Elemental MediaConvert ϑΝΠϧϕʔεͷಈըม׵αʔϏε ༷ʑͳίϯςφͱίʔσοΫ͕ೖग़ྗͰαϙʔτ͞Εɺ ߴ౓ͳಈըػೳ΍Ի੠ػೳΛɺैྔ੍ͷྉۚମܥͰ࢖༻Ͱ͖·͢ɻ https://aws.amazon.com/jp/mediaconvert/ ೖྗͷϑΝΠϧͱม׵ઃఆʢςϯϓϨʔτԽՄೳʣͱ ग़ྗઌͷS3όέοτΛࢦఆ͢Δ͚ͩͷγϯϓϧͳΠϯλʔϑΣʔε ม׵ॲཧ͸δϣϒͱͯ͠ड͚෇͚ΒΕɺॲཧʹඞཁͳϦιʔεͷ ϓϩϏδϣχϯά͔Β؂ࢹ·ͰϚωʔδυͰࣗಈͰߦΘΕ·͢ɻ 25

Slide 26

Slide 26 text

1-1. AWS Elemental MediaConvert ઃఆ߲໨͸๲େ … ͚ͩͲ΄ͱΜͲσϑΥϧτͰྑ͍ײ͡ʹͳΓ·͢ʢͨͿΜʣ ࠓճJob template࡞੒Ͱೖྗͨ͠ͷ͸ҎԼ5ͭͷ߲໨ͷΈ • ςϯϓϨʔτͷ໊শ • ೖྗͷ௥Ճ • ग़ྗάϧʔϓͷ௥ՃʢετϦʔϛϯάύοέʔδλΠϓͷબ୒ʣ • ग़ྗϑΝΠϧͷ໊લम০ࢠͷઃఆ • ग़ྗϏσΦͷϏοτϨʔτ 26 { "Name": “mc-template-name", "Settings": { "TimecodeConfig": { "Source": "ZEROBASED" }, "OutputGroups": [ { "Name": "Apple HLS", "Outputs": [ { "ContainerSettings": { "Container": "M3U8", "M3u8Settings": { "AudioFramesPerPes": 4, "PcrControl": "PCR_EVERY_PES_PACKET", "PmtPid": 480, "PrivateMetadataPid": 503, "ProgramNumber": 1, "PatInterval": 0, "PmtInterval": 0, "Scte35Source": "NONE", "NielsenId3": "NONE", "TimedMetadata": "NONE", "VideoPid": 481, "AudioPids": [ 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492 ], "AudioDuration": "DEFAULT_CODEC_DURATION" } }, "VideoDescription": { "ScalingBehavior": "DEFAULT", "TimecodeInsertion": "DISABLED", "AntiAlias": "ENABLED", "Sharpness": 50, "CodecSettings": { "Codec": "H_264", "H264Settings": { "InterlaceMode": "PROGRESSIVE", "ScanTypeConversionMode": "INTERLACED", "NumberReferenceFrames": 3, "Syntax": "DEFAULT", "Softness": 0, "GopClosedCadence": 1, "GopSize": 90, "Slices": 1, "GopBReference": "DISABLED", "MaxBitrate": 1000000, "SlowPal": "DISABLED", "EntropyEncoding": "CABAC", "FramerateControl": "INITIALIZE_FROM_SOURCE", "RateControlMode": "QVBR", "QvbrSettings": { "QvbrQualityLevel": 7,

Slide 27

Slide 27 text

1-1. AWS Elemental Media Convert • ग़ྗάϧʔϓͷ௥ՃʢετϦʔϛϯάύοέʔδλΠϓͷબ୒ʣ • HLSΛબ୒ʢH.264/ACC͕σϑΥϧτબ୒ʣ • ಈը࠶ੜଆͷཁ݅ʹ߹Θͤͯબ୒ɺௐ੔͕ඞཁ • ࠓճ͸ϒϥ΢βͰͷಈը࠶ੜ͕ཁ݅ͰɺϓϨʔϠʔ͸react-playerͰ࣮૷ • ͜͜΋ϋϚΓͲ͜ΖຬࡌͰ͕͢ɺࠓճ͸ׂѪ • ࠓޙͷFusic Tech LiveͰReactձ͕͋Ε͹ൃද͋Δ͔΋!? 27

Slide 28

Slide 28 text

1-1. AWS Elemental Media Convert • ग़ྗϑΝΠϧͷ໊લम০ࢠͷઃఆ • ೖྗͱಉҰՕॴʹग़ྗ͢Δ͜ͱΛ૝ఆͷ޻෉ʢ͔ͳʁͱࢥͬͯΔ ) • ग़ྗϑΝΠϧ໊ͷҰ෦ͱͯ͠෇༩ͯ͠ग़ྗ͞ΕΔ • ҎԼͷਤ͸ɺೖྗϑΝΠϧmovie.mp4ͷͱ͖ͷग़ྗྫ 28

Slide 29

Slide 29 text

1-1. AWS Elemental Media Convert • ग़ྗϏσΦͷϏοτϨʔτ • Ϩʔτ੍ޚϞʔυ͸QVBRʢࣗಈͰྑ͍ײ͡ʹͯ͘͠ΕΔʣ • ࠷େϏοτϨʔτ͸1Mbpsɺ඼࣭Ϩϕϧ7(σϑΥϧτ ) • ม׵ͷ࣮੷ྫ • ݩಈըɿϑΝΠϧαΠζ3.8GB (mp4, 1920x1080, Ϩʔτ10Mbps, 50෼ ) • ม׵ޙɿϑΝΠϧαΠζ213.2MB 29

Slide 30

Slide 30 text

1-2. Amazon EventBridge αʔόʔϨεΠϕϯτόεαʔϏε AWSͷαʔϏεҎ֎ʹ΋ಠࣗΞϓϦέʔγϣϯ΍SaaSͷΠϕϯτͱ΋࿈ܞՄೳ ΠϕϯτۦಈܕΞϓϦέʔγϣϯͷߏஙʹ͸͔ܽͤͳ͍αʔϏεͰ͢ɻ CloudWatchEvents͕֦ு͞ΕɺαʔϏε໊͕มΘΓ·ͨ͠ɻ ࠓճ͸MediaConveterͰͷಈըม׵ͷεςʔλεΛड͚औΓɺ ॲཧ͢ΔͨΊʹ࢖༻͠·ͨ͠ɻ ͦͷͨΊɺCloudWatchEventsͰ΋ߏஙՄೳͰ͕͢ɺ ৽͍͠αʔϏεͷ΄͏͕ࠓޙͷ֦ுੑ͕ظ଴͞ΕΔͷͰ࠾༻͠·ͨ͠ɻ 30

Slide 31

Slide 31 text

1-2. Amazon EventBridge • Πϕϯτόε • ΞΫηεͰ͖ΔϢʔβʔΛఆٛ͠ɺΠϕϯτͷΞΫηείϯτϩʔϧΛ͕ॊೈʹՄೳ • σϑΥϧτόε͸ॴ༗ऀͷΈ͕࢖༻Մೳ • ϧʔϧ • ύλʔϯఆٛ • CloudWatchEventsͱ΄΅ಉ͡ • εέδϡʔϧ࣮ߦʹ΋ରԠ • λʔήοτબ୒ • ͞·͟·ͳAWSαʔϏεʹରԠ • ࠓճ͸Lambdaؔ਺Λઃఆ 31

Slide 32

Slide 32 text

1-3. Amazon CloudFront ίϯςϯπ഑৴ωοτʔϫʔΫ(CDN)αʔϏε ը૾΍ελΠϧγʔτͳͲͷ੩తΦϒδΣΫτͷΈͳΒͣɺಈըͷετϦʔϛϯάʹ΋ରԠ ݴΘͣ΋͕ͳɺΈΜͳ͕͓ੈ࿩ʹͳ͍ͬͯΔαʔϏεͰ͢Ͷ ೥ʑόʔδϣϯΞοϓΛଓ͚͍ͯͯɺ୯ͳΔΩϟογϡαʔόͰ͸ͳ͘ɺ ࡉ੍͔͍ޚ͕Մೳʹͳ͍͍ͬͯͬͯ·͢ɻ աڈʹʮCloudFrontʯͰ͸Ͱ͖ͳ͔ͬͨ͜ͱ͕ɺࠓͩͱՄೳʹͳ͍ͬͯΔ ͜ͱ͕ͨ͘͞Μ͋Γ·͢ͷͰɺࠓҰ౓ɺௐ΂ͯΈΔ͜ͱΛΦεεϝ͠·͢ʂ ࠓճ΋ΩϟογϡͳͷʹϢʔβʔ୯ҐɺΦϒδΣΫτ୯ҐʹΞΫηε੍ݶ͕ ॊೈʹͰ͖ΔΑ͏ʹͳ͍ͬͯΔ͜ͱʹڻ͖·ͨ͠ɻ 32

Slide 33

Slide 33 text

1-3. Amazon CloudFront • ϓϥΠϕʔτίϯςϯπ഑৴ • ॺ໊෇͖URLͱॺ໊෇͖Cookieͷ2छྨ • ࠓճ͸ಈըͷετϦʔϛϯά഑৴ͷͨΊɺ୯ҰͳURLͰ͸ͳ͘ɺ 
 ར༻ऀ͕ෳ਺ϑΝΠϧΛॱ࣍μ΢ϯϩʔυ͢Δඞཁ͕͋ΔͨΊɺॺ໊෇͖CookieΛબ୒ 33

Slide 34

Slide 34 text

1-3. Amazon CloudFront • ॺ໊෇͖Cookie • Ҏલ͸AWSΞΧ΢ϯτϧʔτϢʔβʔ͕ൃߦ͢ΔΩʔͰͷॺ໊ͷΈͰ͕ͨ͠ɺ 
 ͍·͸Ϣʔβʔ͕ੜ੒ͨ͠ΩʔϖΞΛ࢖༻͢Δ͜ͱ͕Մೳɺ͔ͭਪ঑ • ॺ໊෇͖Cookieͷੜ੒ʹ͸ҎԼ͕ඞཁ • ൿີ伴 • CloudFront Public Key ID • ΧελϜϙϦγʔ • ॺ໊෇͖Cookieͷੜ੒͸AWS SDKͰՄೳ • ྫʣRubyͰ͸Aws::CloudFront::CookieSigner#signed_cookie • https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudFront/CookieSigner.html 34

Slide 35

Slide 35 text

1-3. Amazon CloudFront [Tips] • CloudFrontͰͷಈ࡞֬ೝ͸͘͢͝೉͍͠ • ઃఆ൓өʹ͕͔͔࣌ؒΔ • ґଘ͍ͯ͠ΔαʔϏε͕ଟذʹΘͨΔͨΊɺ໰୊Օॴͷಛఆͮ͠Β͍ • ΫϥΠΞϯτͷΩϟογϡ͕ޮ͍͍ͯΔ͜ͱ΋͋Δ • γϯϓϧͳઃఆ͔Β࢝ΊɺҰͭͣͭઃఆΛ૿΍͠ɺ֬ೝ͠ͳ͕ΒਐΊΔͷ͕ྑ͍Ͱ͢ 35

Slide 36

Slide 36 text

1-3. Amazon CloudFront [Tips] • ࠓճͷྫʢͬ͘͟ΓͰ͕͢ʣ • ॺ໊෇͖Cookie੍ݶͳ͠ͰCloudFront(+S3)Λߏங • ίϯςϯπͷμ΢ϯϩʔυΛcurlίϚϯυͰ֬ೝ • ಈըϓϨʔϠʔͰHLS͕࠶ੜՄೳ͔֬ೝ • ॺ໊෇͖CookieͷઃఆΛͯ͠ɺcurlίϚϯυͰμ΢ϯϩʔυΛ֬ೝ • ࠷ޙʹಈըϓϨʔϠʔͰ࠶ੜՄೳ͔֬ೝ 36

Slide 37

Slide 37 text

02 ΞʔΩςΫνϟͰ໎ͬͨͱ͜Ζ

Slide 38

Slide 38 text

2. ΞʔΩςΫνϟͰ໎ͬͨͱ͜Ζ 38

Slide 39

Slide 39 text

2. ΞʔΩςΫνϟͰ໎ͬͨͱ͜Ζ 39 ಈըม׵εςʔλεͷߋ৽ॲཧ

Slide 40

Slide 40 text

2. ΞʔΩςΫνϟͰ໎ͬͨͱ͜Ζ 40 • ಈըม׵εςʔλεͷߋ৽ॲཧ • ࠓճ࠾༻ͨ͠ͷ͸ɺ • MediaConverterͷ׬ྃΠϕϯτΛड͚औͬͯɺ • Lambda͕S3ʹϑΝΠϧΛPUT • ΞϓϦͷఆظॲཧͰϑΝΠϧνΣοΫ͠ɺ 
 σʔλϕʔεΛߋ৽ ಈըม׵׬ྃ ϑΝΠϧ(JSON)

Slide 41

Slide 41 text

2. ΞʔΩςΫνϟͰ໎ͬͨͱ͜Ζ 41 • ଞʹݕ౼ͨ͠ΞʔΩςΫνϟʢಈըม׵εςʔλεͷߋ৽ॲཧʣ • EventBridgeͷλʔήοτΛSQSʹͯ͠ɺΞϓϦ͕ΩϡʔΛऔಘͯ͠εςʔλεߋ৽ • ΞϓϦଆʹεςʔλεߋ৽༻APIΛ࡞੒ͯ͠ɺLambda͕APIίʔϧͯ͠εςʔλεߋ৽ • RDS ProxyΛ༻ҙͯ͠ɺLambda͕σʔλϕʔεʹ௚઀઀ଓͯ͠εςʔλεߋ৽

Slide 42

Slide 42 text

2. ΞʔΩςΫνϟͰ໎ͬͨͱ͜Ζ 42 • EventBridgeͷλʔήοτΛSQSʹͯ͠ɺΞϓϦ͕ΩϡʔΛऔಘͯ͠εςʔλεߋ৽

Slide 43

Slide 43 text

2. ΞʔΩςΫνϟͰ໎ͬͨͱ͜Ζ 43 • ΞϓϦଆʹεςʔλεߋ৽༻APIΛ࡞੒ͯ͠ɺLambda͕APIίʔϧͯ͠εςʔλεߋ৽

Slide 44

Slide 44 text

2. ΞʔΩςΫνϟͰ໎ͬͨͱ͜Ζ 44 • RDS ProxyΛ༻ҙͯ͠ɺLambda͕σʔλϕʔεʹ௚઀઀ଓͯ͠εςʔλεߋ৽

Slide 45

Slide 45 text

2. ΞʔΩςΫνϟͰ໎ͬͨͱ͜Ζ 45 S3 SQS ALB RDS Proxy ෛՙ଱ੑ ʢಈըม׵ͷස౓ʣ ○ ○ ˚ ✕ ϦΞϧλΠϜੑ ✕ ✕ ○ ○ ࣮૷ίετ ○ ○ ✕ ✕ ӡ༻ίετ ○ ˚ ✕ ✕

Slide 46

Slide 46 text

2. ΞʔΩςΫνϟͰ໎ͬͨͱ͜Ζ 46 ಈըม׵εςʔλεͷߋ৽ॲཧ

Slide 47

Slide 47 text

03 Infrastructure as Cod e

Slide 48

Slide 48 text

3-1. Infrastructure as Codeͱͯ͠΍ͬͨ͜ͱ 48

Slide 49

Slide 49 text

3-1. Infrastructure as Codeͱͯ͠΍ͬͨ͜ͱ 49 ಈըͷೖग़ྗ༻S3Λ SAMͰ؅ཧ͢΂͖͔ʁ Terraformʹ͢΂͖͔ʁ

Slide 50

Slide 50 text

3-1. Infrastructure as Codeͱͯ͠΍ͬͨ͜ͱ 50 • ݁࿦ • ಈըม׵ॲཧपΓ͸SAMͰ؅ཧ • S3͸TerraformͰ؅ཧ • ཧ༝ • S3͸LambdaΑΓ΋ΞϓϦؔ࿈Ϧιʔεͱͷ݁߹౓͕ߴ͔ͬͨ • ྫʣEC2 Role, CloudFront(Origin, CORSͳͲ)

Slide 51

Slide 51 text

3-1. Infrastructure as Codeͱͯ͠΍ͬͨ͜ͱ 51

Slide 52

Slide 52 text

3-2. Infrastructure as CodeͰ͖ͳ͔ͬͨ͜ͱ • CloudFront༻Ωʔάϧʔϓͷ࡞੒ • CloudFrontͷॺ໊෇͖CookieͰͷΞΫηε੍ݶͷઃఆ • Restrict Viewer Access • Trusted Key Groups 52

Slide 53

Slide 53 text

3-2. Infrastructure as CodeͰ͖ͳ͔ͬͨ͜ͱ 53

Slide 54

Slide 54 text

3-2. Infrastructure as CodeͰ͖ͳ͔ͬͨ͜ͱ 54

Slide 55

Slide 55 text

3-2. Infrastructure as CodeͰ͖ͳ͔ͬͨ͜ͱ 55

Slide 56

Slide 56 text

3-2. Infrastructure as CodeͰ͖ͳ͔ͬͨ͜ͱ 56 » terraform -version Terraform v0.14.6 + provider registry.terraform.io/hashicorp/aws v3.35.0 + provider registry.terraform.io/hashicorp/template v2.2.0

Slide 57

Slide 57 text

Ͱ͖ΔΑ͏ʹͳͬͯͦ͏ 57 ઌिɺؾ͍ͮͪΌͬͨ…

Slide 58

Slide 58 text

3-2. Infrastructure as CodeͰ͖ͳ͔ͬͨ͜ͱΛ΍ͬͯΈͨʂ 58 • CloudFront༻Ωʔάϧʔϓͷ࡞੒ 
 
 
 
 
 • CloudFrontͷॺ໊෇͖CookieͰͷΞΫηε੍ݶઃఆ(Restrict Viewer Access/Trusted Key Groups) resource aws_cloudfront_public_key cf_public_key { name = "movie-public-key " comment = "CloudFront public key " encoded_key = file("./cloudfront/public_key.pem" ) } resource aws_cloudfront_key_group cf_key_group { name = "movie-key-group " items = [aws_cloudfront_public_key.cf_public_key.id ] comment = “movie-key-group " } resource aws_cloudfront_distribution movie-cf { default_cache_behavior { trusted_key_groups = [aws_cloudfront_key_group.cf_key_group.id ] } }

Slide 59

Slide 59 text

04 ·ͱΊ

Slide 60

Slide 60 text

·ͱΊ AWSΛ࢖ͬͨಈըม׵ɾ഑৴ͷΞʔΩςΫνϟʔʹ͍ͭͯઆ໌͠·ͨ͠ Point 2 ΞʔΩςΫνϟͷબ୒ࢶʹ͍ͭͯࠓճ࠾༻ͨ͠΋ͷͱͦ͜·Ͱͷ໎͍ͱͦͷաఔΛ࿩͠·ͨ͠ Point 3 Infrastructure as Code΁ͷࢼΈͱͯ͠ɺͰ͖ͨ͜ͱͱͰ͖ͳ͔͚ͬͨͲͰ͖ͨ͜ͱʹ͍ͭͯ࿩͠·ͨ͠ Point 4 ҎલͰ͖ͳ੍͔ͬͨ໿͕͍·͸Մೳʹͳ͍ͬͯΔ͜ͱ͕͋ΔͷͰɺվΊͯௐ͕ࠪඞཁͱֶͼ·ͨ͠ 60 Point 1

Slide 61

Slide 61 text

͝ਗ਼ௌ͍͖ͨͩ͋Γ͕ͱ͏͍͟͝·ͨ͠ Thank You We are Hiring ! https://recruit.fusic.co.jp/