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
380
第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
第154回 雲勉 AWS Codeシリーズ盛り上げ隊 ~ Codeシリーズは砕けない ~
iret
0
15
第153回 雲勉 トラシューが秒で終わる新機能 Amazon Q Developer operational investigations
iret
0
45
第150回 雲勉 AWS AppSyncではじめるGraphQL体験
iret
0
41
第151回 雲勉 プロジェクトのドキュメントにおける課題をAmazon Bedrockで解決してみる
iret
0
57
第152回 雲勉 シームレスなマルチリージョンへの移行と検討 ~Amazon EKSとAWS Global Acceleratorを使用した環境〜
iret
0
48
第149回 雲勉 AWS ベストプラクティスの最新と実際 AWS Well-Architected
iret
0
82
第148回 雲勉 Web アプリケーションセキュリティ
iret
0
46
第147回 雲勉 Amazon CloudWatchをウォッチ!
iret
0
58
第146回 雲勉 BLEAを眺めてCDKの書き方について学ぶ
iret
1
70
Other Decks in Technology
See All in Technology
AWSでRAGを実現する上で感じた3つの大事なこと
ymae
3
1k
30分でわかる『アジャイルデータモデリング』
hanon52_
9
2.2k
High Performance PHP
cmuench
0
140
開発者が自律的に AWS Security Hub findings に 対応する仕組みと AWS re:Invent 2024 登壇体験談 / Developers autonomously report AWS Security Hub findings Corresponding mechanism and AWS re:Invent 2024 presentation experience
kaminashi
0
190
Ask! NIKKEIの運用基盤と改善に向けた取り組み / NIKKEI TECH TALK #30
kaitomajima
1
450
WAF に頼りすぎない AWS WAF 運用術 meguro sec #1
izzii
0
460
これからSREになる人と、これからもSREをやっていく人へ
masayoshi
6
4.1k
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
670
Googleマップ/Earthが一般化した 地図タイルのイマ
mapconcierge4agu
1
200
自動テストの世界に、この5年間で起きたこと
autifyhq
10
7.1k
地方拠点で エンジニアリングマネージャーってできるの? 〜地方という制約を楽しむオーナーシップとコミュニティ作り〜
1coin
1
130
事業継続を支える自動テストの考え方
tsuemura
0
300
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
41
7.2k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
KATA
mclloyd
29
14k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Bash Introduction
62gerente
610
210k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
29
2.2k
The Cult of Friendly URLs
andyhume
78
6.2k
Automating Front-end Workflow
addyosmani
1367
200k
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の活⽤