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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
t-kikuchi
October 29, 2023
Technology
0
2.6k
AWS Healthの通知の実装について考えてみた
AWS Healthの通知の実装について考えてみた
t-kikuchi
October 29, 2023
Tweet
Share
More Decks by t-kikuchi
See All by t-kikuchi
Gemini APIで音声文字起こし-実装の工夫と課題解決
tkikuchi
0
58
コンテキストエンジニアリングとは何か?〜Claude Codeを使った実践テクニックとコンテキスト設計〜
tkikuchi
0
91
バッチ処理をEKSからCodeBuildを使ったGitHub Self-hosted Runnerに変更した話
tkikuchi
1
160
Claude Code導入後の次どうする? ~初心者が知るべき便利機能~
tkikuchi
0
68
ClaudeCodeを使ってAWSの設計や構築をしてみた
tkikuchi
0
110
ClaudeCode_vs_GeminiCLI_Terraformで比較してみた
tkikuchi
1
9.3k
AWSLambdaMCPServerを使ってツールとMCPサーバを分離する
tkikuchi
1
4.8k
ネットワークの新要素ResourceGateway&Configuration関連アップデート
tkikuchi
0
3.1k
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
4
940
Other Decks in Technology
See All in Technology
LiDARが変えたARの"距離感"
zozotech
PRO
0
240
SchooでVue.js/Nuxtを技術選定している理由
yamanoku
3
7k
なぜAIは チーム開発を 速くしないのか
tan_go238
6
2.8k
StrandsとNeptuneを使ってナレッジグラフを構築する
yakumo
1
150
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
220
コンテナセキュリティの最新事情 ~ 2026年版 ~
kyohmizu
8
3k
GitHub Copilot CLI 現状確認会議(2026年2月のすがた)
torumakabe
1
210
登壇駆動学習のすすめ — CfPのネタの見つけ方と書くときに意識していること
bicstone
3
220
AgentCore RuntimeをVPCにデプロイして 開発ドキュメント作成AIエージェントを作った
alchemy1115
3
210
【Ubie】AIを活用した広告アセット「爆速」生成事例 | AI_Ops_Community_Vol.2
yoshiki_0316
1
140
22nd ACRi Webinar - 1Finity Tamura-san's slide
nao_sumikawa
0
130
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
700
Featured
See All Featured
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
60
Site-Speed That Sticks
csswizardry
13
1.1k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
We Are The Robots
honzajavorek
0
180
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.3k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
390
A Tale of Four Properties
chriscoyier
162
24k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
55
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