Slide 1

Slide 1 text

D E V D AY - 0 $ " 5 * 0 / c 4 & 1 5 & . # & 3

Slide 2

Slide 2 text

˜ "NB[PO8FC4FSWJDFT *ODPSJUTB⒏MJBUFT"MMSJHIUT SFTFSWFE [AWS CDK] 1,000+のCloudWatch Alarmsを 自動生成する技術 小笠原寛明 GSPN $ "84$%,4%,ͷΞʔΩςΫνϟˍϨγϐ

Slide 3

Slide 3 text

˜ "NB[PO8FC4FSWJDFT *ODPSJUTB⒏MJBUFT"MMSJHIUT SFTFSWFE ຊηογϣϯͷΰʔϧ ձࣾ঺հˍࣗݾ঺հ ૝ఆ͍ͯ͠Δࢹௌऀ ՝୊ "84$%, 4%,ͷΞʔΩςΫνϟ "84$%,4%,ͷϨγϐ Agenda

Slide 4

Slide 4 text

˜ "NB[PO8FC4FSWJDFT *ODPSJUTB⒏MJBUFT"MMSJHIUT SFTFSWFE ຊެԋɾࢿྉ͸ൃදऀʢখּݪʣͷௐࠪɾ࣮૷Λݩʹ࡞੒͍ͯ͠·͢ɻ ಺༰ʹޡΓ΍ΑΓྑ͍Ҋ͕͋Δ৔߹ɺͥͻ5XJUUFSʹͯ !YIJSPHBѼʹ ϦϓϥΠɾ%.͍͚ͨͩΕ͹޾͍Ͱ͢ɻ ΋ͪΖΜɺ࣭໰΍ΦʔσΟΤϯεͷօ͞Μͷࣄྫڞ༗ͳͲ΋େ׻ܴͰ͢ʂ 内容についての注意点

Slide 5

Slide 5 text

˜ "NB[PO8FC4FSWJDFT *ODPSJUTB⒏MJBUFT"MMSJHIUT SFTFSWFE Please Tweet with #AWSDevDay πΠʔτશ෦ಡΈ·͢ʂ

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

˜ "NB[PO8FC4FSWJDFT *ODPSJUTB⒏MJBUFT"MMSJHIUT SFTFSWFE 本セッションのゴール

Slide 8

Slide 8 text

˜ "NB[PO8FC4FSWJDFT *ODPSJUTB⒏MJBUFT"MMSJHIUT SFTFSWFE چདྷͷ$MPVE'PSNBUJPO 5FSSBGPSNͰ͸೉͔ͬͨ͠ɺ ʮΞϓϦέʔγϣϯ͝ͱʹઃఆ͕ඞཁͳΠϯγσϯτରࡦʯΛ ҰׅͰߦ͑ΔΑ͏ʹͳΔ͜ͱɻ 本セッションのゴール

Slide 9

Slide 9 text

CloudFormationによる設定サンプル

Slide 10

Slide 10 text

AWS CDK + SDKによる実装サンプル

Slide 11

Slide 11 text

Amazon CloudWatch Alarms by AWS CDK + SDK

Slide 12

Slide 12 text

ઃఆ͢΂͖΋ͷ͕ଟ͗ͯ͢ɺ • $MPVE8BUDI"MBSNͷઃఆ๨Ε • #BDLVQ͸खಈ • ΤϥʔϩάΛ4MBDLʹྲྀͯ͠ͳ͍ $%,ΞϓϦέʔγϣϯͷઃఆͷΈ ͰҰׅରԠՄೳʹʂ Before - After

Slide 13

Slide 13 text

˜ "NB[PO8FC4FSWJDFT *ODPSJUTB⒏MJBUFT"MMSJHIUT SFTFSWFE 会社紹介&自己紹介

Slide 14

Slide 14 text

ΘΓ͔Μ ͕Μอݥ εϚϗอݥ ίϩφॿ͚߹͍อݥ า͘ͱ͓τΫอݥ ̍೔έΨอݥ ΫϨΧ෇ଳอݥνΣοΧʔ 保険会社でもあり、SaaSベンダーでもあります。

Slide 15

Slide 15 text

保険会社でもあり、SaaSベンダーでもあります。 顧客 保険会社* *事業会社や保険代理店 のご利用も可能 プラン選択 本人認証 告知・重要事項説明 会員資格確認 商品ページ(LP) & 申込フォーム 契約参照 異動・解約 決済 契約更新 お客様 ポータル 査定・承認 問合せ 提出書類の参照 (電子データ) 支払記録 保険金 請求フォーム

