SlideShare a Scribd company logo
1 of 24
Download to read offline
マルチアカウントで
Health情報を集約した
自己紹介
名前:富松 広太(とみまつ こうた)
Blog:https://cloud-aws-gcp.hateblo.jp/
twitter:@kotamemento
2020~21 APN Ambassador
ALL AWS Certifications Engineer
from:滋賀県
AWSからのメール
AWSからのメールどうしてますか?
メールめっちゃ来ますよね
Action RequierdやAction Neededなど件名も絞れませんよね
AWSからのメール
ある時、24時間以内に対応してと依頼がきた
AWSからの通知にはAbuse(AWSの不正使用関連)の通知があるらしい
平日だから良かったけど、休日だと気づけなかったかも・・・
緊急度の高いものはpush的に通知したい
AWS Health
Personal Health DashboardでAWSからの通知を確認できる
通知をEventとして取得可能
良い感じに集約管理したい
案1. EventBridge (push)
集約Account
子Account
子Account
子Account
EventBridge Ruleで
Health Eventを取得
心配な点
 全Account利用RegionにEventBridge Ruleを作成する必要あり
Event内容に応じて通知
メリット
 PG記述量が案2より少ない
Organization関係なく採用可能
案2. Health + Organization (pull) (採用)
集約Account
子Account
子Account
子Account
Health APIを定期実行
Organization配下の全Account、Regionの
Healthイベントを一括取得
イベント内容に応じて通知
心配な点
 特定のHealth APIはBussiness以上のサポートプランの必要あり
メリット
 子アカウントでリソースを作成しなくて良い
 発生時間を指定してevent取得できる(再取得可能)
