Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AgriBus-Connectのアーキテクチャ(2016 AWS Cloud Roadshow)

AgriBus-Connectのアーキテクチャ(2016 AWS Cloud Roadshow)

AWS Cloud Roadshow 2016 札幌での講演資料です。
https://aws.amazon.com/jp/about-aws/events/roadshow2016_report/#sapporo

312cc773dc86206cf9e494c3f413a8a9?s=128

Takehito Tanabe

October 21, 2016
Tweet

Transcript

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

  2. Ͱ͔͍XXX

  3. 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ԽʹରԠ ͜Ε·Ͱะ৔ʹࣺ͖ͯͯͨܭଌ ੍ޚ৘ใΛ ʮऩ֭ʯ ͯ͠༗ޮར༻ ʂ ৘ใఏڙɾ࿈ܞ
  4. ೶࡞ۀ৘ใϋϒαʔϏε "HSJ#VT$POOFDU ะ৔৘ใɺ ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ ೶࡞ۀ৘ใϋϒαʔϏε "HSJ#VT$POOFDU ะ৔৘ใɺ ࡞ۀཤྺɺ

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

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

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

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

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

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

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

    ELB Elastic Beanstalk
  12. EC2 EC2 ELB Elastic Beanstalk DynamoDB S3 Lambda Cognito Route53

    SES CloudWatch KMS
  13. EC2 EC2 ELB DynamoDB S3

  14. Oregon

  15. Oregon São Paulo Frankfurt

  16. Oregon São Paulo Frankfurt ͦͷଞ  ϋϯΨϦʔ  ϩγΞ 

    ϑϥϯε  υΠπ  ΠλϦΞ  ೔ຊ  ϙʔϥϯυ  ΞϝϦΧ߹ऺࠃ  εϖΠϯ  ϒϥδϧ 
  17. Oregon São Paulo Frankfurt ?

  18. Oregon São Paulo Frankfurt ? ? ? ? ? ?

  19. Oregon São Paulo Frankfurt ? ? ? ? ? ?

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

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

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

  23. Oregon São Paulo Frankfurt

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

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

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

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

  28. url = “http://169.254.169.254/latest/ meta-data/placement/availability-zone" get '/' do open(url) do |f|

    f.read.chop end end αʔόʔɿZPVSSFHJPODPN
  29. Oregon São Paulo Frankfurt $ curl your-region.com us-west-2

  30. Oregon São Paulo Frankfurt us-west-2

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

  32. ·ͩͳ͍X ͜Ε΋ͳ͍X

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