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
580
第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
第177回 雲勉 IdP 移行を楽に!Amazon Cognito でアプリへの影響をゼロにするアイデア
iret
0
30
第176回 雲勉 VPC 間サービス接続を考える!Private Service Connect 入門
iret
0
32
第175回 雲勉 Amazon ECS入門:コンテナ実行の基本を学ぶ
iret
0
45
第174回 雲勉 Google Agentspace × ADK Vertex AI Agent Engineにデプロイしたエージェントを呼び出す
iret
0
75
第173回 雲勉 ノーコードで生成 AI アプリを構築!Google Cloud AI Applications(旧 Vertex AI Agent Builder)入門
iret
0
64
第170回 雲勉 Lyria が切り拓く音楽制作の未来
iret
1
40
第169回 雲勉 AWS WAF 構築 RTA
iret
0
47
第168回 雲勉 JITNAの使い方とハマったポイントについて語る回
iret
0
52
第167回 雲勉 エージェント開発を加速する Agent Development Kit 入門
iret
1
62
Other Decks in Technology
See All in Technology
serverless team topology
_kensh
3
230
オブザーバビリティが育むシステム理解と好奇心
maruloop
2
1.3k
入院医療費算定業務をAIで支援する:包括医療費支払い制度とDPCコーディング (公開版)
hagino3000
0
110
FinOps について (ちょっと) 本気出して考えてみた
skmkzyk
0
220
IoTLT@ストラタシスジャパン_20251021
norioikedo
0
140
OTEPsで知るOpenTelemetryの未来 / Observability Conference Tokyo 2025
arthur1
0
260
あなたの知らない Linuxカーネル脆弱性の世界
recruitengineers
PRO
3
160
JSConf JPのwebsiteをGatsbyからNext.jsに移行した話 - Next.jsの多言語静的サイトと課題
leko
2
190
QA業務を変える(!?)AIを併用した不具合分析の実践
ma2ri
0
150
可観測性は開発環境から、開発環境にもオブザーバビリティ導入のススメ
layerx
PRO
1
540
ハノーファーメッセ2025で見た生成AI活用ユースケース.pdf
hamadakoji
1
470
[re:Inent2025事前勉強会(有志で開催)] re:Inventで見つけた人生をちょっと変えるコツ
sh_fk2
0
110
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
The Language of Interfaces
destraynor
162
25k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
640
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Why Our Code Smells
bkeepers
PRO
340
57k
Writing Fast Ruby
sferik
630
62k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
How GitHub (no longer) Works
holman
315
140k
Optimizing for Happiness
mojombo
379
70k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
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の活⽤