クラウド環境上でシステムを運用する際に、システムの安定性やサービスの状態を把握することは非常に重要なポイントです。特に大規模なクラウドサービスを利用している場合、障害が発生した際には原因や影響範囲を確認し、迅速に対応しなければなりません。
また、潜在的な問題を未然に防ぐために、計画的なメンテナンスの実施も必要です。そこで役立つのが AWS Health Dashboard です。AWS Health Dashboard は AWS のサービス全体にわたるリアルタイムのステータス情報を提供し、システムに影響を与える可能性のある障害やメンテナンス情報を確認することができます。
本記事では AWS Health Dashboard の基本的な機能、および当社での利用方法について紹介します。
AWS Health Dashboard とは?
AWS サービスの全体的な稼働状況や障害情報をリアルタイムで確認できるサービスです。AWS リージョンまたは AWS アカウントに影響を与える可能性がある障害やメンテナンス情報、AWS のサービスの利用に関するお知らせなどのイベントが、ダッシュボードで確認できます。従来の Service Health Dashboard では AWS サービス全般のステータスが確認できて、Personal Health Dashboard ではユーザの AWS アカウントに関連する問題や通知が提供されていました。これらが統合されたことでユーザは AWS 全体のサービス状況と自分の環境に直接影響する情報を1つのダッシュボードで確認できるようになりました。
特徴
1. 影響の把握
AWS のサービスやリソースの変更が実行中のアプリケーションにどのように影響を与えるかを確認できるので、潜在的な問題を事前に把握し、適切な対策を講じることが可能です。
2. ステータス確認が容易
AWS アカウントを持っていなくても、AWS Health のステータスを確認できます。
3. API によるイベント情報取得
AWS Health API を利用することで AWS Health Dashboard に表示される情報にプログラムを通じてアクセスできます。ただし、AWS Health API を使用するには、ビジネスサポートプラン以上の AWS サポートプランの契約が必要です。
4. モニタリングとログ記録
Amazon CloudWatch、Amazon EventBridge、AWS CloudTrail を使用してログの記録やモニタリングを行えます。これにより、アカウントで問題が発生した場合、必要なアクションを迅速に実行できます。
5. イベント通知の管理
AWS Health Dashboard に表示されるイベントの通知を削除することはできません。AWS サービスがイベントを解決するとダッシュボードから自動的に削除されるため、重要な情報を逃すことなくユーザーは常に最新の情報を受け取り、必要なアクションを適切に行うことが可能です。
AWS Health イベント
AWS Health イベントは AWS インフラやサービスに関連するステータスの情報で、AWSサービスの状態、リソースに影響を与える可能性のある変更や問題が発生した場合に通知されます。AWS Health イベントは「パブリックイベント」と「アカウント固有のイベント」の2つに分類され、ユーザはそれぞれのイベントから必要な情報を取得することができます。
パブリックイベント
特定のアカウントに限定されない 、AWS のインフラストラクチャに影響を与える広範な問題や変更に関するイベントです。例えば、ある AWS リージョンでサービスに問題が発生した場合、そのリージョンでサービスを使用していないアカウントでもイベントに関する情報が提供されます。
アカウント固有のイベント
AWS アカウントに直接関連する問題や変更に関するイベントです。例えば、ユーザが使用しているリージョンで Amazon EC2 インスタンスに問題が発生した場合、そのイベントと影響を受けるリソースに関する情報が提供されます。
イベントタイプコード
イベントタイプコードは、イベントを識別するために割り当てられるユニークなコードで、AWS の各サービスで発生する特定のイベントを表し、メンテナンスやセキュリティ通知などが含まれます。フォーマットは AWS_SERVICE_DESCRIPTION
です。
例えば、AWS_EC2_SYSTEM_MAINTENANCE_EVENT
は Amazon EC2 インスタンスに関するシステムメンテナンスイベントをスケジュールしていることを意味します。
イベントタイプカテゴリ
イベントタイプカテゴリは、すべての AWS Health イベントに関連付けられ、イベントを分類します。一部のイベントにはイベントタイプコードにイベントタイプのカテゴリが表示される場合があります。issue
、accountNotification
、 scheduledChange
、investigation
の4つのカテゴリがありますが、現在 investigation
はサポートされていないです。
問題 (issue)
AWS サービスやリソースに影響を与える予期しないイベントです。サービス低下の原因となっている運用上の問題、ローカライズされたリソースレベルの問題に関する情報が含まれます。
コード例 | 説明 |
---|---|
AWS_EC2_OPERATIONAL_ISSUE | サービスの利用における遅延など、サービスの運用上の問題がある |
AWS_EC2_API_ISSUE | API オペレーションのレイテンシーの増加など、サービスの API の運用上の問題がある |
AWS_EBS_VOLUME_ATTACHMENT_ISSUE | Amazon EBS リソースに影響を与える可能性がある、ローカライズされたリソースレベルの問題がある |
AWS_ABUSE_PII_CONTENT_REMOVAL_REPORT | アクションを実行しないと、アカウントが停止される可能性がある |
アカウント通知 (accountNotification)
アカウントとサービスの管理またはセキュリティに関する情報を提供します。アカウント通知には、情報提供のみのイベントもあれば、緊急対応が必要なイベントもあります。
コード例 | 説明 |
---|---|
AWS_S3_OPEN_ACCESS_BUCKET_NOTIFICATION | パブリックアクセスを許可している可能性がある Amazon S3 バケットがある |
AWS_BILLING_SUSPENSION_NOTICE | アカウントに未払いの料金があり、アカウントが一時停止または非アクティブ化されている |
AWS_WORKSPACES_OPERATIONAL_NOTIFICATION | Amazon WorkSpaces でサービスに関する問題がある |
スケジュールされた変更 (ischeduledChange)
サービスやリソースの今後の変更に関する情報を提供します。サポート終了通知や異なるバージョンへの自動アップグレードなど、計画されたライフサイクルイベントが含まれます。サービスの中断を避けるためにアクションを必要とするイベントもあれば、ユーザのアクションなしで自動的に実行されるイベントもあります。スケジュールされた変更のイベントはすべてアカウント固有のイベントで、実行中にリソースを一時的に利用できなくなる場合があるため、特に注意が必要です。
コード例 | 説明 |
---|---|
AWS_EC2_INSTANCE_RETIREMENT_SCHEDULED | Amazon EC2 インスタンスを再起動する必要がある |
AWS_SAGEMAKER_SCHEDULED_MAINTENANCE | SageMaker でサービスの問題の修正などのメンテナンスイベントが必要である |
AWS_RDS_PLANNED_LIFECYCLE_EVENT | Amazon RDS はバージョンのサポート終了など、ユーザのアクションを必要とする計画されたライフサイクルイベントをスケジュールしている |
AWS Health Dashboard の利用
サービスの状態
サービスの状態ではパブリックイベントのみが表示され、すべての AWS サービスの状態が確認できます。サインインや AWS アカウントがなくても https://health.aws.amazon.com/health/status ページにアクセスすることが可能です。既に AWS アカウントにサインインしている場合は、該当アカウントの「アカウントの状態」にリダイレクトされます。
未解決の課題と最近の問題
最近報告されたすべてのイベントが表示されます。最近のイベントがない場合は、自動的に「ステータス履歴」に移動します。
ステータス履歴
過去 12 か月間のすべての AWS サービスのステータスが確認できます。ステータス履歴はサービス、リージョン、日付でフィルタリングすることが可能で、デフォルトでは「サービス一覧」で AWS 全体サービスの状態が表示されますが、「イベント一覧」を選択すると過去発生した特定のイベントに関する詳細な情報が確認できます。また、RSS フィードを提供しているので、サービスの RSS フィードを登録することで、更新情報を自動的に受け取ることができます。
アカウントの状態
ユーザの AWS アカウントに影響を与える可能性があるイベントが確認できます。アカウント固有のイベントが表示され、利用しているアカウントに関連する影響について詳細な情報取得が可能です。
未解決の課題と最近の問題
障害やパフォーマンスの低下などアカウントに影響を与える可能性がある、過去 7 日間に発生した進行中のイベントをすべて表示します。
スケジュールされた変更
アカウントに影響を与える可能性がある、今後予定されているイベントが表示されます。カレンダービューを提供し、スケジュールされた変更を月ごとのカレンダーで確認することもできます。これにはサービスの定期メンテナンスやユーザのアクションが必要な計画されたライフサイクルイベントなどが含まれます。
その他の通知
アカウントに影響を与える可能性のある、過去 7 日間に発生したその他の通知と進行中のイベントが表示されます。証明書の更新、請求通知、セキュリティの脆弱性などのイベントが含まれます。
イベントログ
過去 90 日間発生したすべてのイベントが確認できます。ステータス、アベイラビリティーゾーン 、リージョン、イベントカテゴリなどさまざまなオプションでフィルタリングできるため、必要な情報を迅速に取得することができます。
「影響を受けるリソース」に記載がある場合は「アカウント固有のイベント」、それ以外は「パブリックイベント 」になります。
イベントのカテゴリを「スケジュールされた変更 ( ischeduledChange )」でフィルタリングしているので対象のイベントのみが表示されています。
AWS Health Dashboard の料金
AWS Health Dashboard はすべての AWS ユーザが無料で利用できます。しかし、前述の通り AWS Health API を利用する際には、別途 AWS サポートプランの契約が必要で、サービスの利用に応じて料金が発生します。
当社では
一部のアカウントでは特定のリージョンで発生するイベントの通知を Slack で受信できるようにしています。AWS Health イベントが発生したら Amazon EventBridge が起動され、Amazon SNS に登録している AWS Chatbot から Slack へ通知されます。
上記の設定では該当リージョンで発生するすべてのイベントを受け取りますが、Amazon EventBridge の ルールをカスタマイズすることで、特定のサービスやイベントタイプカテゴリなどに限定して、必要な情報のみを受信することもできます。
※ Amazon EC2 と Amazon RDS で「問題(issue)」に関するイベント発生時の通知設定例
{ "source": ["aws.health"], "detail-type": ["AWS Health Event"], "detail": { "service": ["EC2","RDS"], "eventTypeCategory": ["issue"] } }
最後に
AWS Health Dashboard についてご紹介しました。サービスの稼働状況や障害情報をリアルタイムで把握できて、影響を最小限に抑えられるのはシステム運用において非常に心強いです。これを機に AWS Health Dashboard を活用してみてください。