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

Takehito Tanabe

October 21, 2016
Tweet

More Decks by Takehito Tanabe

Other Decks in Technology

Transcript

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

    View Slide

  2. Ͱ͔͍XXX

    View Slide

  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ԽʹରԠ
    ͜Ε·Ͱะ৔ʹࣺ͖ͯͯͨܭଌ
    ੍ޚ৘ใΛ
    ʮऩ֭ʯ
    ͯ͠༗ޮར༻
    ʂ
    ৘ใఏڙɾ࿈ܞ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  13. EC2
    EC2
    ELB
    DynamoDB
    S3

    View Slide

  14. Oregon

    View Slide

  15. Oregon
    São Paulo
    Frankfurt

    View Slide

  16. Oregon
    São Paulo
    Frankfurt
    ͦͷଞ

    ϋϯΨϦʔ

    ϩγΞ

    ϑϥϯε

    υΠπ

    ΠλϦΞ

    ೔ຊ

    ϙʔϥϯυ

    ΞϝϦΧ߹ऺࠃ

    εϖΠϯ

    ϒϥδϧ

    View Slide

  17. Oregon
    São Paulo
    Frankfurt
    ?

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  22. Oregon
    São Paulo
    Frankfurt

    View Slide

  23. Oregon
    São Paulo
    Frankfurt

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide