$30 off During Our Annual Pro Sale. View details »

はじめてのAWS Step Functions -Cloudfrontのキャッシュ誤りを検知するためのシステムを構築してみた-/lets-try-aws-step-functions

yuuki sato
October 31, 2022

はじめてのAWS Step Functions -Cloudfrontのキャッシュ誤りを検知するためのシステムを構築してみた-/lets-try-aws-step-functions

Lambdaで構築された既存のCloudfrontキャッシュの誤検知するシステムを AWS Stepfunctionsの機能を使って構築してみました。

yuuki sato

October 31, 2022
Tweet

More Decks by yuuki sato

Other Decks in Technology

Transcript

  1. ࠤ౻༏थ "844UFQ'VODUJPOT $MPVEGSPOUͷΩϟογϡޡΓΛݕ஌͢ΔͨΊͷγεςϜΛߏஙͯ͠Έͨ +"846(੨৿"VUVNOʲീށ։࠵ʳ

  2. w ໊લࠤ౻༏थ!ZVLJTBUV ࣾ಺Ͱ͸ʮ͔͹ͪΌΜʯͱݺ͹Εͯ·͢ɻ w גࣜձࣾΤεπʔ ΠϯϑϥΤϯδχΞ ओͳۀ຿͸"84؀ڥ΁ͷҠߦ΍؂ࢹɾӡ༻อकΛߦͬͯ·͢ɻ w "84ྺ೥΄ͲͰ͢ɻ w

    झຯΩϟϯϓ🏕 ਧ্Ωϟϯϓ৔ ໐ࢠ ਆׂ࡚Ωϟϯϓ৔ ೆࡾ཮ ΔΆΆ ઒࡚  
 ΤίΩϟϯϓΈͪͷ͘ ઒࡚ ਫͷ৿ެԂΩϟϯϓ৔ ઘ۠ ࣮Ոͷఉ ࿱ཧ ࣗݾ঺հ
  3. w ࠓճͷςʔϚʹ͍ͭͯ w ैདྷͷ$MPVE'SPOUޡΩϟογϡݕ஌γεςϜʹ͍ͭͯ w "844UFQ'VODUJPOTͱ͸ w "844UFQ'VODUJPOT΁ͷҠߦΛ΍ͬͯΈͨ w ͸·ΓϙΠϯτ

    w ·ͱΊ ΞδΣϯμ
  4. w ࠷ॳ͸-BNCEBͷΈͰߏங w "UIFOBͷΫΤϦ݁ՌΛ΋ͱʹɺΩϟογϡ)*5ͨ͠৔߹ʹ4/4Ͱ௨஌͢ΔγεςϜ w ΫΤϦͷॲཧʹ͕͔͔࣌ؒΓ-BNCEB͕λΠϜΞ΢τ͢ΔͳͲͷෆ҆ཁૉ͕ ࠓճͷςʔϚʹ͍ͭͯ $MPVEGSPOUͰޡͬͨઃఆมߋͨ͠ࡍͷ༧๷ͱͯ͠ޡͬͨΩϟογϡΛݕ஌ AWS StepFunctions

    Ͱ Athenaݺͼग़ͤΔ͜ͱΛ஌ͬͨͷͰτϥΠͯ͠Έ·ͨ͠💪
  5. ैདྷͷ$MPVE'SPOUޡΩϟογϡݕ஌γεςϜ <ߏ੒ਤ>  $MPVEGSPOUͷϩά4όέοτ΁อ؅ िؒอଘ 
  &WFOU#SJHIUʹͯ෼ຖʹ࣮ࢪ 
 

    Ωϟογϡͨ͘͠ͳ͍63* QBUI ΛϦετʹొ࿥ 
 -BNCEBϑΝΠϧͰอଘ 
  63*ϦετΛҰߦͣͭಡΈࠐΈɺ"UIFOBΫΤϦ࡞੒ 
  ࡞੒ͨ͠ΫΤϦΛ࣮ߦ 
  ΫΤϦͷ݁ՌΛऔಘ ϧʔϓॲཧ 
  ର৅ͷ63* QBUI ͕Ωϟογϡ)*5ʹͳ͍ͬͯΔ৔߹ʹ 
 Ξϥʔτൃใ
  6. w ΫΤϦͷ࣮ߦ͕λΠϜΞ΢τʹͳΔՄೳੑ͕͋Δ w ඵຖʹΫΤϦͷ࣮ߦ݁ՌΛ֬ೝ͍ͯ͠ΔͷͰɺΧ΢ϯτ্ݶΛ௒͑ͨ৔߹ʹ 
 खಈͰϦτϥΠ͢Δඞཁ͕͋Δɻ w -BNCEBͷ࣮ߦ͕࣌ؒ௕͘ͳͬͯ͠·͏ ໰୊఺ ࡞੒ஈ֊͔Β৭ʑͱෆ҆ཁૉ͕

    ॲཧ͝ͱʹ෼͚ͯγϯϓϧʹ͍ͨ͠
  7. "844UFQ'VODUJPOTΛར༻ͯ͠ΈΑ͏ʂʂ

  8. w ࡉ෼Խͨ͠ॲཧΛ࿈݁ͤ͞Δ͜ͱ͕Ͱ͖ΔαʔϏε w λεΫ͕ࢹ֮Խ͞Εͯॲཧ͕Θ͔Γ΍͍͢ w Ҏ্ͷ"84αʔϏεͱ࿈ܞͰ͖ΔͨΊ 
 ༨෼ͳίʔυΛݮΒ͢͜ͱ͕Ͱ͖·͢ w "4-

    "NB[PO4UBUF-BOHVBHF Ͱهड़ 
 ৄࡉ͸#MBDL#MFU͕Θ͔Γ΍͔ͬͨ͢Ͱ͢ "844UFQ'VODUJPOTͱ͸ https://aws.amazon.com/jp/blogs/news/webinar-bb-aws-step-functions-2019/
  9. w %ZOBNP%#͔ΒϦετΛऔಘ͢Δ w .BQ ϧʔϓ ॲཧ΁ม਺Λ౉͢<ฒߦॲཧͳ͠> w -BNCEBͰΫΤϦΛ࡞੒ w "UIFOBΫΤϦΛ࣮ߦ

    w ΫΤϦͷ݁ՌΛऔಘ w ݁ՌΛ΋ͱʹ؅ཧऀ΁௨஌ ৽ɾ$MPVE'SPOUޡΩϟογϡݕ஌γεςϜ ϫʔΫϑϩʔ
  10. ৽ɾ$MPVE'SPOUޡΩϟογϡݕ஌γεςϜ ߏ੒ਤ

  11. ैདྷͷίʔυ "UIFOB΍4/4௨஌ɾ৚݅෼ذɾϧʔϓॲཧFUD

  12. "844UFQ'VODUJPOT΁Ҡߦ͢Δͱ

  13. 4UFQ'VODUJPOT΁Ҡߦޙͷίʔυ ίʔυ͕ܹݮʂʂʂʂ

  14. ͱݴ͍͔ͨͬͨͷͰ͕͢

  15. ͢Έ·ͤΜɺ࣮ͷͱ͜Ζ͸ 4UFQ'VODUJPOTͰαʔϏε࿈ܞͰ͖Δͱ͜ΖΛ-BNCEBʹཔͬͯ·͢ ͷͪ΄Ͳݴ͍༁Λ͍ͤͯͩ͘͞͞N @@ N

  16. w %ZOBNP%#͔ΒϦετΛऔಘ͢Δ w .BQ ϧʔϓ ॲཧ΁ม਺Λ౉͢<ฒߦॲཧͳ͠> w -BNCEBͰΫΤϦΛ࡞੒ w "UIFOBΫΤϦΛ࣮ߦ

    w ΫΤϦͷ݁ՌΛऔಘ w ݁ՌΛ΋ͱʹ؅ཧऀ΁௨஌ ࣮ࡍͷεςʔτϚγϯ %ZOBNP%#ͱ4/4௨஌ͷॲཧΛطଘͷ-BNCEBؔ਺Ͱॲཧͯ͠·͢ɻɻɻ
  17. ͸·ΓϙΠϯτ

  18. w ม਺ͷऔΓѻ͍Λཧղ͢Δͷʹ͕͔͔࣌ؒͬͯ͠·͍·ͨ͠🥲 w +40/͕ෆ׳ΕͩͬͨͷͰɺ্Ґͷग़ྗ݁ՌΛ࣍ͷεςʔτʹ౉͢ͱ͜ΖͰۤઓ ͸·ΓϙΠϯτ

  19. w ্Ґͷग़ྗ݁ՌΛઌͷεςʔτ΁ඈͼӽ͑ͯ౉͢ํ๏ w 4/4Ͱ௨஌͢Δࡍʹ63*Λม਺Ͱ୅ೖ͔ͨͬͨ͠ͷͰ͕͢ ͸·ΓϙΠϯτ Ͳͳ͔ͨ͝ଘ஌Ͱͨ͠Βڭ͍͚͑ͯͨͩ·͢Ͱ͠ΐ͏͔🙇

  20. ·ͱΊ

  21. w "84αʔϏεͱͷ࿈ܞ͕๛෋ͰίʔυΛ࡟ݮͰ͖Δͷ͕خ͍͠ 
 w ࢹ֮తʹΘ͔Γ΍͍͢ͷͰɺ͋ͱ͔Βݟฦͯ͠΋ॲཧ͕Θ͔Γ΍͍͢ 
 ॻ͖ํͷ໰୊Ͱ͕͢ɺίʔυॻ͍͓͍ͯͯॲཧ಺༰Λ๨ΕΔ͜ͱ͕͋ΔͷͰ😅 
 w ϩʔίʔυͰߏஙͰ͖ΔͷͰɺ-BNCEBϥϯλΠϜͷόʔδϣϯ؅ཧΛݮΒ͢͜ͱ͕Ͱ͖Δ✨

    
 w ม਺ͷѻ͍Λཧղ͢Δඞཁ͸͋Γ·͕͢ɺ֮͑ΔϝϦοτͷํ͕େ͖͍ͱײͯ͡·͢🙌 ·ͱΊ
  22. w ࣗ෼͕ཧ૝ͱ͢Δܗ·Ͱ΋͍͚ͬͯͳ͔ͬͨͷͰ͕͢ɺͦͷதͰ΋ֶͼ͕͋Γ·ͨ͠ɻ w ొஃͱ͍͏ྑ͍ϓϨογϟʔ͕͓͔͋ͬͨ͛ͰఘΊͣʹಈ͘ͱ͜Ζ·ͰߏஙͰ͖·ͨ͠ɻ w ཧ૝ܥͷεςʔτϚγϯߏங͸॓୊Ͱ͢💪 ͍͞͝ʹ ਖ਼௚ͳͱ͜Ζݕূஈ֊Ͱ࠳͚ͦ͏Ͱͨ͠🥲

  23. ͍͞͝ʹ Θͨ͠ͷ޷͖ͳݴ༿Ͱ͢ Ҿ༻: https://jaws-ug.jp/about-us/ ճͷษڧձࢀՃΑΓ΋ճͷొஃ΁ͷνϟϨϯδʂʂ

  24. "844UFQ'VODUJPOT࣍ճͷ+"846(੨৿ͰϦϕϯδ͠·͢😇

  25. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