Health + Organizations API
Health + Organizations API
No commands 概要 必要な引数 条件
1 describe-events-for-organization 全eventを取得 -
Rootアカウントが
Business以上
2 describe-affected-accounts-for-organization
eventに関連する
AWS Accountを取得 eventArn
Rootアカウントが
Business以上
3 describe-affected-entities-for-organization
eventに関連する
AWS Resourceを取得
eventArn
awsAccountId
各子アカウントが
Business以上
4 describe-event-details-for-organization
上記で取得できない
項目を取得したい場合に利用
eventArn
awsAccountId
各子アカウントが
Business以上
「アカウントxxxのリソースxxxでxxxのイベントがあります」を通知したい
Event情報取得用に4種類のAPIがある
Health + Organizations API
No commands 概要 必要な引数 条件
1 describe-events-for-organization 全eventを取得 -
Rootアカウントが
Business以上
2 describe-affected-accounts-for-organization
eventに関連する
AWS Accountを取得 eventArn
Rootアカウントが
Business以上
3 describe-affected-entities-for-organization
eventに関連する
AWS Resourceを取得
eventArn
awsAccountId
各子アカウントが
Business以上
3 describe-event-details-for-organization
上記で取得できない
項目を取得したい場合に利用
eventArn
awsAccountId
各子アカウントが
Business以上
Health + Organizations API
{
"arn": "arn:aws:health:ap-northeast-1::event/CLIENT_VPN/xxxxxxxx",
"service": "CLIENT_VPN",
"eventTypeCode": "AWS_CLIENT_VPN_SECURITY_NOTIFICATION",
"eventTypeCategory": "accountNotification",
"eventScopeCode": "ACCOUNT_SPECIFIC",
"region": "ap-northeast-1",
"startTime": "2021-11-05T10:20:00+09:00",
"lastUpdatedTime": "2021-11-05T10:56:16.901000+09:00",
"statusCode": "open"
}
describe-events-for-organization
Organizations配下の全Account,RegionのEventを取得
アカウント固有か全体か
(対象アカウントまではわからない)
EventArnを取得
(Option)時間をフィルタ可能
Health + Organizations API
No commands 概要 必要な引数 条件
1 describe-events-for-organization 全eventを取得 -
Rootアカウントが
Business以上
2 describe-affected-accounts-for-organization
eventに関連する
AWS Accountを取得 eventArn
Rootアカウントが
Business以上
3 describe-affected-entities-for-organization
eventに関連する
AWS Resourceを取得
eventArn
awsAccountId
各子アカウントが
Business以上
4 describe-event-details-for-organization
上記で取得できない
項目を取得したい場合に利用
eventArn
awsAccountId
各子アカウントが
Business以上
{
"affectedAccounts": [
"xxxxxxxxxxxx",
"xxxxxxxxxxxx"
],
"eventScopeCode": "ACCOUNT_SPECIFIC"
}
Health + Organizations API
describe-affected-accounts-for-organization
関連アカウントを取得
Health + Organizations API
No commands 概要 必要な引数 条件
1 describe-events-for-organization 全eventを取得 -
Rootアカウントが
Business以上
2 describe-affected-accounts-for-organization
eventに関連する
AWS Accountを取得 eventArn
Rootアカウントが
Business以上
3 describe-affected-entities-for-organization
eventに関連する
AWS Resourceを取得
eventArn
awsAccountId
各子アカウントが
Business以上
4 describe-event-details-for-organization
上記で取得できない
項目を取得したい場合に利用
eventArn
awsAccountId
各子アカウントが
Business以上
{
"entities": [
{
"entityArn": "arn:aws:health:ap-northeast-1:xxxxxxxx:entity/xxxxxxxxxx",
"eventArn": "arn:aws:health:ap-northeast-1::event/CLIENT_VPN/xxxxxxxxxxx",
"entityValue": "AWS_ACCOUNT",
"awsAccountId": "xxxxxxxxxxx",
"lastUpdatedTime": "2021-11-05T10:56:16.860000+09:00"
}
],
"failedSet": null
}
Health + Organizations API
describe-affected-entities-for-organization
サポートプランがbasic以下だと失敗
関連リソースを取得 (Instance-id等)
Health + Organizations API
No commands 概要 必要な引数 条件
1 describe-events-for-organization 全eventを取得 -
Rootアカウントが
Business以上
2 describe-affected-accounts-for-organization
eventに関連する
AWS Accountを取得 eventArn
Rootアカウントが
Business以上
3 describe-affected-entities-for-organization
eventに関連する
AWS Resourceを取得
eventArn
awsAccountId
各子アカウントが
Business以上
4 describe-event-details-for-organization
上記で取得できない
項目を取得したい場合に利用
eventArn
awsAccountId
各子アカウントが
Business以上
イベントの説明文章(eventDescription)を取得
Tips & 失敗から学んだこと
{
"arn": "arn:aws:health:ap-northeast-1::event/CLIENT_VPN/xxxxxxxx",
"service": "CLIENT_VPN",
"eventTypeCode": "AWS_CLIENT_VPN_SECURITY_NOTIFICATION",
"eventTypeCategory": "accountNotification",
"eventScopeCode": "ACCOUNT_SPECIFIC",
"region": "ap-northeast-1",
"startTime": "2021-11-05T10:20:00+09:00",
"lastUpdatedTime": "2021-11-05T10:56:16.901000+09:00",
"statusCode": "open"
}
Tips & 失敗から学んだこと(1)
通知分類はRegionとEventTypeCodeで考えると便利
ほぼ「AWS_サービス名_概要」の形式
約800種類存在
{
"arn": "arn:aws:health:ap-northeast-1::event/CLIENT_VPN/xxxxxxxx",
"service": "xxxxxxx",
"eventTypeCode": "AWS_ABUSE_OPEN_PROXY_REPORT”,
"eventTypeCategory": "xxxxxxxxxxxx",
"eventScopeCode": "ACCOUNT_SPECIFIC",
"region": "ap-northeast-1",
"startTime": "2021-11-05T10:20:00+09:00",
"lastUpdatedTime": "2021-11-05T10:56:16.901000+09:00",
"statusCode": "open"
}
緊急度を2段階に分けると便利
例:
(1)緊急Abuse系は24時間以内に対応したい
 → 人間に即時通知
(2)メンテナンス系は数日以内で良い
 → チケット発行
