Slide 1

Slide 1 text

։ൃͰ͔ͭΏͬ AWS ͷ API ૢ࡞Λ໛฿͢Δ πʔϧΛΈ͚ͯ͠Έͨ1 JAWS-UG ࣛࣇౡษڧձ Vol.8 @inokara 1 ࣛࣇౡห༁: ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ (OSS) πʔϧΛ୳ͯ͠Έͨ ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 1

Slide 2

Slide 2 text

ࢲ͸ • ઒ݪ ༸ฏ (͔ͬͺ) • ΞΠϨοτגࣜձࣾ • ࣛࣇౡग़਎Ͱ͝Θ͢ • Github: inokappa • twitter: @inokara • Facebook: inokappa ࣮Ո͸ਅ࠭ͳͷͰ, ࠙਌ձ͕ऴΘͬͨΒ ਅ࠭ʹؼΓ·͢. ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 2

Slide 3

Slide 3 text

એ఻ ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 3

Slide 4

Slide 4 text

JAWS-UG ෱Ԭۙล͔Β͖·ͨ͠ʂ ΄΅ຖि΋͘΋͘ձ΍ͬͯ·͢͹͍ ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 4

Slide 5

Slide 5 text

Զͷπʔϧζ oreno.tools ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 5

Slide 6

Slide 6 text

એ఻ ऴΘΓ ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 6

Slide 7

Slide 7 text

AWS ͷ API ૢ࡞ͬͪ ͸͍Ί࣮ͬߦͬ࣌͢͸ ۓுͬ͢Ͳͳʔ2 2 ࣛࣇౡห༁: AWS ͷ API ૢ࡞ΛॳΊ࣮ͯߦ͢Δ࣌͸ۓு͠·͢ΑͶ. ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 7

Slide 8

Slide 8 text

γεςϜ։ൃͰ͸ ίετ͸Ͱ͚ͬͩ͘ ཈͔͑ͨʔ3 3 ࣛࣇౡห༁: γεςϜ։ൃͰ͸ίετ͸ग़དྷΔ͚ͩ཈͍͑ͨͰ͢ΑͶ. ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 8

Slide 9

Slide 9 text

ςετͰ ࣮ϦιʔεΛ͔͔ͱ͸ ͓͡Ͳͳ͋ʔ4 4 ࣛࣇౡห༁: ςετͰ࣮ϦιʔεΛ৮Δͷͬͯා͍Ͱ͢ΑͶ. ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 9

Slide 10

Slide 10 text

ͦ͛ͳօ͞Μʹ Ͳͯ͠Μ࿕ใͰ͢5 5 ࣛࣇౡห༁: ͦΜͳօ͞Μʹ͓ͦΒ͘࿕ใͰ͢. ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 10

Slide 11

Slide 11 text

AWS ͷ API ૢ࡞Λ໛฿, API ޓ׵ ͷ OSS ͕ ৭ʑͱ͍͋΋͢6 6 ࣛࣇౡห༁: AWS ͷ API ૢ࡞Λ໛฿, API ޓ׵ ͷ OSS ͕৭ʑͱଘࡏ͍ͯ͠·͢. ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 11

Slide 12

Slide 12 text

ͦ͛ͳ OSS Λ͍͔ͬ͘ ݟસͬͯΈ΋ͨ͠7 νΣετʔʂʂʂ 7 ࣛࣇౡห༁: ͦΜͳ OSS Λز͔ͭݟસͬͯΈ·ͨ͠. ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 12

Slide 13

Slide 13 text

DynamoDB Local • https://docs.aws.amazon.com/ja_jp/amazondynamodb/ latest/developerguide/DynamoDBLocal.html • DynamoDB ͷجຊతͳػೳΛϩʔΧϧ؀ڥͰఏڙ, AWS Φϑ Ογϟϧπʔϧʂ • σʔλͷ put ΋ग़དྷΔ͠, scan ΋ग़དྷΔʂ ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 13

Slide 14

Slide 14 text

SAM Local • https://github.com/awslabs/aws-sam-cli • Lambda ؔ਺΍ API Gateway ΛϩʔΧϧ؀ڥͰ࣮ߦग़དྷΔʂ • S3 ΍ DynamoDB ౳ͷαʔϏεͷݺͼग़͠ΛΤϛϡϨʔτʂ ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 14

Slide 15

Slide 15 text

localstack • https://github.com/localstack/localstack • Lambda ͱ͔ API Gateway ͱ͔ϝδϟʔͳαʔϏεͷ API Λ αϙʔτʂ • Web UI ͕༻ҙ͞Ε͍ͯΔʂ ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 15

Slide 16

Slide 16 text

moto (moto_server) • https://github.com/spulec/moto • Python ੡ͷ mock ϥΠϒϥϦ • αϙʔτ͢ΔαʔϏε͕ localstack ΑΓ΋޿͍͔΋ • ϥΠϒϥϦ൛ͷ moto ͱαʔόʔ൛ͷ moto_server ͕༻ҙ͞ Ε͍ͯΔ ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 16

Slide 17

Slide 17 text

elasticmq • https://github.com/adamw/elasticmq • SQS ޓ׵ͷΠϯλϑΣʔεΛఏڙʂ • Scala Ͱ࣮૷ ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 17

Slide 18

Slide 18 text

minio • https://github.com/minio/minio • S3 API ޓ׵ͷΦϒδΣΫτετϨʔδ • S3 ͷΑ͏ͳ Web UI ΋උ͍͑ͯΔ ͔ͳΓͷߴػೳͰ SDK ౳΋༻ҙ͞Ε͓ͯΓ, ଞͷΫϥ΢υαʔ Ϗε΍ΦϯϓϨ্ʹల։࣮ͯ͠ࡍʹӡ༻͢Δ͜ͱ΋૝ఆ͞Εͯ ͍Δײ͡Ͱ͢. ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 18

Slide 19

Slide 19 text

dynalite • https://github.com/mhart/dynalite • DynamoDB ͷػೳΛఏڙ͢Δ࣮૷ kinesalite • https://github.com/mhart/kinesalite • Kinesis Stream ͷػೳΛఏڙ͢Δ࣮૷ ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 19

Slide 20

Slide 20 text

Ұཡ (1) ໊લ ର৅αʔϏε ϥΠηϯε DynamoDB Local DynamoDB Amazon ϥΠηϯε SAM Local Lambda ଞ Apache License 2.0 localstack Lambda ଞ Apache License 2.0 moto EC2 ଞ Apache License 2.0 ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 20

Slide 21

Slide 21 text

Ұཡ (2) ໊લ ର৅αʔϏε ϥΠηϯε elasticmq SQS Apache License 2.0 minio S3 Apache License 2.0 dynalite DynamoDB MIT License kinesalite Kinesis MIT License ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 21

Slide 22

Slide 22 text

୳ͤ͹΋ͬͱ͋Δ͸ͣ... ͡ΌͬͲΜ... ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 22

Slide 23

Slide 23 text

ग़དྷΕ͹...σϞ ͜ΕΒͷπʔϧ͸ HTTP ͷΤϯυϙΠϯτΛఏڙ͍ͯ͠ΔͷͰ, ҎԼͷΑ͏ʹ, Φϓγϣϯ౳ͰΤϯυϙΠϯτΛࢦఆͯ͠ར༻͠ ·͢.8 aws --profile=dummy \ --endpoint=http://xxx.xxx.xxx.xxx:1234 \ s3 ... 8 AWS CLI Ͱͷར༻ྫͰ͢. ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 23

Slide 24

Slide 24 text

࠷ޙʹ • ࣮ϦιʔεΛ࿔ΔલͷૉৼΓʹΦεεϝ͡ΌͬͲʂ • ͋͘·Ͱ΋։ൃ༻్΍͓ࢼ͠༻్Ͱ࢖͍ͬͯ͘΍Μͤʂ • ୳ͤ͹΋ͬͱ৭ʑͱग़ͯ͘Δ͸ͣ͡ΌͬͲͳ͋ʂ • Let's ΤϯδϣΠ AWS !! ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 24

Slide 25

Slide 25 text

ᄠ͔͍͜ ௓΅͔͍ ᄠ͜Α͔ͬ ͻͬ௓ !! ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 25

Slide 26

Slide 26 text

׬ ։ൃͰ࢖͑Δ AWS ͷ API ૢ࡞Λ໛฿͢Δ OSS πʔϧΛ୳ͯ͠Έͨ | JAWS-UG ࣛࣇౡษڧձ Vol.8 26