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 full-size slide

  2. 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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  12. EC2
    EC2
    ELB
    DynamoDB
    S3

    View full-size slide

  13. Oregon
    São Paulo
    Frankfurt

    View full-size slide

  14. Oregon
    São Paulo
    Frankfurt
    ͦͷଞ

    ϋϯΨϦʔ

    ϩγΞ

    ϑϥϯε

    υΠπ

    ΠλϦΞ

    ೔ຊ

    ϙʔϥϯυ

    ΞϝϦΧ߹ऺࠃ

    εϖΠϯ

    ϒϥδϧ

    View full-size slide

  15. Oregon
    São Paulo
    Frankfurt
    ?

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  20. Oregon
    São Paulo
    Frankfurt

    View full-size slide

  21. Oregon
    São Paulo
    Frankfurt

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  26. 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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide