Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS Healthの通知の実装について考えてみた
Search
t-kikuchi
October 29, 2023
Technology
0
2k
AWS Healthの通知の実装について考えてみた
AWS Healthの通知の実装について考えてみた
t-kikuchi
October 29, 2023
Tweet
Share
More Decks by t-kikuchi
See All by t-kikuchi
ネットワークの新要素ResourceGateway&Configuration関連アップデート
tkikuchi
0
1.3k
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
3
610
塩野義製薬様のAWS統合管理戦略:Organizations設計と運用の具体例
tkikuchi
0
540
JAWSPANKRATION2024-ECS Best Practice All on board(english)
tkikuchi
0
710
JAWSPANKRATION2024-ECS Best Practice All on board(japanese)
tkikuchi
0
500
AWSOrganizationsユースケースで学ぶAWSアカウント管理ベストプラクティス
tkikuchi
1
730
AWS Organizationsありなしパターン別AWSのマルチアカウント管理Tips
tkikuchi
1
570
GuardDutyとSysdigのランタイムセキュリティ機能を比較してみる
tkikuchi
1
1.6k
developersio-2023-aws-api-publication-checklist
tkikuchi
11
9.3k
Other Decks in Technology
See All in Technology
飲食店予約台帳を支えるインタラクティブ UI 設計と実装
siropaca
6
1.4k
Building Products in the LLM Era
ymatsuwitter
10
4.4k
7日間でハッキングをはじめる本をはじめてみませんか?_ITエンジニア本大賞2025
nomizone
2
1.4k
AndroidデバイスにFTPサーバを建立する
e10dokup
0
240
30分でわかる『アジャイルデータモデリング』
hanon52_
9
2.2k
データの品質が低いと何が困るのか
kzykmyzw
6
1k
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
660
インフラをつくるとはどういうことなのか、 あるいはPlatform Engineeringについて
nwiizo
5
2.1k
AWSでRAGを実現する上で感じた3つの大事なこと
ymae
3
1k
エンジニアのためのドキュメント力基礎講座〜構造化思考から始めよう〜(2025/02/15jbug広島#15発表資料)
yasuoyasuo
15
5.5k
まだ間に合う! エンジニアのための生成AIアプリ開発入門 on AWS
minorun365
PRO
4
580
20250208_OpenAIDeepResearchがやばいという話
doradora09
PRO
0
170
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
35
1.6k
A Tale of Four Properties
chriscoyier
158
23k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Building Your Own Lightsaber
phodgson
104
6.2k
Producing Creativity
orderedlist
PRO
343
39k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
99
18k
A designer walks into a library…
pauljervisheath
205
24k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
950
Transcript
1 AWS事業本部 コンサルティング部 菊池 聡規 AWS Healthの通知の実装について 考えてみた
• 【名前】 菊池 聡規 • 【所属】 AWS 事業本部 コンサルティング部 •
【キャリア】 金融機関向けオンプレのインフラエンジニア10年ほど→ 自社Webサービスをもつ企業で3年ほど→ クラスメソッドにジョイン • 【Blog】 https://dev.classmethod.jp/author/tooti/ • 【好きなAWSサービス】 Amazon EventBridge, AWS Step Functions, ECS 2 自己紹介
3 AWSからの通知、どう管理してます?
1. AWS通知実装の選択肢 2. AHAで実装した例 4 アジェンダ
5 1. AWS通知実装の選択肢
6 1. AWS通知実装の選択肢 • AWS Healthイベント通知に関する悩み ◦ 複数AWSアカウントのイベントを集約して管理したい ◦ AWSアカウントが増えたときに自動で通知の仕組みが設定さ
れるようにしたい ◦ 通知をフィルタリングして必要なものだけ受け取るようにしたい
7 1. AWS通知実装の選択肢 • 各アカウントにEventBridgeとSNSをデプロイ • EventBridgeを使った組織内イベントの集約 • AWS Health
Aware (AHA)
8 1. AWS通知実装の選択肢 • 各アカウントにEventBridgeとSNSをデプロイ ◦ CloudFormation StackSets等を使ってAWSアカウントがOUに参加し たときに通知の仕組みをデプロイする
9 1. AWS通知実装の選択肢 • EventBridgeを使った組織内イベントの集約 ◦ 最近出たアップデート(2023/10/5) ◦ 元々、AWS HealthのOrganizations連携はあった
◦ マネージメントコンソールから組織内のイベントを集約して確認すること はできていた ◦ しかしEventBridgeに組織内のイベントを連携することができなかった ⇒ これが出来るようになった
10 1. AWS通知実装の選択肢 • 実装イメージ
11 1. AWS通知実装の選択肢 • AWS Health Aware (AHA) ◦ AWSから提供されているソリューション
◦ CloudFormationやTerraformを使ってデプロイ ◦ slack等多様な通知先 ◦ 大まかなフィルタリングが可能 ※https://github.com/aws-samples/aws-health-awareより画像引用
12 2. 通知の実装
13 2. 通知の実装 • 要件 ◦ AWSアカウントは30個程度 ◦ Organizationsで管理されている ◦
AWSアカウントごとに管理者が異なる ◦ 各アカウントの通知は各アカウントの管理者が受け取りたい ◦ AWS全体障害の場合は全体に対して周知したい ◦ 特定リージョンの通知だけ受け取りたい
14 2. 通知の実装 • AWS Healthのイベント種別について ◦ ヘルスイベントの種別 ▪ 公開:
リージョン単位での障害等、AWS全体に渡って影響があるも の。アカウントでそのサービスを使用していなくても通知される ▪ アカウント固有:対象のアカウントに固有のイベント
15 2. 通知の実装 • AWS Healthのイベント種別について ◦ イベントカテゴリコードの種別 ▪ issue:これらのイベントは、AWS
のサービスまたはリソースに影響 を与える予期しないイベントです。(いわゆる障害) ▪ accountNotification: アカウントとサービスの管理またはセキュリ ティに関する情報を提供(EOLの通知やアカウント料金未払いによ るアカウント停止など様々な通知) ▪ scheduledChange:サービスとリソースに対する今後の変更に関す る情報を提供します。(EC2にて再起動が必要となるメンテナンス通 知等)
16 2. 通知の実装 • 実装イメージ
17 2. 通知の実装 • StepFunctionsの部分
18 2. 通知の実装 • メッセージ整形の部分 # AHAからのメッセージを整形 ShapingAWSHealthMessage: Type: Pass
Parameters: Subject.$: "States.Format('{}-{}-{}', $.detail.eventTypeCode, $.region, $.account)" Message.$: "States.Format('AWSHealth Event\n\nAccountID: {}\nRegion: {}\nServiceName: {}\neventScopeCode: {}\neventTypeCategory: {}\neventTypeCode: {}\nstartTime: {}\nlastUpdatedTime: {}\nDescription: {}', $.account, $.region, $.detail.service, $.detail.eventScopeCode, $.detail.eventTypeCategory, $.detail.eventTypeCode, $.detail.startTime, $.detail.lastUpdatedTime, $.detail.eventDescription)" ResultPath: $.generate Next: ChoiceHealthEventScopeCode
19 2. 通知の実装 • 各アカウント用SNSトピックに通知の部分 # ヘルスイベント種別がアカウント固有の場合は各アカウント用の SNSトピックに通知 SendAcctHealthEventMessage: Type:
Task Resource: arn:aws:states:::aws-sdk:sns:publish Parameters: Subject.$: $.generate.Subject Message.$: $.generate.Message TopicArn.$: !Sub "States.Format('arn:aws:sns:${AWS::Region}:${AWS::AccountId}:${TopicNamePrefix}-{}', $.account)"
20