Slide 16

Slide 16 text

保険会社を簡単に運営できるようにすることで、魅力的な商品作りのお手伝いをします。

Slide 17

Slide 17 text

˜ "NB[PO8FC4FSWJDFT *ODPSJUTBGGJMJBUFT"MMSJHIUT SFTFSWFE 自己紹介 ご質問・ご感想大歓迎です! お気軽にフォロー&リプライ してください🙏🙏🙏

Slide 18

Slide 18 text

˜ "NB[PO8FC4FSWJDFT *ODPSJUTBGGJMJBUFT"MMSJHIUT SFTFSWFE 想定している視聴者

Slide 19

Slide 19 text

˜ "NB[PO8FC4FSWJDFT *ODPSJUTBGGJMJBUFT"MMSJHIUT SFTFSWFE ✅ ΞϓϦέʔγϣϯΤϯδχΞ ✅ 43& ✅ $%,Λ࣮ࡍͷݱ৔Ͱ࢖͍͍ͨਓʂ 想定している視聴者

Slide 20

Slide 20 text

˜ "NB[PO8FC4FSWJDFT *ODPSJUTBGGJMJBUFT"MMSJHIUT SFTFSWFE 課題

Slide 21

Slide 21 text

実際にSlackであった会話(再現#1) CloudWatch Logsのログの量やばいですね 課金が爆増してるのこれかも… なんかAmplifyの使用量、 月曜日だけ高くないですか? Redashが容量不足で死んでます

Slide 22

Slide 22 text

実際にSlackであった会話(再現#2) エラーは出てましたが、 Slack通知が設定されてませんでしたね… すみません、LogGroupにSlack通知を接続 するのを忘れてました。 このエラー、先月から定期的に出てたみたい ですね…

Slide 23

Slide 23 text

˜ "NB[PO8FC4FSWJDFT *ODPSJUTBGGJMJBUFT"MMSJHIUT SFTFSWFE AWS CDK + SDKのアーキテクチャ

Slide 24

Slide 24 text

CloudFormationによる設定サンプル(再掲)

Slide 25

Slide 25 text

Inspired by Radiosonde

Slide 26

Slide 26 text

AWS CDK + SDK AWS SDK AWS CDK Alarm SNS Topic Alarm Alarm Alarm Ϧιʔε Ϧιʔε Ϧιʔε Ϧιʔε Ϧιʔε Ϧιʔε

Slide 27

Slide 27 text

実装例

Slide 28

Slide 28 text

Gitフローがおすすめ ローカル 開発環境にデプロイOK 開発環境 developブランチを反 映 本番環境 v1.6などタグでリリース

Slide 29

Slide 29 text

☑ ηΩϡϦςΟʢ(VBSE%VUZ 4UBDL4FUT౳ʣ ✅ ωοτϫʔΫʢ$MPVE8BUDI.FUSJDTʣ ✅ αʔόʔʢ$MPVE8BUDI.FUSJDTʣ ✅ ΞϓϦέʔγϣϯʢΤϥʔϩάʣ ✅ ϑϩϯτΤϯυʢ֎ܗ؂ࢹʣ ☑ Ϗδωε্ͷ໨త ✅ όοΫΞοϓʢ"84#BDLVQʣ AWS CDK + SDKの守備範囲

Slide 30

Slide 30 text

˜ "NB[PO8FC4FSWJDFT *ODPSJUTBGGJMJBUFT"MMSJHIUT SFTFSWFE AWS CDK + SDKのレシピ

Slide 31

Slide 31 text

• $MPVE8BUDI.FUSJDT § &$ &$4 -BNCEB § 3%4 %ZNBNP%# 4 § $MPVE8BUDI • $MPVE8BUDI-PHT/PUJGJDBUJPO • 3PVUFIFBMUIDIFDLT • "84#BDLVQ § &$ 3%4 %ZOBNP%# AWS CDK + SDKのレシピ

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

• ର৅ͷϦιʔεΛҰׅऔಘͯ͠ઃఆ • -BNCEBͳͲΞΧ΢ϯτશମͰͷ੍ݶ͕͋Δ৔߹ʹ΋ศར • "MBSNͷ࢓্༷ɺຖ೔ΞϥʔϜΛ0,ʹ໭͢-BNCEB͕͋ΔͱΑ͍ • "OPNBMZ%FUFDUJPOΛ࢖͑͹؀ڥ͝ͱͷࠩҟΛ͋Δఔ౓ແࢹͰ͖Δ CloudWatch Metrics

Slide 34

Slide 34 text

取得したEC2インスタンスに対して設定

Slide 35

Slide 35 text

しきい値の意図をコメントしよう

Slide 36

Slide 36 text

Anomaly Detectionも設定できる

Slide 37

Slide 37 text

AWS Chatbotで通知するとグラフがついてくる

Slide 38

Slide 38 text

• KVTU*O$BTFͰ͸ɺҎ্ͷ"84ΞΧ΢ϯτͰ Ҏ্ͷ $MPVE8BUDI"MBSNΛ؅ཧ͍ͯ͠Δ • ΞΫηε਺ͷਪҠʹ͜Ε·ͰҎ্ʹහײʹͳͬͨ • &YʮΞΫηε਺ͷਪҠ͕ݟͨ͜ͱͳ͔ͬͨͷͰɺϝϧϚΨͷӨڹ͔ௐࠪ͠·͢ʯ • 4MBDL্Ͱ௨஌ͷάϥϑ͕ݟΒΕΔͷ͕خ͍͠ • खಈͰ࡞੒ͨ͠3FEBTIΠϯελϯεͷετϨʔδ࢖༻ྔͳͲɺ஍ຯʹ ॏཁͳ໰୊ʹ͙͢ʹؾ෇͚ΔΑ͏ʹͳͬͨɻ CloudWatch MetricsをCDKで管理して

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

• -PH(SPVQʹର͢Δ4VCTDSJQUJPO'JMUFSΛҰׅઃఆ • -BNCEBͷΑ͏ʹࣗಈͰ-PH(SPVQ͕Ͱ͖Δ৔߹ʹߴ͍ޮՌ • 4VCTDSJQUJPOϑΟϧλʔͰ͸ͳ͘-BNCEBͰϑΟϧλʔ͢Δख΋ • ਖ਼نදݱ͕ར༻Ͱ͖ɺ୯ମςετ͕͠΍͍͢ • -BNCEBͷ࣮ߦճ਺͕૿͑ΔͷͰɺίετ্͕͕Δ • ௨஌ϝοηʔδʹ$MPVE8BUDI΁ͷϦϯΫΛೖΕΔͱੜ࢈ੑ61 • Τϥʔϩά͚ͩΛग़ྗ͢Δ-BNCEBΛ࡞Δͱݕূ͕ศར • ௨஌༻-BNCEBࣗ਎͸؂ࢹର৅͔Βআ֎͢Δ͜ͱ • Ԡ༻,JOFTJT%BUB'JSFIPTFʹΑΔ4΁ͷόοΫΞοϓ • Ԡ༻%BUBEPH΁ͷసૹ CloudWatch Logs + Notification

Slide 41

Slide 41 text

実装例

Slide 42

Slide 42 text

CloudWatch Logsへのリンクを埋め込む

Slide 43

Slide 43 text

• Τϥʔ͸ࢥͬͨΑΓ΋ى͖͍ͯΔ • "84$IBUCPUͷΤϥʔʢ௨஌͕དྷͳ͍ͷͰਖ਼ৗͩͱࢥͬͯ͠·͏ʣ • "1*(BUFXBZͷΤϥʔ • ීஈ࢖Θͳ͍Ϧʔδϣϯͷ-BNCEBͷΤϥʔ • $MPVE8BUDI-PHT΁ͷϦϯΫ͸޷ධ • Ԡ༻%BUBEPH΁ͷϦϯΫ CloudWatch Logsの通知をCDKで管理して

Slide 44

Slide 44 text

No content

Slide 45

Slide 45 text

• 3PVUFͷϨίʔυ͔Β؂ࢹର৅Λࣗಈੜ੒ • KVTU*O$BTFͷྫ*1ΞυϨε·ͨ͸$MPVE'SPOUʹϧʔςΟϯά͞Ε͍ͯΕ͹؂ࢹ • ΤϯυϙΠϯτ͋ͨΓ.POUI͔Β • "84͔"84Ҏ֎͔ͰҟͳΔɻ • #BTJDೝূ΍ΫϥΠΞϯτূ໌ॻ͸ར༻Ͱ͖ͳ͍ • Ԡ༻3PVUFҎ֎ͰϨίʔυΛ؅ཧ͍ͯͯ͠΋˓ • Ԡ༻֎ܗ؂ࢹʹผͷαʔϏεʢ.BDLFSFM 6QUJNF3PCPU FUDʜʣ Route53 health checks

Slide 46

Slide 46 text

Route53 health checks

Slide 47

Slide 47 text

レコードから監視対象を自動抽出

Slide 48

Slide 48 text

• ؂ࢹର৅ͷ௥Ճ࿙Ε͕ແ͘ͳͬͨʂ • ैདྷ͸ϑϩϯτΤϯυΤϯδχΞ͕౎౓.BDLFSFMʹొ࿥͍ͯͨ͠ • Ԡ༻ϦϯΫ੾Εݕ஌ͷͨΊʹ$MPVE8BUDI4ZOUIFUJDTΛಋೖ͍ͨ͠ Route53 Health CheckをCDKで管理して

Slide 49

Slide 49 text

No content

Slide 50

Slide 50 text

• &$ 3%4 %ZOBNP%#ͳͲͷόοΫΞοϓΛ·ͱΊͯઃఆ • खಈͰ࡞ͬͨӡ༻ͷͨΊͷ&$ͳͲ΋ରԠͰ͖Δ • 4QPU'MFFUΛআ֎͠ͳ͍ͱόοΫΞοϓ਺͕ࡍݶͳ͘૿͑ΔͷͰ஫ҙ • &$ΠϯελϯεͷλάͰݟ෼͚ΒΕ·͢ • όοΫΞοϓର৅͝ͱʹ7BVMUΛ࡞Βͳ͍Α͏ʹ஫ҙ • 7BVMUͷ࡞੒ݸ਺ʹ͸Ϧʔδϣϯ͝ͱͷ্ݶ͋Γ • όοΫΞοϓͷΠϕϯτΛ௨஌Մೳ • 4/4ొ࿥·ͨ͸&WFOU#SJEHFܦ༝ͰՄೳʢະݕূʣ AWS Backup

Slide 51

Slide 51 text

AWS Backup

Slide 52

Slide 52 text

• खಈͰ࡞ͬͨϦιʔε΋όοΫΞοϓ͕͋Γ҆৺ • όοΫΞοϓઃఆΛूத؅ཧͰ͖ΔͷͰɺηΩϡϦςΟνΣοΫ΋˓ AWS BackupをCDKで管理して

Slide 53

Slide 53 text

˜ "NB[PO8FC4FSWJDFT *ODPSJUTB⒏MJBUFT"MMSJHIUT SFTFSWFE まとめ

Slide 54

Slide 54 text

$MPVE'PSNBUJPOͰ͸೉͔ͬͨ͠ΞϓϦέʔγϣϯ͝ͱͷ؂ࢹ΋ɺ "84$%,ͱ4%,Λ૊Έ߹ΘͤΕ͹ରԠՄೳʂ まとめ

Slide 55

Slide 55 text

We’re HERING!!! KVTU*O$BTFͰ͸ɺҰॹʹಇ͘ϝϯόʔΛશ৬छͰืू͍ͯ͠·͢ʂ ໾ׂʹͱΒΘΕͣɺ7JTJPOʹ޲͔ͬͯ໠ਐͰ͖Δํʂ • ΞϓϦέʔγϣϯΤϯδχΞʢϑϩϯτΤϯυˍόοΫΤϯυʣ • 43& • σβΠφʔ • 1E.ɾ4" • "OENPSF

Slide 56

Slide 56 text

• DPEFOJ[FUPPMTSBEJPTPOEFc(JU)VC • <$%,>&$ϦετΛऔಘͯ͠શ୆ʹ$MPVE8BUDIΞϥʔϜΛઃఆ͢Δ c%FWFMPQFST*0 • "84$%,ͰطଘͷϩάάϧʔϓʹϝτϦΫεϑΟϧλΛઃఆ͢Δํ๏ c%FWFMPQFST*0 • $MPVE8BUDI"MBSNTΛࣗಈల։͢Δ CZ"84$%, • $MPVE8BUDI-PHTͷ4MBDL௨஌ࣗಈԽ CZ"84$%, • ֎ܗ؂ࢹͷࣗಈηοτΞοϓʂ3PVUF.BDLFSFMࣗಈԽΤϯδχΞͷ-5ձ 参考資料

Slide 57

Slide 57 text

Thank you! ˜ "NB[PO8FC4FSWJDFT *ODPSJUTB⒏MJBUFT"MMSJHIUT SFTFSWFE <"84$%,>5FDIOJDTUP(FOFSBUF $MPVE8BUDI"MBSNT • 小笠原寛明 • 5PNPLJ4BUP(原稿レビュー) • ,PUB5PNJNBUTV(原稿レビュー・実装) • 5ZBNBIPSJ(登壇練習) 4QFDJBM5IBOLT

Slide 58

Slide 58 text

Please complete the session survey ˜ "NB[PO8FC4FSWJDFT *ODPSJUTBGGJMJBUFT"MMSJHIUT SFTFSWFE