金融スタートアップにおけるコンテナ・ECSの活用事例 / container-fest-summer-fintech

金融スタートアップにおけるコンテナ・ECSの活用事例 / container-fest-summer-fintech

夏のAWSコンテナ祭り with Amazon ECS の発表資料です。
https://aws.amazon.com/jp/about-aws/events/2020/doc1221/

資料の中に記載したURLを抜粋しておきます。

shell2httpでAWS FargateやSSHレスの運用を少しだけ楽にする (※2018年の記事なので注意)
https://blog.s-tajima.work/post/2018/shell2http-on-fargate/

17 Backdoored Docker Images Removed From Docker Hub
https://www.bleepingcomputer.com/news/security/17-backdoored-docker-images-removed-from-docker-hub/

AWS re:Invent 2019: [REPEAT 1] AWS Fargate under the hood (CON423-R1)
https://www.youtube.com/watch?v=Hr-zOaBGyEA

Bottlerocket: 特定目的のコンテナオペレーティングシステム
https://aws.amazon.com/jp/blogs/news/bottlerocket-a-special-purpose-container-operating-system/

The Finatext Tech Blog
https://medium.com/finatext

0251532f4fb413ea1a026efe6eb16b87?s=128

Satoshi Tajima

July 29, 2020
Tweet