Tips & 失敗から学んだこと(2)
High Low
AWS_ABUSE_xxxxxxxxx
AWS_CLOUDWATCH_xxxxxxxxxx
AWS_SES_ENFORCEMENT_PROBATION
AWS_SES_ENFORCEMENT_SHUTDOWN
AWS_SES_PROBATION
AWS_SES_SHUTDOWN
AWS_SNS_SES_ABUSE_DETECTION
AWS_DIRECTCONNECT_EMERGENCY_MAINTENANCE_SCHEDULED
AWS_VPN_EMERGENCY_MAINTENANCE_SCHEDULED
AWS_サービス名_OPERATIONAL_ISSUE
Tips & 失敗から学んだこと(3)
緊急度を高めておくと良さそうな
EventTypeCode
不正利用。対応しないとリソース停止
cloudwatchが死んだら監視が機能しない
SES止める予告関連
緊急のNWメンテ
サービス障害
Statusでフィルタしない方が良い
closed状態のイベントは取得しないようにしていたが
開始と同時にclosed扱いのeventが存在した(対応完了していないのに)
Tips & 失敗から学んだこと(4)
Ticket管理システムと連携する時の話(変更前)
Tips & 失敗から学んだこと(5)
集約Account
子Account
子Account
子Account
チケットを作成し運用メンバーで対応
Event更新があるたびTicketを作成すると
同じEventでも異なるTicketを発行してしまう
同じEventは同じTicketに追記したい
Ticket管理システムと連携する時の話(変更後)
Tips & 失敗から学んだこと(5)
集約Account
子Account
子Account
子Account
DynamoにEventArn , AccountId ,TicketId, lastUpdateTimeを保存
既にチケット作成済みの場合はチケット作成でなく情報追記する
(TTLで一定時間が更新されないレコードは自動削除 )
参考リンク
(1)AWS Health APIから取得できるイベントタイプを確認してみた
https://dev.classmethod.jp/articles/view-aws-health-api/
(2)aws-samplesに似たものがありました
https://aws.amazon.com/jp/blogs/mt/aws-health-aware-customize-aws-health-a
lerts-for-organizational-and-personal-aws-accounts/
https://github.com/aws-samples/aws-health-aware

More Related Content

What's hot

AWSのセキュリティについて
AWSのセキュリティについてAWSのセキュリティについて
AWSのセキュリティについてYasuhiro Horiuchi
 
20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway 20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway Amazon Web Services Japan
 
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS GlueAmazon Web Services Japan
 
20180509 AWS Black Belt Online Seminar Amazon GuardDuty
20180509 AWS Black Belt Online Seminar Amazon GuardDuty20180509 AWS Black Belt Online Seminar Amazon GuardDuty
20180509 AWS Black Belt Online Seminar Amazon GuardDutyAmazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAmazon Web Services Japan
 
データ活用を加速するAWS分析サービスのご紹介
データ活用を加速するAWS分析サービスのご紹介データ活用を加速するAWS分析サービスのご紹介
データ活用を加速するAWS分析サービスのご紹介Amazon Web Services Japan
 
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)Amazon Web Services Japan
 
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPNAmazon Web Services Japan
 
20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon Athena20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon AthenaAmazon Web Services Japan
 
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep diveAmazon Web Services Japan
 
20191127 AWS Black Belt Online Seminar Amazon CloudWatch Container Insights で...
20191127 AWS Black Belt Online Seminar Amazon CloudWatch Container Insights で...20191127 AWS Black Belt Online Seminar Amazon CloudWatch Container Insights で...
20191127 AWS Black Belt Online Seminar Amazon CloudWatch Container Insights で...Amazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 Amazon Pinpoint で始めるモバイルアプリのグロースハック
AWS Black Belt Online Seminar 2017 Amazon Pinpoint で始めるモバイルアプリのグロースハックAWS Black Belt Online Seminar 2017 Amazon Pinpoint で始めるモバイルアプリのグロースハック
AWS Black Belt Online Seminar 2017 Amazon Pinpoint で始めるモバイルアプリのグロースハックAmazon Web Services Japan
 
AWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
AWS Black Belt Tech シリーズ 2015 - AWS Data PipelineAWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
AWS Black Belt Tech シリーズ 2015 - AWS Data PipelineAmazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 AWS Shield
AWS Black Belt Online Seminar 2017 AWS ShieldAWS Black Belt Online Seminar 2017 AWS Shield
AWS Black Belt Online Seminar 2017 AWS ShieldAmazon Web Services Japan
 
20190326 AWS Black Belt Online Seminar Amazon CloudWatch
20190326 AWS Black Belt Online Seminar Amazon CloudWatch20190326 AWS Black Belt Online Seminar Amazon CloudWatch
20190326 AWS Black Belt Online Seminar Amazon CloudWatchAmazon Web Services Japan
 
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化DeNA
 
AWS Black Belt Techシリーズ AWS Direct Connect
AWS Black Belt Techシリーズ AWS Direct ConnectAWS Black Belt Techシリーズ AWS Direct Connect
AWS Black Belt Techシリーズ AWS Direct ConnectAmazon Web Services Japan
 
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤Amazon Web Services Japan
 

What's hot (20)

AWSのセキュリティについて
AWSのセキュリティについてAWSのセキュリティについて
AWSのセキュリティについて
 
