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

Amazon EventBridgeを使って簡単なAWS環境の監視システムを構築する #devio2022

Amazon EventBridgeを使って簡単なAWS環境の監視システムを構築する #devio2022

Developers IO 2022のビデオセッションで利用した資料になります

ynishimura

July 21, 2022
Tweet

More Decks by ynishimura

Other Decks in Technology

Transcript


  1. "84ࣄۀຊ෦ΦϖϨʔγϣϯ෦੢ଜ༞ೋ
    "NB[PO&WFOU#SJEHFΛ࢖ͬͯ
    ؆୯ͳ"84؀ڥͷ؂ࢹγεςϜΛߏங͢Δ

    View Slide

  2. ࣗݾ঺հ
    ੢ଜ༞ೋ
    "84ࣄۀຊ෦ΦϖϨʔγϣϯ෦
    େࡕΦϑΟεࡏ੶
    αʔόʔϨε؀ڥߏங
    όοΫΤϯυ


    - 2022 APN ALL AWS Certi
    fi
    cations
    Engineers


    - 2021 APN AWS Top Engineer/
    APN ALL AWS Certi
    fi
    cations Engineer


    - 2020 APN AWS Top Engineers


    - 2019 APN AWS Top Engineers

    View Slide

  3. "84؀ڥΛ؅ཧ͢Δͱ͖ͷ೰Έ
    ɾ"84্ͰΤϥʔ΍ҟৗ͕͋ͬͨͱ͖௨஌͍ͨ͠
    ɾෳ਺ͷΞΧ΢ϯτɺϦʔδϣϯΛ؂ࢹ͢Δͷ͕େม
    ɾ؂ࢹπʔϧ͸ͳΔ΂͘"84αʔϏεͰࡁ·͍ͤͨ
    ɾͳΔ΂͘؆୯ʹ؂ࢹ͍ͨ͠
    ɾ؂ࢹπʔϧͷ؅ཧ͸࠷খʹ͍ͨ͠
    EventBridgeͱAPI DestinationΛ࢖͑͹ɺൺֱత؆୯ʹ


    ؆қͳ؂ࢹγεςϜ͕࡞Εͦ͏

    View Slide

  4. ໨࣍
    "NB[PO&WFOU#SJEHFͱ͸
    "1*%FTUJOBUJPO
    "NB[PO&WFOU#SJEHFΛ࢖ͬͨ"84؀ڥͷ؂ࢹγ
    εςϜ
    ࣮ࡍͷ&WFOU#SJEHFͷઃఆը໘
    ·ͱΊ

    View Slide


  5. Amazon EventBridgeͱ͸

    View Slide

  6. "NB[PO&WFOU#SJEHFͱ͸
    l"84ɺطଘͷγεςϜɺ·ͨ͸4BB4ΞϓϦશମͰ
    ΠϕϯτۦಈܕΞϓϦέʔγϣϯΛେن໛ʹߏங͢Δz
    ʰΠϕϯτʱΛ༻͍༷ͯʑͳΞϓϦέʔγϣϯΛ؆୯ʹ
    ઀ଓͰ͖ΔΑ͏ʹ͢ΔϧʔςΟϯάαʔϏε
    https://aws.amazon.com/jp/eventbridge/

    View Slide

  7. Πϝʔδਤ
    ಠࣗ"QQ
    4BB4
    "84αʔϏε
    Amazon
    EventBridge
    Πϕϯτ
    ϧʔϧ
    Πϕϯτιʔε λʔήοτ
    ϧʔϧ
    ϧʔϧ
    4BB4
    "84αʔϏε
    ผ"84؀ڥ
    Πϕϯτόεʴϧʔϧ
    Πϕϯτ

    View Slide

  8. "NB[PO&WFOU#SJEHFΛར༻ͨ͠ྫ
    ૄ݁߹ʹϚΠΫϩαʔϏεΛ૊ΈཱͯΔ
    αʔόʔϨεͳϚωʔδυαʔϏεͷͨΊ
    αʔό४උɾߏஙɾ؅ཧ
    ʢϚϧν";ɺ4-"ˋʣ
    ૄ݁߹ʹϚΠΫϩαʔϏεΛ૊ΈཱͯΔ

    View Slide

  9. "NB[PO&WFOU#SJEHFͷػೳ
    εέδϡʔϧ࣮ߦػೳ
    Πϕϯτϧʔϧͷλʔήοτʹ)551ͷΤϯυϙΠϯτ͕ࢦఆՄೳ
    ΠϕϯτΛผϦʔδϣϯʹࣗಈͰϑΣΠϧΦʔόʔ͢Δػೳ
    ࡞੒ͨ͠ΠϕϯτύλʔϯʹҰக͢Δ͔ݕূ͢ΔαϯυϘοΫεػೳ
    ΞΧ΢ϯτؒɺϦʔδϣϯؒͷΠϕϯτసૹػೳ
    Πϕϯτߏ଄΍εΩʔϚΛݕ஌ɺ؅ཧ͢Δػೳ
    Πϕϯτه࿥࠶ੜ͢Δػೳ

    View Slide


  10. API Destination

    View Slide

  11. "1*%FTUJOBUJPO
    ɾ೚ҙͷΤϯυϙΠϯτʹ
    )551ϦΫΤετΛૹ৴
    ɾίʔυͷ࣮૷ෆཁ
    ɾηΩϡΞʹೝূ৘ใ؅ཧ
    ɾݺͼग़͠Ϩʔτௐ੔Մೳ
    https://aws.amazon.com/blogs/compute/using-api-destinations-with-amazon-eventbridge/
    ਤͷҾ༻ݩ

    View Slide

  12. "1*%FTUJOBUJPOͷར༻ྫ
    ྫɿ4MBDLͱͷ࿈ܞ
    ػೳΛ࢖Θͳ͍ͱ͖ɿ-BNCEBΛར༻

    View Slide

  13. "1*%FTUJOBUJPOͷར༻ྫ
    ྫɿ4MBDLͱͷ࿈ܞ
    ஔ͖׵͑Δ͜ͱͰ࣮૷ෆཁɺηΩϡΞʹೝূ৘ใ؅ཧ

    View Slide

  14. ΍ͬͯΈͨϒϩάͷ঺հ
    https://dev.classmethod.jp/articles/event-bridge-api-
    destinations-with-slack/

    View Slide


  15. Amazon EventBridgeΛ࢖ͬͨ


    AWS؀ڥͷ؂ࢹγεςϜ

    View Slide

  16. "NB[PO&WFOU#SJEHFΛ࢖ͬͨ"84؀ڥͷ؂ࢹγεςϜ
    ؂ࢹ͍ͨ͠ΠϕϯτΛू໿͠4MBDL΁௨஌

    View Slide

  17. "NB[PO&WFOU#SJEHFΛ࢖ͬͨ"84؀ڥͷ؂ࢹγεςϜ
    ؂ࢹ͍ͨ͠ΠϕϯτΛू໿͠4MBDL΁௨஌

    View Slide

  18. "NB[PO&WFOU#SJEHFΛ࢖ͬͨ"84؀ڥͷ؂ࢹγεςϜ
    ؂ࢹ͍ͨ͠ΠϕϯτΛू໿͠4MBDL΁௨஌

    View Slide

  19. "NB[PO&WFOU#SJEHFΛ࢖ͬͨ"84؀ڥͷ؂ࢹγεςϜ
    ؂ࢹ͍ͨ͠ΠϕϯτΛू໿͠4MBDL΁௨஌

    View Slide

  20. ϝϦοτ
    4MBDL௨஌ػೳΛ"84αʔϏεʹ·͔ͤΔ͜ͱ͕Ͱ͖࣮૷͕ݮΔ
    $MPVE8BUDI"MBSN΍"NB[PO4/4ͷઃఆ͸ෆཁ
    ෳ਺ͷΞΧ΢ϯτ Ϧʔδϣϯͷ؂ࢹ͕༰қ
    ؅ཧίετ͕௿͍ʢγεςϜόʔδϣϯΞοϓɺεέʔϧ؅ཧෆཁʣ
    ϥΠηϯε؅ཧෆཁ
    άϩʔόϧΤϯυϙΠϯτͱ͍͏Մ༻ੑΛߴΊΔػೳ͕͋Δ
    ೔ʑɺػೳ௥Ճ͞ΕΔ

    View Slide

  21. σϝϦοτ
    $MPVE5SBJM"1*Ҏ֎ͷΠϕϯτʹରԠ͍ͯ͠ΔαʔϏε͕·ͩগ
    ͳ͘ɺ؂ࢹ͍ͨ͠Πϕϯτ͕ະରԠͷͱ͖-BNCEBͰ࡞ΓࠐΈ͕
    ඞཁʹͳΔ
    "84؀ڥݶఆͷ؂ࢹ
    4MBDL͔Β"84؀ڥΛૢ࡞͢Δ͜ͱ͕Ͱ͖ͳ͍
    ෳࡶͳཁ݅͸ຬͨͤͳ͍Մೳੑ͕͋Δ
    https://docs.aws.amazon.com/ja_jp/eventbridge/latest/userguide/eb-service-event.html

    View Slide


  22. ࣮ࡍͷEventBridgeͷઃఆը໘

    View Slide

  23. ࣮ࡍͷ&WFOU#SJEHFͷઃఆը໘
    ؂ࢹର৅ɿ4UFQ'VODUJPOTͷεςʔτϚγϯͷεςʔλε
    ཁ݅ɿΤϥʔ࣌ʹ4MBDL௨஌͍ͤͨ͞
    લఏɿ
    ɹඞࣦͣഊ͢ΔεςʔτϚγϯΛ༻ҙ
    ɹ4MBDLଆͷઃఆ͸׬͍ྃͯ͠Δ

    View Slide

  24. "NB[PO&WFOU#SJEHFͷઃఆ
    ϧʔϧ࡞੒
    λʔήοτͷࢦఆ

    View Slide

  25. ϧʔϧ࡞੒
    ໊લΛઃఆ
    Πϕϯτόε͸
    ʮEFGBVMUʯΛ࢖༻
    ϧʔϧλΠϓ͸ʮΠϕϯτ
    ύλʔϯΛ࣋ͭϧʔϧʯ

    View Slide

  26. ϧʔϧ࡞੒
    ʮ"84ͷαʔϏεʯࢦఆ
    ʮ4UFQ'VODUJPOTʯΛબ୒
    ΠϕϯτλΠϓ͸ʮ4UFQ'VODUJPOT
    &YFDVUJPO4UBUVT$IBOHFʯΛબ୒
    ಛఆͷεςʔλεͰʮ'"*-&%ʯ
    ʮ5*.&%@065ʯΛબ୒

    View Slide

  27. ϧʔϧ࡞੒
    ʮ"84ͷαʔϏεʯࢦఆ
    ʮ4UFQ'VODUJPOTʯΛબ୒
    ΠϕϯτλΠϓ͸ʮ4UFQ'VODUJPOT
    &YFDVUJPO4UBUVT$IBOHFʯΛબ୒
    ಛఆͷεςʔλεͰʮ'"*-&%ʯ
    ʮ5*.&%@065ʯΛબ୒

    View Slide

  28. λʔήοτͷࢦఆ
    ʮ&WFOU#SJEHF"1*ͷѼઌʯΛ
    બ୒
    ৽͍͠"1*ૹ৴ઌΛ࡞੒

    View Slide

  29. λʔήοτͷࢦఆ
    "1*ૹ৴ઌΤϯυϙΠϯτ
    )551ϝιουʮ1045ʯΛબ୒
    https://slack.com/api/chat.postMessage

    View Slide

  30. λʔήοτͷࢦఆ
    ʮ৽͍͠઀ଓΛ࡞੒ʯΛબ୒
    ઀ଓ໊ೖྗ
    ૹ৴ઌλΠϓʮͦͷଞʯΛબ୒

    View Slide

  31. λʔήοτͷࢦఆ
    ೝূλΠϓʮ"1*ΩʔʯΛબ୒
    "1*Ωʔ໊ɺ஋Λೖྗ
    ৽͍͠ϩʔϧΛ࡞੒

    View Slide

  32. λʔήοτͷࢦఆ
    ʮೖྗτϥϯεϑΥʔϚʔʯΛબ୒

    View Slide

  33. λʔήοτͷࢦఆ
    ೖྗύε
    \lEFUBJMzEFUBJM^
    4MBDL௨஌ͷͨΊͷ࠷௿ݶͷϖΠϩʔυ
    {


    "channel":"νϟϯωϧID",


    "text":"౤ߘ͢Δϝοηʔδ"


    }

    View Slide

  34. λʔήοτͷࢦఆ
    ςϯϓϨʔτ
    {


    "channel":"νϟϯωϧID",


    "text":


    }

    View Slide

  35. ௨஌಺༰
    Πϕϯτ৘ใ͕௨஌
    τϥϯεϑΥʔϚʔΛɹɹ
    ΧελϚΠζ͢Δ͜ͱͰݟ
    ΍͘͢͢Δ͜ͱ΋Մೳ

    View Slide

  36. ผϦʔδϣϯͷ&WFOU#SJEHFͷઃఆ

    View Slide

  37. ·ͱΊ
    "NB[PO&WFOU#SJEHFΛ࢖͏͜ͱͰ؆୯ʹ؂ࢹγεςϜΛߏஙՄೳ
    ɾ"1*%FTUJOBUJPOΛར༻͢Δ͜ͱͰ࣮૷ͳ͠Ͱ4MBDL௨஌Մೳ
    ɾ$MPVE8BUDI"MBSN΍"NB[PO4/4ͷઃఆ͸ෆཁ
    ɾෳ਺ΞΧ΢ϯτɺෳ਺Ϧʔδϣϯͷ؂ࢹ΋Մೳ
    ɾϚωʔδυαʔϏεͳͷͰ؅ཧίετ͕௿͍
    ɾϥΠηϯε؅ཧෆཁ
    ɾະରԠͷΠϕϯτ΋ଟ͋͘ΔͨΊɺ؂ࢹ͍ͨ͠Πϕϯτʹ͍ͭͯཁ֬ೝ

    View Slide

  38. View Slide