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
第129回 雲勉【オンライン】AWS Healthを活用してAWSアカウントの運用をしよう
Search
iret.kumoben
March 07, 2024
Technology
1
510
第129回 雲勉【オンライン】AWS Healthを活用してAWSアカウントの運用をしよう
下記、勉強会での資料です。
https://youtu.be/bAEUmlZKc3A
iret.kumoben
March 07, 2024
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第169回 雲勉 AWS WAF 構築 RTA
iret
0
11
第168回 雲勉 JITNAの使い方とハマったポイントについて語る回
iret
0
34
第167回 雲勉 エージェント開発を加速する Agent Development Kit 入門
iret
1
38
第166回 雲勉 コードを読んで理解する AWS Amplify Gen2 Backend
iret
0
37
第165回 雲勉 Google Agentspace について
iret
0
31
第164回 雲勉 Agent Development Kit と MCP Toolbox for Databases で MCP 連携してみた
iret
1
67
第163回 雲勉 CircleCIで複数リポジトリ間のパイプラインを連携する
iret
1
35
第162回 雲勉 比較して学ぶ AWS Amplify Gen 2
iret
0
49
第161回 雲勉 Amazon Kinesis Data Streams と Amazon Data Firehose を使ってみよう
iret
0
50
Other Decks in Technology
See All in Technology
Railsの限界を超えろ!「家族アルバム みてね」の画像・動画の大規模アップロードを支えるアーキテクチャの変遷
ojima_h
3
410
Bliki (ja), and the Cathedral, and the Bazaar
koic
8
1.3k
経理出身PdMがAIプロダクト開発を_ハンズオンで学んだ話.pdf
shunsukenarita
1
130
PdM業務における使い分け
shinshiro
0
590
「AI駆動開発」のボトルネック『言語化』を効率化するには
taniiicom
1
120
20250718_ITSurf_“Bet AI”を支える文化とコストマネジメント
helosshi
1
210
2025-07-25 NOT A HOTEL TECH TALK ━ スマートホーム開発の最前線 ━ SOFTWARE
wakinchan
0
130
少人数でも回る! DevinとPlaybookで支える運用改善
ishikawa_pro
1
370
データエンジニアリング 4年前と変わったこと、 4年前と変わらないこと
tanakarian
2
360
室長の逆襲 :データ活用の陣地を増やすためのヒント
masatoshi0205
0
180
2025/07/22_家族アルバム みてねのCRE における生成AI活用事例
masartz
2
110
AI時代にも変わらぬ価値を発揮したい: インフラ・クラウドを切り口にユーザー価値と非機能要件に向き合ってエンジニアとしての地力を培う
netmarkjp
0
220
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Producing Creativity
orderedlist
PRO
346
40k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
4 Signs Your Business is Dying
shpigford
184
22k
Gamification - CAS2011
davidbonilla
81
5.4k
Visualization
eitanlees
146
16k
Side Projects
sachag
455
43k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
The Cult of Friendly URLs
andyhume
79
6.5k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Transcript
AWS Healthを活⽤して AWSアカウントの運⽤をしよう 第129回 雲勉【オンライン】
0.講師⾃⼰紹介 2 n まつなが まき • クラウドインテグレーション事業部 MSP開発セクション所属 • アイレット4年⽬
• アイレット歴 = クラウド歴 • 花粉症がつらいこの頃
アジェンダ 3 1. AWSアカウントの運⽤で気にすべきこと 2. AWS Healthについて 3. AWS Healthの確認⽅法
4. AWS Healthの活⽤例 5. まとめ
本⽇のゴール 4 n AWS Health • どんなものか知る • ダッシュボードでの⾒⽅を知る •
運⽤例を知る
1. AWSアカウントの運⽤で気にすべきこと 5
1.AWSアカウントの運⽤で気にすべきこと 6 n AWSアカウントでサービスを構築すると定期的なメンテナンスや障害対応が必要 運⽤・保守 メンテナンス対応 障害影響 EOL対応 インスタンス再起動 レイテンシー増加
リージョン障害 ΞΧϯτཧऀ など など
1.AWSアカウントの運⽤で気にすべきこと 7 n AWSアカウントのメンテナンスや障害の情報はどうやって取得する︖ 「AWS Health イベント」としてAWSから通知される
2. AWS Health について 8
2.AWS Health について 9 n AWS Health とは︖ • AWSアカウントに影響のある障害や情報をお知らせしてくれるサービス(仕組み)のこと
• AWS Health が各AWS サービスの代わりにまとめてお知らせを通知してくれる • AWS Healthから通知されるお知らせを AWS Health イベントという AWS Health AWSの各サービス 様々な通知(AWS Health イベント)を集約
2.AWS Health について 10 n AWS Health イベントの種類 種類 説明
パブリックイベント (Service Health) AWSアカウント固有でないサービスイベント、サービス状況に関するもの サインイン不要、AWS アカウント不要で確認できるイベント https://health.aws.amazon.com/health/status 例)AWSリージョン障害のイベント アカウント固有のイベント (Your Account) AWS アカウントに固有のイベント 例)使⽤中のインスタンスの問題のイベント
3. AWS Health の確認⽅法 11
3.AWS Health の確認⽅法 12 n AWS Health イベントを確認する⽅法 No ⽅法
説明 1 AWS Health Dashboard 全てのAWSサービスの状態と発⽣イベントを確認できる 2 AWS Health API AWS Health Dashboardで表⽰している情報をAPIで取得 できる ⚠ いずれも90⽇前までのイベントが⾒られる ⚠ AWS Health APIはAWS ビジネス、AWS Enterprise On-Ramp、AWS エンタープライズサポートで利⽤可能 https://aws.amazon.com/jp/premiumsupport/faqs/ - Q: プログラムで AWS Health にアクセスできますか?
3. AWS Health 確認⽅法 ①AWS Health Dashboard 13
14 n AWS Health Dashboard • AWS Health イベントの通知をリアルタイムで集約したダッシュボードを 提供するAWSのサービス
AWS Health Dashboard AWSの各サービス アカウント管理者 様々な通知 サービスの状態 確認 3.AWS Health の確認⽅法 ①AWS Health Dashboard
3.AWS Health の確認⽅法 ①AWS Health Dashboard 15 n マネージメントコンソール画⾯ ログイン
> AWS Health Dashboard
3.AWS Health の確認⽅法 ①AWS Health Dashboard 16 n AWS Health
イベントの種類 ダッシュボードでは以下のいずれのイベントも確認可能 種類 説明 パブリックイベント (Service Health) AWSアカウント固有でないサービスイベント、サービス状況に関するもの サインイン不要、AWS アカウント不要で確認できるイベント https://health.aws.amazon.com/health/status 例)AWSリージョン障害のイベント アカウント固有のイベント (Your Account) AWS アカウントに固有のイベント 例)使⽤中のインスタンスの問題のイベント
3.AWS Health の確認⽅法 ①AWS Health Dashboard 17 n パブリックイベントの確認 サービスの状態(Service
Health)タブを⾒る
3.AWS Health の確認⽅法 ①AWS Health Dashboard 18 n パブリックイベントの確認 発⽣中の問題(障害など)があると、「未解決の問題」にイベントが表⽰される
3.AWS Health の確認⽅法 ①AWS Health Dashboard 19 n パブリックイベントの確認 ステータス履歴でサービスの稼働状況や過去発⽣したパブリックイベントがわかる
3.AWS Health の確認⽅法 ①AWS Health Dashboard 20 n アカウント固有のイベントの確認 アカウントの状態(Your
Account)タブを⾒る ※サインインが必要
3.AWS Health の確認⽅法 ①AWS Health Dashboard 21 n アカウント固有のイベントの確認 過去7⽇間に発⽣した問題は「未解決の問題と最近の問題」に表⽰される
グローバルサービスなので、全リージョンの問題を確認できる
3.AWS Health の確認⽅法 ①AWS Health Dashboard 22 n アカウント固有のイベントの確認 過去のイベントは、イベントログで確認
90⽇前のものまで管理されています
3.AWS Health の確認⽅法 ①AWS Health Dashboard 23 n アカウント固有のイベントの確認 影響を受けるリソース
に記載があるのが、 アカウント固有のイベント その他は パブリックイベント (どちらも表⽰される) アカウント固有の イベント
3.AWS Health の確認⽅法 ①AWS Health Dashboard 24 n アカウント固有のイベントの確認 イベントのカテゴリには「問題」「予定された変更」「その他の通知」がある
3.AWS Health の確認⽅法 ①AWS Health Dashboard 25 n イベントのカテゴリ 種類
説明 問題 サービスやリージョンの障害に関するイベント 例) エラーの増加 予定された変更 計画されたライフサイクルイベントについてのイベント 例) Lambdaランタイムのサポート終了 MySQL エンジンバージョンのサポート終了 RDS 認証局証明書の有効期限満了 その他の通知 上記以外のイベント 例)変更リリースの通知
3.AWS Health の確認⽅法 ①AWS Health Dashboard 26 n アカウント固有のイベントの確認 リージョン/ゾーンが「-」のものはグローバルサービスに関するイベント
3.AWS Health の確認⽅法 ①AWS Health Dashboard 27 n アカウント固有のイベントの確認 イベントをクリックで詳細が⾒れる(パブリックイベントはサービスの状態で同じ内容が⾒れる)
3.AWS Health の確認⽅法 ①AWS Health Dashboard 28 n アカウント固有のイベントの確認 「影響を受けるリソース」でアカウント内の影響を受けるリソースがわかる
3. AWS Health 確認⽅法 ②AWS Health API 29
3.AWS Health の確認⽅法 ②AWS Health API 30 n AWS Health
APIとは • AWS Health Dashboard に表⽰される情報に、プログラムを使⽤して アクセスできる • 特定のサービス、イベントタイプのカテゴリ、イベントタイプのコード でイベントをフィルタリングできる • APIのエンドポイントは「us-east-1」と「us-east-2」 https://docs.aws.amazon.com/ja_jp/health/latest/ug/health-api.html#endpoints
3.AWS Health の確認⽅法 ②AWS Health API 31 n DescribeEventsでイベント⼀覧を取得 aws
health describe-events --region us-east-1
3.AWS Health の確認⽅法 ②AWS Health API 32 { "events": [
:...skipping... { "arn": "arn:aws:health:ap-northeast-1::event/BILLING/AWS_BILLING_NOTIFICATION/AWS_BILLING_NOTIFICATION_.....", "service": "BILLING", "eventTypeCode": "AWS_BILLING_NOTIFICATION", "eventTypeCategory": "accountNotification", "region": "ap-northeast-1", "startTime": "2024-01-06T22:05:00+09:00", "lastUpdatedTime": "2024-01-06T23:12:51.263000+09:00", "statusCode": "open", "eventScopeCode": "ACCOUNT_SPECIFIC" }, :...skipping... ] } n アカウント固有イベントの場合
3.AWS Health の確認⽅法 ②AWS Health API 33 { "events": [
:...skipping... { "arn": "arn:aws:health:us-west-2::event/DYNAMODB/AWS_DYNAMODB_OPERATIONAL_ISSUE/AWS_DYNAMODB_OPERATIONAL_ISSUE_...", "service": "DYNAMODB", "eventTypeCode": "AWS_DYNAMODB_OPERATIONAL_ISSUE", "eventTypeCategory": "issue", "region": "us-west-2", "startTime": "2023-12-10T12:17:00+09:00", "endTime": "2023-12-10T13:31:30+09:00", "lastUpdatedTime": "2023-12-10T13:31:30.005000+09:00", "statusCode": "closed", "eventScopeCode": "PUBLIC" } :...skipping... ] } n パブリックイベントの場合
3.AWS Health の確認⽅法 ②AWS Health API 34 n DescribeEventDetailsでイベントの詳細を取得 aws
health describe-event-details --region us-east-1 --event-arns “{イベントのarnを指定}"
3.AWS Health の確認⽅法 ②AWS Health API 35 { "successfulSet": [
{ "event": { "arn": "arn:aws:health:us-west-2::event/DYNAMODB/AWS_DYNAMODB_OPERATIONAL_ISSUE/AWS_DYNAMODB_OPERATIONAL_ISSUE_...", "service": "DYNAMODB", "eventTypeCode": "AWS_DYNAMODB_OPERATIONAL_ISSUE", "eventTypeCategory": "issue", "region": "us-west-2", "startTime": "2023-12-10T12:17:00+09:00", "endTime": "2023-12-10T13:31:30+09:00", "lastUpdatedTime": "2023-12-10T13:31:30.005000+09:00", "statusCode": "closed", "eventScopeCode": "PUBLIC" }, "eventDescription": { “latestDescription”: “Current severity level: Operating normally¥n¥n[RESOLVED] Increased Error Rates¥n¥n[08:29 PM PST] The issue has been resolved and the service is operating normally.¥n¥n[08:17 PM PST] Starting at 6:45 PM PST, DynamoDB experienced increased error rates and latencies for API requests in the US-WEST-2 Region. (ҎԼলུ)} } ], "failedSet": [] }
3.AWS Health の確認⽅法 ②AWS Health API 36 n オープンなアカウント固有イベントのみを取得 •
ステータスやリージョンは --filter を使⽤して絞ることができる • eventScopeCode はfilter条件に指定できないためjqコマンドを使⽤ aws health describe-events --region us-east-1 --filter "eventStatusCodes=open" | jq ' .events[] | select(.eventScopeCode == "ACCOUNT_SPECIFIC")' https://docs.aws.amazon.com/ja_jp/health/latest/ug/supported-operations.html
3.AWS Health の確認⽅法 ②AWS Health API 37 n オープンなパブリックイベントのみを取得 •
ステータスやリージョンは --filter を使⽤して絞ることができる • eventScopeCode はfilter条件に指定できないためjqコマンドを使⽤ aws health describe-events --region us-east-1 --filter "eventStatusCodes=open" | jq ' .events[] | select(.eventScopeCode == ”PUBLIC")' https://docs.aws.amazon.com/ja_jp/health/latest/ug/supported-operations.html
3.AWS Health の確認⽅法 ②AWS Health API 38 n AWS Health
API • DescribeEventTypes でイベントタイプ⼀覧を取得 aws health describe-event-types --region us-east-1 { "eventTypes": [ :...skipping... { "service": "ACM", "code": "AWS_ACM_API_ISSUE", "category": "issue" }, :...skipping... ] }
3.AWS Health の確認⽅法 ②AWS Health API 39 n イベントタイプ⼀覧 •
イベントに関する AWS のサービス、イベントタイプコード、カテゴリのテンプレート定義 • AWS Health でサポートされるイベントタイプコード、サービスは、時間とともに増える
3.AWS Health の確認⽅法 ②AWS Health API 40 n イベントタイプ⼀覧 以下の情報が取得できる
ɾΠϕϯτλΠϓίʔυͷҰཡ aws health describe-event-types --region us-east-1 | jq '[.eventTypes[].code] | unique’ → ͲͷΑ͏ͳΠϕϯτ͕औಘͰ͖Δͷ͔Ұཡ͕Θ͔Δ ɾαʔϏεͷҰཡ aws health describe-event-types --region us-east-1 | jq '[.eventTypes[].service] | unique’ → ͲͷαʔϏεͷΠϕϯτ͕औಘͰ͖Δͷ͔Ұཡ͕Θ͔Δ
3.AWS Health の確認⽅法 ②AWS Health API 41 n その他のAWS Health
API • DescribeAffectedEntities イベントの影響を受けるエンティティの情報を取得 • DescribeEventAggregates イベントタイプのカテゴリ別のイベント数を取得 • DescribeEntityAggregates イベントから影響を受けるエンティティ (リソース) の数を取得
4. AWS Healthの活⽤例 42
4.AWS Healthの活⽤例 43 n AWS Health を使⽤して新規イベントを検知したい ⽅法はいくつかある 例 ⽅法
例1 AWS Health Dashboardを定期的に⾒て新しいイベントを確認する 例2 AWS Health DashboardとEvent Bridgeを連携し、イベント発⽣時にSNSで通知 例3 (応⽤) AWS Organizationsと統合し、組織内のアカウントのイベントを1つの委任アカウント に集約させる。Event Bridgeを連携し、イベント発⽣時にSNSで通知
4.AWS Healthの活⽤例 44 n AWS Health を使⽤して新規イベントを検知する⽅法 例 ⽅法 例1
AWS Health Dashboardを定期的に⾒て新しいイベントを確認する • 最もお⼿軽な⽅法 • イベントが多くなると⼤変(頻度など) • 障害イベントにリアルタイムで対応できない
4.AWS Healthの活⽤例 45 n AWS Health を使⽤して新規イベントを検知する⽅法 例 ⽅法 例2
AWS Health DashboardとEvent Bridgeを連携し、イベント発⽣時にSNSで通知 Amazon EventBridge AWS Health Dashboard Amazon SNS AWS Chatbot https://docs.aws.amazon.com/ja_jp/health/latest/ug/cloudwatch-events-health.html
4.AWS Healthの活⽤例 46 n AWS Health を使⽤して新規イベントを検知する⽅法 例 ⽅法 例2
AWS Health DashboardとEvent Bridgeを連携し、イベント発⽣時にSNSで通知 • リアルタイムにイベントを検知できる • ルールの設定で検知するイベントをフィルタできる • パブリックイベントを検知するにはus-east-1でルールを作成する • アカウント固有イベントは、各リージョンごとにルールを作成する必要がある • 監視対象のアカウントが多くなると各アカウントの設定が必要
4.AWS Healthの活⽤例 47 n AWS Health を使⽤して新規イベントを検知する⽅法 例 ⽅法 例3(応⽤)
AWS Organizationと統合し、組織内のアカウントのイベントを1つの委任アカウント に集約させる。Event Bridgeを連携し、イベント発⽣時にSNSで通知。 + AWS Organizations有効化 組織メンバーアカウント 管理アカウント (委任アカウント) Amazon EventBridge Amazon SNS 集約
4.AWS Healthの活⽤例 48 n AWS Health を使⽤して新規イベントを検知する⽅法 例 ⽅法 例3(応⽤)
AWS Organizationsと統合し、組織内のアカウントのイベントを1つの委任アカウント に集約させる。 • Organizationsに紐づく全てのアカウントへのイベント情報を取得できる • ルールの設定で検知するイベントをフィルタできる • 組織全体のメンテナンスイベントを⼀括で管理できる • 組織内の全てのアカウントで組織ビューを有効化するなど事前設定は必要 https://docs.aws.amazon.com/ja_jp/health/latest/ug/enable-organizational-view-in-health-console.html
4.AWS Healthの活⽤例 49 n 新規イベントを検知した後はLambdaやSQSを使⽤して⾃動化も可能 例 ⽅法 例2 AWS Health
DashboardとEvent Bridgeを連携し、イベント発⽣時にSNSで通知 例3 (応⽤) AWS Organizationと統合し、Health APIを使⽤して新規イベントを定期的に取得する Amazon EventBridge AWS Health AWS Lambda 検知 Amazon EC2 Amazon RDS イベント毎のアクション イベントソース
4.AWS Healthの活⽤例 50 n 社内事例の紹介 • Health APIを使⽤して、複数アカウント(※)の新規イベントを定期的に取得して通知する (※)同じ組織に所属していないためAWS Organizations統合ができない
+ AWS Health APIを利⽤ AWS Lambda 対象アカウント AWS STS 実⾏アカウント イベント取得(定期実⾏) 通知
4.活⽤例 51 n 社内事例として公開しています • AWS Healthのイベント情報を⼀元管理するダッシュボードを作成し、作業効率を⼤幅改善︕ イベント情報管理システムの構築 https://www.iret.co.jp/works/116.html
4.AWS Healthの活⽤例 52 n Health APIを使ってみて良かった点 • 全リージョンのイベントを取得可能 • パブリックイベントも取得可能
• APIの引数パラメータを使⽤して取得対象のイベントを絞れる
5. まとめ 53
5.まとめ 54 n AWS Health • どんなものか知る → 各AWS サービスからの通知イベント
• ダッシュボードでの⾒⽅を知る → ダッシュボードやAPIを活⽤ • 運⽤例を知る → EventBridgeを使⽤してリアルタイム通知しイベント毎のアクション実⾏ → APIの活⽤