20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway 20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway
 
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue
 
20180509 AWS Black Belt Online Seminar Amazon GuardDuty
20180509 AWS Black Belt Online Seminar Amazon GuardDuty20180509 AWS Black Belt Online Seminar Amazon GuardDuty
20180509 AWS Black Belt Online Seminar Amazon GuardDuty
 
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
 
データ活用を加速するAWS分析サービスのご紹介
データ活用を加速するAWS分析サービスのご紹介データ活用を加速するAWS分析サービスのご紹介
データ活用を加速するAWS分析サービスのご紹介
 
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
 
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
 
AWS Amplify 入門
AWS Amplify 入門AWS Amplify 入門
AWS Amplify 入門
 
20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon Athena20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon Athena
 
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
 
20191127 AWS Black Belt Online Seminar Amazon CloudWatch Container Insights で...
20191127 AWS Black Belt Online Seminar Amazon CloudWatch Container Insights で...20191127 AWS Black Belt Online Seminar Amazon CloudWatch Container Insights で...
20191127 AWS Black Belt Online Seminar Amazon CloudWatch Container Insights で...
 
AWS Black Belt Online Seminar 2017 Amazon Pinpoint で始めるモバイルアプリのグロースハック
AWS Black Belt Online Seminar 2017 Amazon Pinpoint で始めるモバイルアプリのグロースハックAWS Black Belt Online Seminar 2017 Amazon Pinpoint で始めるモバイルアプリのグロースハック
AWS Black Belt Online Seminar 2017 Amazon Pinpoint で始めるモバイルアプリのグロースハック
 
AWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
AWS Black Belt Tech シリーズ 2015 - AWS Data PipelineAWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
AWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
 
AWS Black Belt Online Seminar 2017 AWS Shield
AWS Black Belt Online Seminar 2017 AWS ShieldAWS Black Belt Online Seminar 2017 AWS Shield
AWS Black Belt Online Seminar 2017 AWS Shield
 
Amazon VPC VPN接続設定 参考資料
Amazon VPC VPN接続設定 参考資料Amazon VPC VPN接続設定 参考資料
Amazon VPC VPN接続設定 参考資料
 
20190326 AWS Black Belt Online Seminar Amazon CloudWatch
20190326 AWS Black Belt Online Seminar Amazon CloudWatch20190326 AWS Black Belt Online Seminar Amazon CloudWatch
20190326 AWS Black Belt Online Seminar Amazon CloudWatch
 
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化
 
AWS Black Belt Techシリーズ AWS Direct Connect
AWS Black Belt Techシリーズ AWS Direct ConnectAWS Black Belt Techシリーズ AWS Direct Connect
AWS Black Belt Techシリーズ AWS Direct Connect
 
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
 

More from kota tomimatsu

More from kota tomimatsu (15)

aws-multiaccount-notify
aws-multiaccount-notifyaws-multiaccount-notify
aws-multiaccount-notify
 
jaws aws-nuke
jaws aws-nukejaws aws-nuke
jaws aws-nuke
 
Aws github-actions-with-role
Aws github-actions-with-roleAws github-actions-with-role
Aws github-actions-with-role
 
jaws securityhub
jaws securityhubjaws securityhub
jaws securityhub
 
Jaws controltower
Jaws controltowerJaws controltower
Jaws controltower
 
Cloudnative online-2021-stepfunction
Cloudnative online-2021-stepfunctionCloudnative online-2021-stepfunction
Cloudnative online-2021-stepfunction
 
Aws organization multi_accounts
Aws organization multi_accountsAws organization multi_accounts
Aws organization multi_accounts
 
aws kms poiints
aws kms poiintsaws kms poiints
aws kms poiints
 
Cloudfront cli tips
Cloudfront cli tipsCloudfront cli tips
Cloudfront cli tips
 
ElasticCloud
ElasticCloudElasticCloud
ElasticCloud
 
aws-Organizations-aroud
aws-Organizations-aroudaws-Organizations-aroud
aws-Organizations-aroud
 
AWS Client vpn pattern
AWS Client vpn patternAWS Client vpn pattern
AWS Client vpn pattern
 
Organizations周りの機能
Organizations周りの機能Organizations周りの機能
Organizations周りの機能
 
ClientVPNとPrivateca
ClientVPNとPrivatecaClientVPNとPrivateca
ClientVPNとPrivateca
 
AWS Client VPN
AWS Client VPNAWS Client VPN
AWS Client VPN
 

aws health organizations notifications