Transcript

  1. ۚ༥ελʔτΞοϓʹ͓͚Δ ίϯςφɾ&$4ͷ׆༻ࣄྫ ՆͷίϯςφࡇΓXJUI"NB[PO&$4 'JOBUFYU)PMEJOHT-UE4BUPTIJ5BKJNB!T@UBKJNB

  2. 8JEF %FFQ 5FDI #VTJOFTT ͜ͷ͋ͨΓ τʔΫͷҐஔ෇͚

  3. ࣗݾ঺հ 4BUPTIJ5BKJNB!T@UBKJNB w Πϯϑϥɾ43&ɾΫϥ΢υɾηΩϡϦςΟपΓ͕ಘҙ w "84ྺ͸೥͘Β͍  w "84$FSUJpFE4FDVSJUZ4QFDJBMUZ w

    ϓϩάϥϜ΋ॻ͖·͢ w (Pͱ͔3VCZΛ࢖͏͜ͱ͕ଟ͍Ͱ͢
  4. ձࣾ঺հ 'JOBUFYUάϧʔϓ        

         
  5. ձࣾ঺հ 'JOBUFYUάϧʔϓ        

      
  6. ࣄۀ঺հ

  7. ࣄۀ঺հ

  8. ࣄۀ঺հ

  9. ࣄۀ঺հ

  10. "HFOEB w γεςϜߏ੒ͷશମ૾ w ͳͥίϯςφɾ&$4Λ࠾༻͍ͯ͠Δ͔ w ίϯςφɾ&$4ʹΑΔΞδϦςΟ޲্ͷϙΠϯτ w ίϯςφɾ&$4ʹ͓͚ΔηΩϡϦςΟ୲อͷϙΠϯτ

  11. "HFOEB w γεςϜߏ੒ͷશମ૾ w ͳͥίϯςφɾ&$4Λ࠾༻͍ͯ͠Δ͔ w ίϯςφɾ&$4ʹΑΔΞδϦςΟ޲্ͷϙΠϯτ w ίϯςφɾ&$4ʹ͓͚ΔηΩϡϦςΟ୲อͷϙΠϯτ

  12. ඪ४తͳγεςϜߏ੒ γεςϜߏ੒ͷશମ૾

  13. ඪ४తͳγεςϜߏ੒ γεςϜߏ੒ͷશମ૾

  14. ίϯςφɾ&$4ͷར༻ঢ়گ γεςϜߏ੒ͷશମ૾ w ։ൃ؀ڥɾຊ൪؀ڥͷଟ͘ͷՕॴͰར༻ w &$4Ϋϥελʔͷ਺͸શ෦Ͱ໿ݸ΄Ͳ w &$4PO&$ͱ&$4PO'BSHBUF͸ɺαʔϏεຖʹ࢖͍෼͚ w ৽͘͠࡞Δ؀ڥ͸'BSHBUF͕ଟΊ

    w طଘͷ؀ڥͰɺಛघͳϓϩτίϧΛѻ͏Α͏ͳͱ͜Ζ͸τϥϒϧγϡʔτͰύ έοτΩϟϓνϟΛͨ͠Γ͢ΔͷͰݱঢ়͸&$Ͱͳ͍ͱݫ͍͠ ˞աڈʹ͸TIFMMIUUQͱ͍͏πʔϧͰͪΐͬͱͨ͠γΣϧίϚϯυΛ࣮ߦ͍ͯͨ͜͠ͱ΋͋ΔͷͰͬͦ͜Γ঺հ IUUQTCMPHTUBKJNBXPSLQPTUTIFMMIUUQPOGBSHBUF
  15. "HFOEB w γεςϜߏ੒ͷશମ૾ w ͳͥίϯςφɾ&$4Λ࠾༻͍ͯ͠Δ͔ w ΞδϦςΟ޲্ͷϙΠϯτ w ηΩϡϦςΟ୲อͷϙΠϯτ

  16. lίϯςφzΛ࠾༻ͯ͠Δཧ༝ w ηΩϡϦςΟͱΞδϦςΟͷཱ྆ʹେ͖͘ߩݙ͢ΔͨΊɻ w ͳͥηΩϡϦςΟͱΞδϦςΟ͕ॏཁ͔ w ηΩϡϦςΟʜۚ༥ྖҬͰࣄۀΛల։͍ͯ͠Δ w ΞδϦςΟʜελʔτΞοϓͰ͋Γ༷ʑͳϦιʔεΛޮ཰తʹ׆༻͢Δඞཁ w

    ͨͩ͠ɺ୯ʹίϯςφΛ࠾༻͢Ε͹͜ΕΒͷԸܙΛड͚ΒΕΔΘ͚Ͱ͸ͳ͍ w ඇίϯςφ؀ڥͱͷύϥμΠϜͷҧ͍Λೝࣝ͢Δඞཁ͕͋Δ w ࠓ೔͸͜ͷ఺ʹ͍ͭͯɺͲΜͳ޻෉Λ͍ͯ͠Δ͔Λ͓࿩͠·͢ ͳͥίϯςφɾ&$4Λ࠾༻͍ͯ͠Δ͔
  17. l"NB[PO&$4zΛ࠾༻͍ͯ͠Δཧ༝ w ίϯςφʹΑͬͯಘΒΕΔηΩϡϦςΟͱΞδϦςΟΛ࠷େԽͰ͖ΔͨΊɻ w ϗετ04ͷ؅ཧͷख͕ؒ࡟ݮ͞ΕΔ w &$4PO&$ͷ৔߹͸"NB[PO&$4PQUJNJ[FE".*Λ࢖͑Δ w &$4PO'BSHBUFͷ৔߹͸ϗετ04ͷ؅ཧ͕ෆཁ w

    &$4ࣗମ͚ͩͰͳ͘ɺपลͷϚωʔδυαʔϏεͷԸܙΛଘ෼ʹड͚ΒΕΔɻ w ྫ͑͹ʮίϯςφͷεςʔτνΣϯδΛ$MPVE8BUDI&WFOUͰ؆୯ʹ௨஌ͨ͠ ΓʯʮϩάΛ$MPVE8BUDI-PHTʹखؒͳ͘ू໿ͨ͠Γʯ ͳͥίϯςφɾ&$4Λ࠾༻͍ͯ͠Δ͔
  18. l&,4zͰ͸ͳ͘l&$4zͳཧ༝ w લఏ w ࠷ॳͷ&$4ಋೖ࣌͸ɺͦ΋ͦ΋&,4͸·ͩϦϦʔε͞Ε͍ͯͳ͍ɻ w Αͬͯ&$4ͱ&,4͸ϑϥοτʹൺֱ͞ΕͨΘ͚Ͱ͸ͳ͍ɻ w ͔͠͠ɺݱ࣌఺Ͱ΋Ҡߦͷܭը͸ཱ͍ͯͯͳ͍͠ɺ
 ৽نʹߏங͢ΔαʔϏεͰ΋&$4Λબ୒͍ͯ͠ΔͷͰͦͷཧ༝Λઆ໌ɻ

    ͳͥίϯςφɾ&$4Λ࠾༻͍ͯ͠Δ͔
  19. l&,4zͰ͸ͳ͘l&$4zͳཧ༝ w ϏδωεతཁҼ w γϯάϧϓϩμΫτͰ͸ͳ͘ɺଟ਺ͷαʔϏεΛӡ༻͍ͯ͠Δ w ଟ͕͘#UP#UP$ͷܗΛͨ͠ɺଞͷاۀͱͷڞಉࣄۀͷϓϩμΫτͰ͋Δ w Ͳ͏ͯ͠΋αʔϏεຖͷγεςϜͷಠཱੑͷͨΊʹ"84ΞΧ΢ϯτ΍ΫϥελΛ ෼͚Δඞཁ͕͋Δ

    w &,4ͷ৔߹ɺՔಇ͍ͤͯ͞ΔΫϥελʔ୯ҐͰͷ՝͕ۚ͋Γɺখ͞ͳΫϥελʔ Λͨ͘͞ΜཱͯΔඞཁ͕͋Δ؀ڥͩͱίετ͕͔͞Ή ͳͥίϯςφɾ&$4Λ࠾༻͍ͯ͠Δ͔
  20. l&,4zͰ͸ͳ͘l&$4zͳཧ༝ w ΤϯδχΞ૊৫తཁҼ w ΤϯδχΞΛɺٕज़ϨΠϠʔͰڧ͘͸͘͘ΒͣɺΈΜͳ͕෯޿͍ྖҬͷٕज़Λ୲౰ Ͱ͖ΔΑ͏ͳମ੍ʹ͍ͯ͠Δɻ w ΞϓϦέʔγϣϯ Λॻ͘ͷ͕ಘҙͳ ΤϯδχΞͰ΋5FSSBGPSN΋ॻ͘ɻ

    w Πϯϑϥ ʹৄ͍͠ ΤϯδχΞ΋(PΛॻ͘ɻ w &$4ʹൺ΂ͯ&,4͸ֶशίετ͕˞ߴ͍ͱײ͍ͯ͡Δɻ w Πϯϑϥɾ"84ɾίϯςφͳͲʹೃછΈ͕ͳ͍ϝϯόʔ΋͙͢ʹΩϟονΞοϓ ͕Ͱ͖ΔΑ͏ʹ͓͖͍ͯͨ͠ɻ ͳͥίϯςφɾ&$4Λ࠾༻͍ͯ͠Δ͔ ˞ॾઆ͋Γ
  21. "HFOEB w γεςϜߏ੒ͷશମ૾ w ͳͥίϯςφɾ&$4Λ࠾༻͍ͯ͠Δ͔ w ίϯςφɾ&$4ʹΑΔΞδϦςΟ޲্ͷϙΠϯτ w ίϯςφɾ&$4ʹ͓͚ΔηΩϡϦςΟ୲อͷϙΠϯτ

  22. *NNVUBCMFɾ%JTQPTBCMF w ۩ମతʹ͸ʁ w *NNVUBCMFͱ͸Ұ౓ϦϦʔεͨ͠ίϯςφʹରͯ͠ɺઃఆมߋ΍ύονద༻Λߦ Θͣʹӡ༻͢Δ͜ͱ w %JTQPTBCMFͱ͸Ұ౓ϦϦʔεͨ͠ίϯςφΛɺ͍ͭͰ΋༰қʹഇغՄೳͳঢ়ଶʹ ͓ͯ͘͜͠ͱ w

    ઃఆมߋ΍ύονద༻ͷඞཁੑ͕ग़͖ͯͨ৔߹͸ɺมߋద༻ࡁΈͷ৽͍͠ίϯς φΛ্ཱͪ͛ɺݹ͍ίϯςφͱೖΕସ͑Δ w ͜ͷํ਑͸ɺίϯςφ͚ͩͰͳ͘ϗετ04ʹ΋ద༻͢Δ ίϯςφɾ&$4ʹΑΔΞδϦςΟ޲্ͷϙΠϯτ
  23. *NNVUBCMFɾ%JTQPTBCMF w ͲΜͳϝϦοτ͕͋Δʁ w มߋલͷঢ়ଶʹΑΔ෭࡞༻Λड͚ʹ͍͘ w ҆શͳ੾Γ໭͠Λ୲อ͠΍͍͢ͷͰɺϦϦʔεͷ৺ཧతϋʔυϧ͕Լ͕Δ w ੵۃతͰසൟͳϦϦʔεͷ࣮ݱ w

    ΞϓϦέʔγϣϯͷߋ৽ɾઃఆͷมߋɾύονద༻͕ಉ͡ϑϩʔʹͳΔ w ʮ೚ҙͷมߋΛՃ͑ͨ৽͍͠ίϯςφΛ্ཱͪ͛ɺݹ͍ίϯςφΛഇغʯ w ίϯςφɾϗετ04ͷɺΠϯελϯεຖͷ؀ڥࠩ෼ 㲈ߏ੒υϦϑτ΍εϊʔϑϨʔ Ϋαʔόʔ ͷ৺഑ɾέΞΛͤͣʹࡁΉ ίϯςφɾ&$4ʹΑΔΞδϦςΟ޲্ͷϙΠϯτ
  24. *NNVUBCMFɾ%JTQPTBCMF ίϯςφɾ&$4ʹΑΔΞδϦςΟ޲্ͷϙΠϯτ

  25. ϦϦʔεύΠϓϥΠϯ w ۩ମతʹ͸ʁ w ίϯςφΛ࠾༻͢Δ͜ͱͰɺΞϓϦέʔγϣϯ͸ͲΜͳݴޠɾϑϨʔϜϫʔΫͰ ॻ͔Ε͍ͯΑ͏͕ந৅Խ͞Εͨঢ়ଶʹͳΔͨΊɺݴޠɾϑϨʔϜϫʔΫʹґଘ͠ ͳ͍ϦϦʔεύΠϓϥΠϯΛ࡞Δ w ίϯςφͷϏϧυˠίϯςφϦϙδτϦ΁ͷ1VTIˠίϯςφϦϙδτϦ͔Β ͷ1VMMˠίϯςφͷىಈ͕جຊ

    w ͲΜͳϝϦοτ͕͋Δʁ w ϦϦʔεύΠϓϥΠϯΛαʔϏεຖɾΞϓϦέʔγϣϯຖʹͦΕͧΕߏஙͤͣɺ൚ ༻తͳͭͷ࢓૊ΈΛ࢖͍ճ͢͜ͱ͕Ͱ͖Δ ίϯςφɾ&$4ʹΑΔΞδϦςΟ޲্ͷϙΠϯτ
  26. ϦϦʔεύΠϓϥΠϯ ίϯςφɾ&$4ʹΑΔΞδϦςΟ޲্ͷϙΠϯτ EPDLFSSVOYYYUFTUTI

  27. ϦϦʔεύΠϓϥΠϯ ίϯςφɾ&$4ʹΑΔΞδϦςΟ޲্ͷϙΠϯτ EPDLFSCVJMEEPDLFSUBHEPDLFSQVTI

  28. ϦϦʔεύΠϓϥΠϯ ίϯςφɾ&$4ʹΑΔΞδϦςΟ޲্ͷϙΠϯτ EPDLFSQVMMBXTFDTVQEBUFTFSWJDF

  29. POFP⒎ίϚϯυͷϙʔλϏϦςΟ w ۩ମతʹ͸  w ίʔυͷ࣮ߦ؀ڥ͸ɺ։ൃऀຖͷ.BD΍8JOEPXTɺ"84্ͷαʔόɺ$*ͷίϯ ςφ౳ɺ༷ʑͰ͋Δ w 8FCαʔόʔͷΑ͏ͳϢʔεέʔε͚ͩͰͳ͘ɺPOFP⒎ίϚϯυ࣮ߦʹ΋ίϯ ςφΛ࢖͏

    w ͲΜͳϝϦοτ͕͋Δʁ w ʮࣗ෼ͷ.BDͰ͸ಈ͍ͨϏϧυ΍σϓϩΠ͕ɺ"84ͷύΠϓϥΠϯ্Ͱಈ͔ͳ ͍ʂʯͱ͍ͬͨτϥϒϧΛճආ͠ɺख໭ΓΛ࠷খݶʹ཈͑ΒΕΔ ίϯςφɾ&$4ʹΑΔΞδϦςΟ޲্ͷϙΠϯτ
  30. ίϯςφɾ&$4ʹΑΔΞδϦςΟ޲্ͷϙΠϯτ POFP⒎ίϚϯυͷϙʔλϏϦςΟ

  31. "HFOEB w γεςϜߏ੒ͷશମ૾ w ͳͥίϯςφɾ&$4Λ࠾༻͍ͯ͠Δ͔ w ίϯςφɾ&$4ʹΑΔΞδϦςΟ޲্ͷϙΠϯτ w ίϯςφɾ&$4ʹ͓͚ΔηΩϡϦςΟ୲อͷϙΠϯτ

  32. /*4541 w /*4541"QQMJDBUJPO$POUBJOFS4FDVSJUZ(VJEFͱ͍͏ΨΠυϥ ΠϯΛࢀߟʹ͍ͯ͠Δ w ҎԼͷछྨͷ෼ྨͰίϯςφӡ༻ͷϦεΫͱͦͷରࡦʹ͍ͭͯॻ͔Ε͍ͯΔ w *NBHF w 3FHJTUSZ

    w 0SDIFTUSBUPS w $POUBJOFS w )PTU04 w )BSEXBSF ίϯςφɾ&$4ʹΑΔηΩϡϦςΟ୲อͷϙΠϯτ
  33. /*4541ͷશମ૾

  34. ϦεΫ ෼ྨ ରࡦ /*4541ͷશମ૾

  35. *NBHF 3FHJTUPSZ 0SDIFTUSBUPS $POUBJOFS )PTU04 )BSE8BSF /*4541ͷશମ૾

  36. /*4541ͷશମ૾ ͜Ε͔Β͓࿩͢ΔྖҬ

  37. *NBHF3JTLT  w ͲΜͳϦεΫʁ w ίϯςφͷΠϝʔδʹ੬ऑੑͷ͋Δύοέʔδɾෆඋͷ͋ΔઃఆɾϚϧ΢ΣΞɾ ػີ৘ใΛؚΊͯ͠·͏ɾؚ·Εͯ͠·͏ϦεΫ w Ͳ͏ରॲ͍ͯ͠Δʁ w

    ίϯςφΠϝʔδͷ੩తεΩϟϯΛ׆༻͢Δ w &$3ͷΠϝʔδεΩϟϯػೳΛར༻͠ɺఆظతʹΦϯσϚϯυͳεΩϟϯΛ࣮ߦ w ໰୊͕͋Ε͹4MBDLʹ௨஌͞ΕΔ࢓૊ΈΛಈ͔͍ͯ͠Δ ίϯςφɾ&$4ʹΑΔηΩϡϦςΟ୲อͷϙΠϯτ
  38. *NBHF3JTLT  ίϯςφɾ&$4ʹΑΔηΩϡϦςΟ୲อͷϙΠϯτ

  39. *NBHF3JTLT  ίϯςφɾ&$4ʹΑΔηΩϡϦςΟ୲อͷϙΠϯτ

  40. *NBHF3JTLT  w ͲΜͳϦεΫ  w ৴པͰ͖ͳ͍ΠϝʔδΛ࢖ͬͯ͠·͏ϦεΫ w %PDLFS)VC౳Ͱެ։͞Ε͍ͯΔ%PDLFS*NBHF͸ɺ͢΂͕ͯ҆શͱ͍͏Θ͚Ͱ ͸ͳ͘ɺѱҙΛ࣋ͬͨऀʹΑΓެ։͞Ε͍ͯΔΠϝʔδ΋ଘࡏ͢Δ

    w ࢀߟIUUQTXXXCMFFQJOHDPNQVUFSDPNOFXTTFDVSJUZ CBDLEPPSFEEPDLFSJNBHFTSFNPWFEGSPNEPDLFSIVC w ಛʹɺϚΠφʔͳݴޠ ϛυϧ΢ΣΞͷΠϝʔδΛར༻͠Α͏ͱ͢ΔͱϦεΫ͕൐ ͏ w ͦΜͳ࣌͸ɺࣗ෼ͨͪͰ%PDLFSpMFΛॻ͍ͯΠϝʔδΛϏϧυͨ͘͠ͳΔ͕ɺϓ ϩδΣΫτຖʹಉ͡Α͏ͳΠϝʔδΛݸผʹ࡞͍ͬͯ͘ͷ΋ޮ཰͕ѱ͍ ίϯςφɾ&$4ʹΑΔηΩϡϦςΟ୲อͷϙΠϯτ
  41. *NBHF3JTLT  w Ͳ͏ରॲ͍ͯ͠Δʁ w શࣾڞ༗ͷϓϥΠϕʔτϨδετϦΛ༻ҙ͓ͯ͘͠ w ϓϩμΫτɾϓϩδΣΫτɾ"84ΞΧ΢ϯτ౳Λ·͍ͨͰඞཁʹͳΔΠϝʔδΛ ؅ཧ͢ΔͨΊʹ༻ҙͨ͠ϦϙδτϦ w

    (JU)VCʹઐ༻ͷϦϙδτϦΛ࡞੒͠ɺ(JU)VC1BDLBHFΛ࢖ͬͯϗεςΟϯά ͍ͯ͠Δ w ৴པͰ͖ΔΠϝʔδ͕࢖͑ͳ͍৔߹ʹ͸͜͜ͰࣗલͷΠϝʔδΛϏϧυ͢Δ ίϯςφɾ&$4ʹΑΔηΩϡϦςΟ୲อͷϙΠϯτ
  42. ίϯςφɾ&$4ʹΑΔηΩϡϦςΟ୲อͷϙΠϯτ 'JOBUFYUEPDLFSJNBHFT

  43. ·ͱΊ w γεςϜߏ੒ͷશମ૾ w ͳͥίϯςφɾ&$4Λ࠾༻͍ͯ͠Δ͔ w ίϯςφɾ&$4ʹΑΔΞδϦςΟ޲্ͷϙΠϯτ w ίϯςφɾ&$4ʹ͓͚ΔηΩϡϦςΟ୲อͷϙΠϯτ

  44. ༨ஊ w SF*OWFOUͷʰ$0/"84'BSHBUFVOEFSUIFIPPEʱ w IUUQTXXXZPVUVCFDPNXBUDI W)S[0B#(Z&" w "84'BSHBUF͕ͲͷΑ͏ʹ0SDIFTUSBUPS)PTU04)BSEXBSFͷηΩϡϦ ςΟΛ୲อ͍ͯ͠Δ͔ʹ͍ͭͯͷηογϣϯ w

    'JSFDSBDLFSʹΑͬͯίϯςφͷಠཱੑͱىಈεϐʔυͱߴूੵΛಉ࣌ʹ࣮ݱ͠ ͍ͯΔ࿩͸໘ന͔ͬͨͰ͢ w #PUUMFSPDLFU͕ؾʹͳͬͯ·͢ w IUUQTBXTBNB[PODPNKQCMPHTOFXTCPUUMFSPDLFUBTQFDJBM QVSQPTFDPOUBJOFSPQFSBUJOHTZTUFN