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
2.3k
AWS Healthの通知の実装について考えてみた
AWS Healthの通知の実装について考えてみた
t-kikuchi
October 29, 2023
Tweet
Share
More Decks by t-kikuchi
See All by t-kikuchi
ClaudeCode_vs_GeminiCLI_Terraformで比較してみた
tkikuchi
1
5.1k
AWSLambdaMCPServerを使ってツールとMCPサーバを分離する
tkikuchi
1
4k
ネットワークの新要素ResourceGateway&Configuration関連アップデート
tkikuchi
0
2.3k
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
4
780
塩野義製薬様のAWS統合管理戦略:Organizations設計と運用の具体例
tkikuchi
0
850
JAWSPANKRATION2024-ECS Best Practice All on board(english)
tkikuchi
0
940
JAWSPANKRATION2024-ECS Best Practice All on board(japanese)
tkikuchi
0
710
AWSOrganizationsユースケースで学ぶAWSアカウント管理ベストプラクティス
tkikuchi
1
1.1k
AWS Organizationsありなしパターン別AWSのマルチアカウント管理Tips
tkikuchi
2
1k
Other Decks in Technology
See All in Technology
With Devin -AIの自律とメンバーの自立
kotanin0
2
790
robocopy の怖い話/scary-story-about-robocopy
emiki
0
400
Jitera Company Deck / JP
jitera
0
250
大規模イベントを支える ABEMA の アーキテクチャ 変遷 2025
nagapad
5
510
VLMサービスを用いた請求書データ化検証 / SaaSxML_Session_1
sansan_randd
0
120
機械学習を「社会実装」するということ 2025年夏版 / Social Implementation of Machine Learning July 2025 Version
moepy_stats
1
1.4k
Datasets for Critical Operations by Dataform
kimujun
0
120
【2025 Japan AWS Jr. Champions Ignition】点から線、線から面へ〜僕たちが起こすコラボレーション・ムーブメント〜
amixedcolor
1
110
激動の時代、新卒エンジニアはAIツールにどう向き合うか。 [LayerX Bet AI Day Countdown LT Day1 ツールの選択]
tak848
0
610
SAE J1939シミュレーション環境構築
daikiokazaki
1
190
ファインディにおける Dataform ブランチ戦略
hiracky16
0
210
複数のGemini CLIが同時開発する狂気 - Jujutsuが実現するAIエージェント協調の新世界
gunta
13
3.8k
Featured
See All Featured
Statistics for Hackers
jakevdp
799
220k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Unsuck your backbone
ammeep
671
58k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
How GitHub (no longer) Works
holman
314
140k
Embracing the Ebb and Flow
colly
86
4.8k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
390
GitHub's CSS Performance
jonrohan
1031
460k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Visualization
eitanlees
146
16k
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