Slide 1

Slide 1 text

LumenΛಋೖͨ͠EC2ͱ
 DynamoDBͱSNS

Slide 2

Slide 2 text

֓ཁ • খن໛ͷWebΞϓϦέʔγϣϯ • খن໛ͷDB • ϝʔϧૹ৴ • ར༻ݴޠ PHPͱ͍͏റΓ

Slide 3

Slide 3 text

ٕज़બఆ • AWS EC2, DynamoDB, SNS • ϑϨʔϜϫʔΫ Lumen

Slide 4

Slide 4 text

Lumen

Slide 5

Slide 5 text

Lumen • Laravel͕ϕʔεͱͳ͍ͬͯΔ
 ϚΠΫϩϑϨʔϜϫʔΫ • খ͞ͳwebαʔϏε, RESTful API

Slide 6

Slide 6 text

Laravelͱͷҧ͍ • σΟϨΫτϦߏ੒ • artisanίϚϯυ • Ϩεϙϯεͷ଎͞ • Etc…

Slide 7

Slide 7 text

Lumen ಋೖ

Slide 8

Slide 8 text

LumenͱDynamoDB

Slide 9

Slide 9 text

खॱ 1. laravel-dynamodbΛcomposerͰΠϯετʔϧ
 
 (aws-sdk͕ಋೖ͞ΕΔ) 2. bootstrap/app.phpͷमਖ਼ 3. config/dynamodb.phpͷ࡞੒

Slide 10

Slide 10 text

ιʔείʔυ

Slide 11

Slide 11 text

envϑΝΠϧ࡞੒ .env.local .env.dev .env.test .env.prod LocalStackΛ࢖ͬͯϩʔΧϧͰDynamoDBΛΤϛϡϨʔτ͢Δ͜ͱΛ
 લఏͱ͍ͯ͠·͢ɻར༻͢Δϙʔτ͸4569Ͱ͢ɻ(ެࣜΑΓ) dev,test,prod؀ڥશͯͰIAMΛ࢖ͬͯೝূ͍ͤͯ͞·͢ɻ IAMΛ࢖͏ͱೝূ৘ใΛιʔείʔυʹهड़͢Δඞཁ͕ͳ͍ͷͰྑ͍Ͱ͢ɻ

Slide 12

Slide 12 text

࣮૷ྫ ࠓճ͸save()ͱall()Λ࢖͍·ͨ͠ɻ ͨͩɺRDBͰ͸ͳ͍DBʹରͯ͠
 Eloquent ORMΛར༻͢Δͷ͸
 Ͳ͏ͳͷͩΖ͏ͱࢥͬͯ͠·͍·͢ɻ

Slide 13

Slide 13 text

LumenͱSNS

Slide 14

Slide 14 text

AWS SNS • ௨஌ΛૹΔ͜ͱ͕Ͱ͖ΔαʔϏε
 push௨஌ • ϝʔϧૹ৴͸SESͷํ͕޲͍͍ͯΔ • SESʹ͸౦ژϦʔδϣϯ͕ͳ͘
 SNSʹ͸͋Δ

Slide 15

Slide 15 text

खॱ 1. AWS SDKͷಋೖ(্هͰಋೖࡁΈ) 2. bootstrap/app.phpͷमਖ਼ 3. config/sns.phpΛ࡞੒ 4. envϑΝΠϧΛ࡞੒

Slide 16

Slide 16 text

bootstrap/app.phpͷमਖ਼

Slide 17

Slide 17 text

config/sns.phpΛ
 ࡞੒

Slide 18

Slide 18 text

envϑΝΠϧ࡞੒ .env.local LocalStackΛ࢖ͬͯϩʔΧϧͰSNSΛΤϛϡϨʔτ͢Δ͜ͱΛલఏͱ͍ͯ͠·͢ɻ
 ϩʔΧϧͰ࡞੒ࡁΈͷτϐοΫͷARNΛSNS_TOPIC_ARNʹهࡌ͠·͢ɻ
 ར༻͢Δϙʔτ͸4575Ͱ͢ɻ(ެࣜΑΓ)

Slide 19

Slide 19 text

envϑΝΠϧ࡞੒ .env.dev .env.test .env.prod dev,test,prod؀ڥશͯͰIAMΛ࢖ͬͯೝূ͍ͤͯ͞·͢ɻ IAMΛ࢖͏ͱೝূ৘ใΛιʔείʔυʹهड़͢Δඞཁ͕ͳ͍ͷͰྑ͍Ͱ͢ɻ (SNS_CONNECTION͸֤؀ڥͰมߋ)

Slide 20

Slide 20 text

࣮૷ྫ

Slide 21

Slide 21 text

https://qiita.com/yoppie_x/items/ 9b4c6a578227d4ba5cda