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

Copilot x App Runner / アプリケーション開発者へ捧ぐ新しいコンテナワークロードの形

Copilot x App Runner / アプリケーション開発者へ捧ぐ新しいコンテナワークロードの形

iselegant

June 28, 2021
Tweet

More Decks by iselegant

Other Decks in Technology

Transcript

  1. JAWS-UG コンテナ支部 #19
    新井 雅也 ✕ 濱田考治
    ΞϓϦέʔγϣϯ։ൃऀ΁๋͙৽͍͠ίϯςφϫʔΫϩʔυͷܗ
    App Runner
    Copilot

    View full-size slide

  2. App Runner
    Copilot
    ຊ೔ͷςʔϚͱΰʔϧ
    ɾ͜ΕΒαʔϏεͷಛ௃Λ஌Δ
    ɾͲͷΑ͏ͳϢʔεέʔεʹϚον͢Δ͔ϙΠϯτΛཧղ͢Δ

    View full-size slide

  3. ৽Ҫ խ໵ JTFMFHBOU

    גࣜձࣾ໺ଜ૯߹ݚڀॴ
    ϑϧελοΫσΟϕϩούʔ
    "1/"NCBTTBEPS
    "1/"--"84$FSUJGJDBUJPO&OHJOFFS
    ᖛా ߟ࣏ ϋϚίʔ

    Ϋϥεϝιουגࣜձࣾ
    ."% .PEFSO"QQMJDBUJPO%FWFMPQNFOU
    νʔϜϚωʔδϟʔ
    "1/"NCBTTBEPS
    NTZ IBNBLP
    ϓϨθϯ
    ୲౰
    σϞ
    ୲౰

    View full-size slide

  4. Е
    σϞͷ४උɺ͓ئ͍͠·͢ ʼϋϚίʔ͞Μ

    View full-size slide

  5. App Runner
    Copilot
    ຊ೔ͷςʔϚ
    վΊͯ

    View full-size slide

  6. App Runner
    Copilot
    ຊ೔ͷςʔϚ
    ·ͣ
    ͪ͜Β͔Β

    View full-size slide

  7. Copilot
    ຊ೔ͷςʔϚ
    ɾ"84্ʹίϯςφΛσϓϩΠ
    ͢ΔͨΊͷίϚϯυϥΠϯπʔϧ
    ɾΞϓϦ։ൃʹϑΥʔΧε͍ͨ͠
    Ϣʔβ޲͚ͷπʔϧ

    View full-size slide

  8. Copilot
    ຊ೔ͷςʔϚ
    ɾ"84্ʹίϯςφΛσϓϩΠ
    ͢ΔͨΊͷίϚϯυϥΠϯπʔϧ
    ɾΞϓϦ։ൃʹϑΥʔΧε͍ͨ͠
    Ϣʔβ޲͚ͷπʔϧ

    View full-size slide

  9. "84ͰϚωʔδυͳίϯςφαʔϏε

    View full-size slide

  10. Amazon ECS AWS Fargate
    (コントロールプレーン) (データプレーン)
    "84ͰϚωʔδυͳίϯςφαʔϏε

    View full-size slide

  11. Amazon ECS AWS Fargate
    (コントロールプレーン) (データプレーン)
    "84ͰϚωʔδυͳίϯςφαʔϏε
    ϓϩμΫγϣϯϨσΟͳίϯςφ؀ڥߏங͸
    ׂͱΠϯϑϥ໘ͷ४උ͕ଟ͍

    View full-size slide

  12. &$4Y'BSHBUFͰ
    ඞཁͳΠϯϑϥ࡞ۀΛ
    ݟ͍͖ͯ·͢ɻ

    View full-size slide

  13. ҎԼΛલఏͱ͠·͢ɻ
    ίϯςφΞϓϦ͕४උࡁΈ
    "84ΞΧ΢ϯτௐୡࡁΈ
    σϓϩΠ͢Δͷ͸ 8FCΞϓϦ

    View full-size slide

  14. 71$ͷ࡞੒
    4UFQ

    View full-size slide

  15. TVCOFUͷ࡞੒
    4UFQ
    Ϛϧν ";ߏ੒Λ૊Ήલఏͱͯ͠ɺ
    1VCMJDTVCOFUͱ 1SJWBUFTVCOFUΛ
    ͦΕͧΕͭͣͭ࡞੒ɻ

    View full-size slide

  16. Πϯλʔωοτ(8ͱ
    ϧʔτςʔϒϧͷ࡞੒
    4UFQ
    1VCMJD4VCOFUͷσϑΥϧτϧʔτΛ
    Πϯλʔωοτ(8ʹ޲͘Α͏ʹ͢Δɻ

    View full-size slide

  17. "-#ͷ࡞੒
    4UFQ
    -#ɺϦεφʔɺλʔήοτάϧʔϓ࡞੒ɻ
    λʔήοτάϧʔϓͷͿΒԼ͛ઌͳ͠ɻ
    "-#༻ηΩϡϦςΟάϧʔϓΛ࡞੒ɻ

    View full-size slide

  18. &$3ͷ࡞੒
    4UFQ
    ࡞੒ͨ͠ίϯςφΞϓϦΛ &$3ʹϓογϡɻ

    View full-size slide

  19. $MPVE8BUDI
    -PH(SPVQͷ࡞੒
    4UFQ
    ίϯςφͷϩάग़ྗઌͱͯ͠༻ҙɻ

    View full-size slide

  20. &$4Ϧιʔε࡞੒
    4UFQ
    ϋϚΓͲ͜Ζ͕Ұ൪ଟ͍࡞ۀɻ
    ؔ࿈ *".ϩʔϧɺ&$4Ϋϥελʔɺ
    &$4λεΫఆٛɺ&$4αʔϏεΛ࡞੒ɻ

    View full-size slide

  21. ΞϓϦσϓϩΠ🚀
    4UFQ
    'BSHBUF্ʹల։͞Εͨ
    ίϯςφ8FCΞϓϦͷಈ࡞֬ೝΛߦ͏ɻ

    View full-size slide

  22. 71$ͷ
    ࡞੒
    4VCOFUͷ
    ࡞੒
    *(8ͱϧʔτ
    ςʔϒϧ࡞੒
    "-#ͷ
    ࡞੒
    &$3ͷ
    ࡞੒
    $8-PHTͷ
    ࡞੒
    &$4ͷ
    ࡞੒
    ΞϓϦ
    σϓϩΠ
    Step.1 Step.2 Step.3 Step.4 Step.5 Step.6 Step.7 Step.8
    ߏஙϑϩʔΛ͓͞Β͍ͯ͠ΈΔͱɾɾɾ

    View full-size slide

  23. 71$ͷ
    ࡞੒
    4VCOFUͷ
    ࡞੒
    *(8ͱϧʔτ
    ςʔϒϧ࡞੒
    "-#ͷ
    ࡞੒
    &$3ͷ
    ࡞੒
    $8-PHTͷ
    ࡞੒
    &$4ͷ
    ࡞੒
    ΞϓϦ
    σϓϩΠ
    Step.1 Step.2 Step.3 Step.4 Step.5 Step.6 Step.7 Step.8
    ߏஙϑϩʔΛ͓͞Β͍ͯ͠ΈΔͱɾɾɾ
    ɾϦεφʔͷ࡞੒
    ɾλʔήοτάϧʔϓͷ࡞੒
    ɾ"$.ʹΑΔূ໌ॻൃߦ
    FUD
    ɾ&$4λεΫఆٛͷ࡞੒
    ɾ&$4Ϋϥελʔͷ࡞੒
    ɾ&$4αʔϏεͷ࡞੒

    View full-size slide

  24. 71$ͷ
    ࡞੒
    4VCOFUͷ
    ࡞੒
    *(8ͱϧʔτ
    ςʔϒϧ࡞੒
    "-#ͷ
    ࡞੒
    &$3ͷ
    ࡞੒
    $8-PHTͷ
    ࡞੒
    &$4ͷ
    ࡞੒
    ΞϓϦ
    σϓϩΠ
    Step.1 Step.2 Step.3 Step.4 Step.5 Step.6 Step.7 Step.8
    ߏஙϑϩʔΛ͓͞Β͍ͯ͠ΈΔͱɾɾɾ
    ɾϦεφʔͷ࡞੒
    ɾλʔήοτάϧʔϓͷ࡞੒
    ɾ"$.ʹΑΔূ໌ॻൃߦ
    FUD
    ɾ&$4λεΫఆٛͷ࡞੒
    ɾ&$4Ϋϥελʔͷ࡞੒
    ɾ&$4αʔϏεͷ࡞੒
    ͦΕͳΓʹ"84Ϧιʔε४උ͕
    ඞཁͱͳͬͯ͠·͏
    ɾΠϯϑϥεΩϧηοτ
    ɾߏஙͷϦʔυλΠϜ
    ɾϓϩμΫγϣϯϨσΟΛҙࣝͨ͠ઃܭ

    View full-size slide

  25. Е
    ։ൃऀ
    ϏδωεʹՁ஋Λ΋ͨΒ͢Ξ
    ϓϦέʔγϣϯ։ൃʹूத͠
    ͯɺ͙͢ʹσϓϩΠ͍ͨ͠ɻ

    View full-size slide

  26. $PQJMPUΛ࢖͏͜ͱͰɺ$-*ϕʔεͰҰؾʹΞϓϦσϓϩΠ·ͰͰ͖Δ
    Е
    ։ൃऀ

    View full-size slide

  27. $PQJMPUΛ࢖͏͜ͱͰɺ$-*ϕʔεͰҰؾʹΞϓϦσϓϩΠ·ͰͰ͖Δ
    Е
    ։ൃऀ
    $-*ϕʔεͰ͍͔ͭ͘
    ͷ࣭໰ʹ౴͑Δ

    ϚχϡϑΣετʹͯ
    ΞʔΩςΫνϟΛఆٛ
    3FGIUUQTBXTHJUIVCJPDPQJMPUDMJEPDTHFUUJOHTUBSUFEGJSTUBQQUVUPSJBM

    View full-size slide

  28. $PQJMPUΛ࢖͏͜ͱͰɺ$-*ϕʔεͰҰؾʹΞϓϦσϓϩΠ·ͰͰ͖Δ
    Е
    ։ൃऀ
    $MPVE'PSNBUJPO͕
    ཪͰՔಇͯ͠
    ϦιʔεΛ࡞੒

    View full-size slide

  29. $PQJMPUΛ࢖͏͜ͱͰɺ$-*ϕʔεͰҰؾʹΞϓϦσϓϩΠ·ͰͰ͖Δ
    Е
    ։ൃऀ ίϯςφͷσϓϩΠ·Ͱ
    Ұؾ௨؏Ͱ࣮ߦ͞ΕΔ
    $MPVE'PSNBUJPO͕
    ཪͰՔಇͯ͠
    ϦιʔεΛ࡞੒

    View full-size slide

  30. Copilot
    $PQJMPU·ͱΊ
    ɾ "84্ʹίϯςφΛσϓϩΠ
    ͢ΔͨΊͷίϚϯυϥΠϯπʔϧ
    ɾΞϓϦ։ൃʹϑΥʔΧε͍ͨ͠
    Ϣʔβ޲͚ͷπʔϧ

    View full-size slide

  31. App Runner
    Copilot
    ຊ೔ͷςʔϚ
    ࣍ʹͪ͜Β
    ࠶ܝ

    View full-size slide

  32. App Runner
    ຊ೔ͷςʔϚ
    ɾେن໛ͳຊ൪΢ΣϒΞϓϦ։ൃΛ
    ༰қʹ͢ΔϑϧϚωʔδυܕαʔϏε
    ɾίϯςφ PSιʔείʔυ͔Βɺ
    ։ൃऀ͕؆୯͔ͭਝ଎ʹσϓϩΠ

    View full-size slide

  33. App Runner
    ຊ೔ͷςʔϚ
    ɾେن໛ͳຊ൪΢ΣϒΞϓϦ։ൃΛ
    ༰қʹ͢ΔϑϧϚωʔδυܕαʔϏε
    ɾίϯςφ PSιʔείʔυ͔Βɺ
    ։ൃऀ͕؆୯͔ͭਝ଎ʹσϓϩΠ
    Е
    ։ൃऀ
    ʮϑϧʯϚωʔδυܕʁʁʁ

    View full-size slide

  34. ͨͱ͑$PQJMPU͔ΒϦιʔε͕࡞ΒΕͨͱͯ͠΋ɺ
    ΠϯϑϥϦιʔεͱ؅ཧ͕ͳ͘ͳΔΘ͚Ͱ͸ͳ͍

    View full-size slide

  35. ͨͱ͑$PQJMPU͔ΒϦιʔε͕࡞ΒΕͨͱͯ͠΋ɺ
    ΠϯϑϥϦιʔεͱ؅ཧ͕ͳ͘ͳΔΘ͚Ͱ͸ͳ͍
    負荷分散、オートスケール、
    セキュリティ、ドメイン管理、
    証明書、モニタリング、
    ロギング、CI/CD、etc・・・

    View full-size slide

  36. ͨͱ͑$PQJMPU͔ΒϦιʔε͕࡞ΒΕͨͱͯ͠΋ɺ
    ΠϯϑϥϦιʔεͱ؅ཧ͕ͳ͘ͳΔΘ͚Ͱ͸ͳ͍
    "84Ϧιʔεͷӡ༻͸Ҏલͱͯ͠࢒Δ
    ɾ΋ͬͱγϯϓϧʹѻ͍͍ͨϢʔεέʔεʹ޲͔ͳ͍
    ɾͦ΋ͦ΋ϦιʔεͷଘࡏΛؾʹͨ͘͠ͳ͍
    ɾΦʔτεέʔϧɺ$*$%ɺ5-4ূ໌ॻൃߦ͸Φϓγϣϯ

    View full-size slide

  37. "QQ3VOOFSʹΑΓ
    େ൒ͷΠϯϑϥϦιʔε͕ந৅Խ͞ΕΔ

    View full-size slide

  38. "QQ3VOOFSʹΑΓ
    େ൒ͷΠϯϑϥϦιʔε͕ந৅Խ͞ΕΔ

    View full-size slide

  39. "QQ3VOOFSʹΑΓ
    େ൒ͷΠϯϑϥϦιʔε͕ந৅Խ͞ΕΔ

    View full-size slide

  40. "QQ3VOOFSʹΑΓ
    େ൒ͷΠϯϑϥϦιʔε͕ந৅Խ͞ΕΔ
    ಉ࣮࣌ߦ਺
    ࠷େ࠷খαΠζ
    ϔϧενΣοΫઃఆ
    $*$%ઃఆͱͯ͠
    ίϯςφϕʔε PSίʔυϕʔε͕
    બ୒Մೳ

    View full-size slide

  41. "QQ3VOOFSʹΑΓ
    େ൒ͷΠϯϑϥϦιʔε͕ந৅Խ͞ΕΔ
    αʔϏεར༻΋γϯϓϧ

    View full-size slide

  42. App Runner
    "QQ3VOOFS·ͱΊ
    ɾେن໛ͳຊ൪΢ΣϒΞϓϦ։ൃΛ
    ༰қʹ͢ΔϑϧϚωʔδυܕαʔϏε
    ɾίϯςφ PSιʔείʔυ͔Βɺ
    ։ൃऀ͕؆୯͔ͭਝ଎ʹσϓϩΠ

    View full-size slide

  43. App Runner
    Copilot
    ຊ೔ͷςʔϚ
    ࠶ܝ

    View full-size slide

  44. App Runner
    Copilot
    ຊ೔ͷςʔϚ
    ࠶ܝ
    αʔϏε
    πʔϧ

    View full-size slide

  45. App Runner
    Copilot
    ຊ೔ͷςʔϚ
    ࠶ܝ
    πʔϧ
    $PQJMPUͰ"QQ3VOOFSΛ࡞Δ͜ͱ΋Ͱ͖Δ
    Е
    ։ൃऀ
    $PQJMPUͷ։ൃऀମݧΛܧଓ
    αʔϏε

    View full-size slide

  46. Е
    ։ൃऀ
    ϏδωεʹՁ஋Λ΋ͨΒ͢Ξ
    ϓϦέʔγϣϯ։ൃʹूத͠
    ͯɺ͙͢ʹσϓϩΠ͍ͨ͠ɻ
    ΠϯϑϥϦιʔε؅ཧ͸Մೳͳ
    ݶΓۃখԽ͍ͨ͠ɻ

    View full-size slide

  47. $PQJMPUΛ࢖͏͜ͱͰɺ$-*ϕʔεͰҰؾʹΞϓϦσϓϩΠ·ͰͰ͖Δ
    Е
    ։ൃऀ
    "QQ3VOOFSͰ

    View full-size slide

  48. $PQJMPUΛ࢖͏͜ͱͰɺ$-*ϕʔεͰҰؾʹΞϓϦσϓϩΠ·ͰͰ͖Δ
    Е
    ։ൃऀ
    $-*ϕʔεͰ͍͔ͭ͘
    ͷ࣭໰ʹ౴͑Δ

    ϚχϡϑΣετʹͯ
    ΞʔΩςΫνϟΛఆٛ
    "QQ3VOOFSͰ
    Request-Driven Web Service
    Request-Driven Web Service
    web-api-svc

    View full-size slide

  49. $PQJMPUΛ࢖͏͜ͱͰɺ$-*ϕʔεͰҰؾʹΞϓϦσϓϩΠ·ͰͰ͖Δ
    Е
    ։ൃऀ
    $MPVE'PSNBUJPO͕
    ཪͰՔಇͯ͠
    ϦιʔεΛ࡞੒
    "QQ3VOOFSͰ

    View full-size slide

  50. $PQJMPUΛ࢖͏͜ͱͰɺ$-*ϕʔεͰҰؾʹΞϓϦσϓϩΠ·ͰͰ͖Δ
    Е
    ։ൃऀ ίϯςφͷσϓϩΠ·Ͱ
    Ұؾ௨؏Ͱ࣮ߦ͞ΕΔ
    $MPVE'PSNBUJPO͕
    ཪͰՔಇͯ͠
    ϦιʔεΛ࡞੒
    ※AWS Copilotの仕様上、現状ではVPCや
    subnet, ECS Clusterなどが作成される。
    課⾦に影響するようなリソースはなく、
    App Runnerを利⽤する上ではこれら
    リソースは利⽤されない。
    "QQ3VOOFSͰ

    View full-size slide

  51. Е
    σϞͷ༷ࢠΛݟͯΈ·͠ΐ͏ɻ

    View full-size slide

  52. "QQ3VOOFS͕ࣗ෼ͨͪͷϢʔεέʔεʹ
    Ϛον͢Δ͔ݕ౼͢Δ্ͰͷߟྀϙΠϯτ
    ⚠ 71$಺ʹ"QQ3VOOFSΠϯελϯε͸࡞Εͳ͍
    ⚠ ΠϯελϯεͷϦιʔε੍ݶ͋Γ W$16ϝϞϦPS(#

    ⚠ ϦΫΤετ͸੍ݶͳ͠ͰΠϯλʔωοτެ։͞ΕΔ
    ˠݱঢ়8"'ͳͲͷઃఆ͸Ͱ͖ͳ͍
    ⚠ εέʔϧμ΢ϯ࣌ͷ࠷খ͸୆
    ˠ࠷௿୆͸ىಈ͢ΔͷͰίετ͸ৗʹൃੜ͢Δ

    8"'ͷΞλονʹ͍ͭͯ͸ɺ"QQ3VOOFSͷ*TTVF IUUQTHJUIVCDPNBXTBQQSVOOFSSPBENBQJTTVFT
    ͱͯ͠औΓ্͍͛ͯ·͢ɻ

    ͦͷଞͷ"QQ3VOOFS࢓༷͸ެࣜυΩϡϝϯτ IUUQTEPDTBXTBNB[PODPNKB@KQBQQSVOOFS
    Λ֬͝ೝ͍ͩ͘͞ɻ

    View full-size slide

  53. IUUQTXXXBQQSVOOFSXPSLTIPQDPN

    View full-size slide

  54. App Runner
    Copilot
    ຊ೔ͷ·ͱΊ
    ϑϧϚωʔ
    δυܕ
    αʔϏε
    πʔϧ
    Е
    ։ൃऀ
    $PQJMPUͷ։ൃऀମݧΛҡ࣋Ͱ͖Δ ҎԼΛ΋ͱʹϢʔεέʔεʹϚον͢Δ͔ݕ౼
    ⚠ 71$಺ʹ"QQ3VOOFSΠϯελϯε͸࡞Εͳ͍
    ⚠ ΠϯελϯεͷϦιʔε͋Γ
    ⚠ ϦΫΤετ͸੍ݶͳ͠ͰΠϯλʔωοτެ։͞ΕΔ
    ⚠ εέʔϧμ΢ϯ࣌ͷ࠷খ͸୆

    View full-size slide

  55. ΄Μͷ͚ͩ͢͜͠એ఻͍ͤͯͩ͘͞͞💦
    ʘ *OGSBTUSVDUVSFBT$PEFʹؔ͢Δٕज़ॻΛࣥච͠·ͨ͠ʗ
    ର৅ಡऀ
    ɾ*B$ࣗମʹڵຯΛ͓࣋ͪͷํ
    ɾ৽͍͠*B$ʹ͍ͭͯ஌Γ͍ͨํ
    ɾ͜Ε͔Β*B$ʹऔΓ૊·ΕΑ͏ͱ͍ͯ͠Δํ
    ɾ"84ͰΠϯϑϥετϥΫνϟΛ؅ཧ͍ͯ͠Δํ
    ɾطଘͷ*B$αʔϏεͰ೰ΈΛ͍࣋ͬͯΔํ
    📣BOOTHで好評販売中
    ダウンロード版(PDF)が
    期間限定で値下げ中です
    \1,500 → \1,300

    View full-size slide

  56. Е
    ͝ਗ਼ௌ͍͖ͨͩ੣ʹ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ
    Thank you !

    View full-size slide