Slide 1

Slide 1 text

"HSJ#VT$POOFDU ͷΞʔΩςΫνϟ גࣜձࣾ೶ۀ৘ใઃܭࣾ औక໾$50ా໊ล݈ਓ "84$MPVE3PBETIPXࡳຈ

Slide 2

Slide 2 text

Ͱ͔͍XXX

Slide 3

Slide 3 text

35,(/44 (14 *P5 "HSJ#VT(/44 ʢ։ൃதʣ (14 ͱ೶ۀػցͱͷ௨৴ػೳΛซͤ࣋ͪɺ ҆ՁͰଟ໨తͳར༻͕Մೳ ɾ35,(/44 (14 ɾ(*P5.PEVMF ɾ.BDIJOF$POUSPM *40#64"(1035 ೶࡞ۀ৘ใϋϒαʔϏε "HSJ#VT$POOFDU ะ৔৘ใɺ ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ طଘͷ֤छ೶ۀ *5γεςϜ ࣗಈૢ଩Φϓγϣϯ "HSJ#VT"VUP4UFFS ʢ։ൃதʣ ϞʔλʔۦಈͰϢʔβʵ͕؆୯ʹ୤ணՄೳ ઃܭਤ͸Φʔ ϓϯιʔ εͰެ։ ܗঢ়ʹ߹ΘͤͨΧελϚΠζ͕Մೳ "OESPJE04εϚϗ ɾ λϒϨο τ༻ τϥΫλʔӡసࢧԉΞϓϦ˞ "HSJ#VT/"7* ʢఏڙதʣ ը໘දࣔΛݟͳ͕Β޿͍ะ৔಺Ͱ΋ ·͙ͬ͢౳ִؒʹ࡞ۀՄೳ "HSJ#VT/"7* ぇத৺〝「〔 ʢגʣ ೶ۀ৘ใઃܭࣾ〣औ〿૊〴 גࣜձࣾ೶ۀ৘ใઃܭࣾ ˟๺ւಓଳ޿ࢢ੢̔৚ೆ̐̌ஸ໨̍൪̒߸ IUUQXXXBHSJJOGPEFTJHODPNDPOUBDU!BHSJJOGPEFTJHODPN ˞ ຊΞϓϦ͸ಠཱߦ੓๏ਓ೶ۀɾ৯඼࢈ۀٕज़૯߹ݚڀػߏ ʢ೶ݚػߏʣ ͷݚڀ։ൃ੒ՌͰ͋Δ ιϑ τ ΢ΤΞ ʮ೶༻ं྆࡞ۀφϏήʔγ ϣ ϯιϑ τ ΢ΤΞʯ ٴͼಛڐ ʢಛڐୈ ߸ʣ Λج൫ͱ ͯ͠։ൃ͞Ε͍ͯ·͢ɻ ˞ (PPHMF1MBZ͓Αͼ(PPHMF1MBZϩΰ͸ɺ (PPHMF*ODͷ঎ඪͰ͢ɻ Φϓγϣϯͷ௥ՃͰϩϘο τԽ ɾ *P5ԽʹରԠ ͜Ε·Ͱะ৔ʹࣺ͖ͯͯͨܭଌ ੍ޚ৘ใΛ ʮऩ֭ʯ ͯ͠༗ޮར༻ ʂ ৘ใఏڙɾ࿈ܞ

Slide 4

Slide 4 text

೶࡞ۀ৘ใϋϒαʔϏε "HSJ#VT$POOFDU ะ৔৘ใɺ ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ ೶࡞ۀ৘ใϋϒαʔϏε "HSJ#VT$POOFDU ะ৔৘ใɺ ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ ೶࡞ۀ৘ใϋϒαʔϏε "HSJ#VT$POOFDU ะ৔৘ใɺ ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ σʔλಉظ

Slide 5

Slide 5 text

೶࡞ۀ৘ใϋϒαʔϏε "HSJ#VT$POOFDU ะ৔৘ใɺ ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ ೶࡞ۀ৘ใϋϒαʔϏε "HSJ#VT$POOFDU ะ৔৘ใɺ ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ

Slide 6

Slide 6 text

೶࡞ۀ৘ใϋϒαʔϏε "HSJ#VT$POOFDU ะ৔৘ใɺ ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ ೶࡞ۀ৘ใϋϒαʔϏε "HSJ#VT$POOFDU ะ৔৘ใɺ ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ {JSON} IUUQTXBHHFSJP Swagger

Slide 7

Slide 7 text

೶࡞ۀ৘ใϋϒαʔϏε "HSJ#VT$POOFDU ะ৔৘ใɺ ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ agribus-connect.jar Fat Jar Spring Boot

Slide 8

Slide 8 text

೶࡞ۀ৘ใϋϒαʔϏε "HSJ#VT$POOFDU ะ৔৘ใɺ ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ agribus-connect.jar

Slide 9

Slide 9 text

೶࡞ۀ৘ใϋϒαʔϏε "HSJ#VT$POOFDU ะ৔৘ใɺ ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ agribus-connect.jar EC2

Slide 10

Slide 10 text

೶࡞ۀ৘ใϋϒαʔϏε "HSJ#VT$POOFDU ะ৔৘ใɺ ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ agribus-connect.jar agribus-connect.jar EC2 EC2 ELB

Slide 11

Slide 11 text

೶࡞ۀ৘ใϋϒαʔϏε "HSJ#VT$POOFDU ะ৔৘ใɺ ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ agribus-connect.jar agribus-connect.jar EC2 EC2 ELB Elastic Beanstalk

Slide 12

Slide 12 text

EC2 EC2 ELB Elastic Beanstalk DynamoDB S3 Lambda Cognito Route53 SES CloudWatch KMS

Slide 13

Slide 13 text

EC2 EC2 ELB DynamoDB S3

Slide 14

Slide 14 text

Oregon

Slide 15

Slide 15 text

Oregon São Paulo Frankfurt

Slide 16

Slide 16 text

Oregon São Paulo Frankfurt ͦͷଞ ϋϯΨϦʔ ϩγΞ ϑϥϯε υΠπ ΠλϦΞ ೔ຊ ϙʔϥϯυ ΞϝϦΧ߹ऺࠃ εϖΠϯ ϒϥδϧ

Slide 17

Slide 17 text

Oregon São Paulo Frankfurt ?

Slide 18

Slide 18 text

Oregon São Paulo Frankfurt ? ? ? ? ? ?

Slide 19

Slide 19 text

Oregon São Paulo Frankfurt ? ? ? ? ? ? Route53 Latency Based Routing

Slide 20

Slide 20 text

Oregon São Paulo Frankfurt ? ? ? ? ? ? Route53 Latency Based Routing ΤϯυϢʔβʔ͔ΒͷϦΫΤετʹ ରͯ͠ɺ΋ͬͱ΋ϨΠςϯγͷখ͞ ͍Ϧʔδϣϯ΁ͱϧʔςΟϯά

Slide 21

Slide 21 text

Oregon São Paulo Frankfurt ? ? ? ? ? ? ͭେ͖ͳ໰୊͕

Slide 22

Slide 22 text

Oregon São Paulo Frankfurt

Slide 23

Slide 23 text

Oregon São Paulo Frankfurt

Slide 24

Slide 24 text

Oregon São Paulo Frankfurt σʔλ͕ ෼ࢄͯ͠͠·͏ Մೳੑ

Slide 25

Slide 25 text

Oregon São Paulo Frankfurt ͦͷϢʔβʔͷ ϦʔδϣϯΛ ݻఆ͍ͨ͠

Slide 26

Slide 26 text

IUUQZPVSSFHJPODPN ʢ஫ҙɿ͜ͷ63-͸μϛʔͰ͢ʣ

Slide 27

Slide 27 text

೔ຊ͔Β࣮ߦɿ $ curl your-region.com us-west-2 ϒϥδϧ͔Β࣮ߦɿ $ curl your-region.com sa-east-1

Slide 28

Slide 28 text

url = “http://169.254.169.254/latest/ meta-data/placement/availability-zone" get '/' do open(url) do |f| f.read.chop end end αʔόʔɿZPVSSFHJPODPN

Slide 29

Slide 29 text

Oregon São Paulo Frankfurt $ curl your-region.com us-west-2

Slide 30

Slide 30 text

Oregon São Paulo Frankfurt us-west-2

Slide 31

Slide 31 text

ͦͷଞ $PHOJUP6TFS1PPMT w Ϣʔβʔ؅ཧɺೝূج൫ʹར༻ ,.4 w +85ʢ+40/8FC5PLFOʣॺ໊ ͷͨΊͷ伴Λอ؅

Slide 32

Slide 32 text

·ͩͳ͍X ͜Ε΋ͳ͍X

Slide 33

Slide 33 text

ΑΓྑ͍೶ۀ΁ͷ νϟϨϯδΛࢧ͑Δ ͦΜͳେ๯ݥΛҰॹʹָ͠ΜͰ͘ΕΔ ஥ؒΛืू͍ͯ͠·͢