Skip to content

Health

Chapter 40: AWS Health Dashboard & Personal Health Dashboard

Section titled “Chapter 40: AWS Health Dashboard & Personal Health Dashboard”

AWS Health Dashboard provides personalized views of AWS service health, alerts, and remediation guidance for your AWS resources.

AWS Health Dashboard Overview
+------------------------------------------------------------------+
| |
| +------------------------+ |
| | AWS Health Dashboard | |
| +------------------------+ |
| | |
| +---------------------+---------------------+ |
| | | | | |
| v v v v |
| +----------+ +----------+ +----------+ +----------+ |
| | Service | | Personal | | Event | | Affected | |
| | Health | | Health | | Log | | Resources| |
| | | | | | | | | |
| | - Public | | - Account| | - History| | - Your | |
| | Status | | - Specific| | - Details| | AWS | |
| | - Region | | - Alerts | | - Search | | - Resources| |
| +----------+ +----------+ +----------+ +----------+ |
| |
+------------------------------------------------------------------+
FeatureDescription
Service HealthPublic AWS service status
Personal HealthAccount-specific alerts
Event LogHistorical events
Affected ResourcesYour impacted resources

AWS Service Health Dashboard
+------------------------------------------------------------------+
| |
| Public Status Page |
| +------------------------------------------------------------+ |
| | | |
| | https://status.aws.amazon.com | |
| | | |
| | Features: | |
| | +------------------------------------------------------+ | |
| | | - Real-time service status | | |
| | | - Regional availability | | |
| | | - Historical service events | | |
| | | - RSS feeds for updates | | |
| | | - Service availability history | | |
| | +------------------------------------------------------+ | |
| | | |
| | Status Indicators: | |
| | +------------------------------------------------------+ | |
| | | - Green: Service is operating normally | | |
| | | - Yellow: Performance issues | | |
| | | - Red: Service disruption | | |
| | +------------------------------------------------------+ | |
| | | |
| +------------------------------------------------------------+ |
| |
+------------------------------------------------------------------+

Personal Health Dashboard
+------------------------------------------------------------------+
| |
| Event Categories |
| +------------------------------------------------------------+ |
| | | |
| | Scheduled Changes: | |
| | +------------------------------------------------------+ | |
| | | - Planned maintenance | | |
| | | - Service upgrades | | |
| | | - Retirement announcements | | |
| | +------------------------------------------------------+ | |
| | | |
| | Account Issues: | |
| | +------------------------------------------------------+ | |
| | | - Billing issues | | |
| | | - Security notifications | | |
| | | - Abuse reports | | |
| | +------------------------------------------------------+ | |
| | | |
| | Service Issues: | |
| | +------------------------------------------------------+ | |
| | | - AWS service disruptions | | |
| | | - Performance degradation | | |
| | | - Resource-specific issues | | |
| | +------------------------------------------------------+ | |
| | | |
| +------------------------------------------------------------+ |
| |
+------------------------------------------------------------------+
AWS Health Event Types
+------------------------------------------------------------------+
| |
| issue |
| +------------------------------------------------------------+ |
| | | |
| | - Active service issues | |
| | - Affects your AWS resources | |
| | - Requires attention | |
| | | |
| +------------------------------------------------------------+ |
| |
| accountNotification |
| +------------------------------------------------------------+ |
| | | |
| | - Account-specific notifications | |
| | - Billing, security, abuse | |
| | - May require action | |
| | | |
| +------------------------------------------------------------+ |
| |
| scheduledChange |
| +------------------------------------------------------------+ |
| | | |
| | - Planned maintenance | |
| | - Service changes | |
| | - Advance notice provided | |
| | | |
| +------------------------------------------------------------+ |
| |
+------------------------------------------------------------------+

AWS Health Event Structure
+------------------------------------------------------------------+
| |
| Event Information |
| +------------------------------------------------------------+ |
| | | |
| | Event ARN: arn:aws:health:us-east-1::event/EC2/... | |
| | Service: Amazon EC2 | |
| | Region: us-east-1 | |
| | EventTypeCode: AWS_EC2_INSTANCE_RETIREMENT_SCHEDULED | |
| | EventTypeCategory: scheduledChange | |
| | StartTime: 2024-02-01T00:00:00Z | |
| | EndTime: 2024-02-15T00:00:00Z | |
| | StatusCode: open | |
| | | |
| +------------------------------------------------------------+ |
| |
| Affected Entities |
| +------------------------------------------------------------+ |
| | | |
| | Entity ARN: arn:aws:ec2:us-east-1:123:instance/i-xxx | |
| | Entity Value: i-1234567890abcdef0 | |
| | Entity Type: AWS::EC2::Instance | |
| | Status: IMPAIRED | |
| | | |
| +------------------------------------------------------------+ |
| |
+------------------------------------------------------------------+

AWS Health + CloudWatch Events
+------------------------------------------------------------------+
| |
| Event Pattern |
| +------------------------------------------------------------+ |
| | | |
| | { | |
| | "source": ["aws.health"], | |
| | "detail-type": ["AWS Health Event"], | |
| | "detail": { | |
| | "eventTypeCategory": ["issue", "scheduledChange"] | |
| | } | |
| | } | |
| | | |
| +------------------------------------------------------------+ |
| |
| Target Actions |
| +------------------------------------------------------------+ |
| | | |
| | - SNS: Send notification | |
| | - Lambda: Automated remediation | |
| | - Systems Manager: Run automation | |
| | - Slack/Teams: Webhook integration | |
| | | |
| +------------------------------------------------------------+ |
| |
+------------------------------------------------------------------+
Automated Health Response
+------------------------------------------------------------------+
| |
| +------------------------+ |
| | AWS Health Service | |
| +------------------------+ |
| | |
| v |
| +------------------------+ |
| | CloudWatch Events | |
| +------------------------+ |
| | |
| +---------------------+---------------------+ |
| | | | |
| v v v |
| +----------+ +----------+ +----------+ |
| | SNS | | Lambda | | Systems | |
| | Topic | | Function | | Manager | |
| | | | | | | |
| | - Email | | - Auto | | - Auto | |
| | - SMS | | Fix | | Mation | |
| | - HTTP | | - Notify | | - Patch | |
| +----------+ +----------+ +----------+ |
| |
+------------------------------------------------------------------+

Terminal window
# Describe events
aws health describe-events \
--filter "eventStatusCodes=open,upcoming"
# Describe event types
aws health describe-event-types
# Describe affected entities
aws health describe-affected-entities \
--filter "eventArns=arn:aws:health:us-east-1::event/EC2/..."
# Describe event details
aws health describe-event-details \
--event-arns "arn:aws:health:us-east-1::event/EC2/..."
# Get event aggregation
aws health describe-event-aggregates \
--aggregate-field eventTypeCategory
# Enable Health API (Business/Enterprise support required)
# Note: Health API requires Business or Enterprise Support plan

AWS Health API Capabilities
+------------------------------------------------------------------+
| |
| API Endpoints |
| +------------------------------------------------------------+ |
| | | |
| | describe-events | |
| | +--------------------------------------------------------+ | |
| | | - List health events affecting your account | | |
| | | - Filter by status, region, service | | |
| | | - Pagination support | | |
| | +--------------------------------------------------------+ | |
| | | |
| | describe-event-details | |
| | +--------------------------------------------------------+ | |
| | | - Get detailed information about events | | |
| | | - Includes event description, timeline | | |
| | | - Affected AWS services | | |
| | +--------------------------------------------------------+ | |
| | | |
| | describe-affected-entities | |
| | +--------------------------------------------------------+ | |
| | | - List resources affected by an event | | |
| | | - Entity ARNs and status | | |
| | | - Resource-specific impact details | | |
| | +--------------------------------------------------------+ | |
| | | |
| | describe-event-aggregates | |
| | +--------------------------------------------------------+ | |
| | | - Aggregate events by category | | |
| | | - Summary statistics | | |
| | | - Trend analysis | | |
| | +--------------------------------------------------------+ | |
| | | |
| +------------------------------------------------------------+ |
| |
+------------------------------------------------------------------+
{
"source": ["aws.health"],
"detail-type": ["AWS Health Event"],
"detail": {
"eventTypeCategory": ["issue", "scheduledChange", "accountNotification"],
"service": ["EC2", "RDS", "S3"],
"region": ["us-east-1", "us-west-2"],
"statusCode": ["open", "upcoming"]
}
}
import boto3
import json
def lambda_handler(event, context):
"""
Automated response to AWS Health events
"""
health = boto3.client('health')
ec2 = boto3.client('ec2')
sns = boto3.client('sns')
# Parse the health event
for record in event.get('Records', []):
detail = json.loads(record['body']) if 'body' in record else record
event_arn = detail.get('detail', {}).get('eventArn')
event_type = detail.get('detail', {}).get('eventTypeCode', '')
# Handle EC2 instance retirement
if 'EC2_INSTANCE_RETIREMENT' in event_type:
# Get affected instances
entities = health.describe_affected_entities(
filter={'eventArns': [event_arn]}
)
for entity in entities['entities']:
instance_id = entity['entityValue']
# Get instance details
instance = ec2.describe_instances(
InstanceIds=[instance_id]
)
# Create replacement instance
# ... implementation details ...
# Send notification
sns.publish(
TopicArn='arn:aws:sns:us-east-1:123456789:alerts',
Message=f'EC2 instance {instance_id} scheduled for retirement',
Subject='AWS Health Alert: Instance Retirement'
)
# Handle RDS maintenance
elif 'RDS_MAINTENANCE' in event_type:
# Handle RDS maintenance scheduling
pass
return {'statusCode': 200, 'body': 'Processed successfully'}
Multi-Region Health Architecture
+------------------------------------------------------------------+
| |
| +------------------------+ |
| | AWS Health Service | |
| +------------------------+ |
| | |
| +---------------------+---------------------+ |
| | | | | |
| v v v v |
| +----------+ +----------+ +----------+ +----------+ |
| | us-east-1| | us-west-2| | eu-west-1| | ap-south-1| |
| | Events | | Events | | Events | | Events | |
| +----------+ +----------+ +----------+ +----------+ |
| | | | | |
| +---------------------+---------------------+ |
| | |
| v |
| +------------------------+ |
| | Centralized Event | |
| | Aggregator | |
| +------------------------+ |
| | |
| +---------------------+---------------------+ |
| | | | |
| v v v |
| +----------+ +----------+ +----------+ |
| | Dashboard| | Alerting | | Remediation |
| | | | System | | Automation |
| +----------+ +----------+ +----------+ |
| |
+------------------------------------------------------------------+

Health Dashboard Integration with ServiceNow

Section titled “Health Dashboard Integration with ServiceNow”
import requests
import json
def create_servicenow_incident(health_event):
"""
Create ServiceNow incident from AWS Health event
"""
servicenow_url = "https://your-instance.service-now.com/api/now/table/incident"
# Map AWS Health event to ServiceNow incident
incident_data = {
"short_description": f"AWS Health: {health_event['eventTypeCode']}",
"description": health_event.get('eventDescription', ''),
"urgency": "1" if health_event['eventTypeCategory'] == 'issue' else "2",
"impact": "2" if health_event['eventTypeCategory'] == 'issue' else "3",
"category": "Infrastructure",
"subcategory": "AWS",
"cmdb_ci": "AWS Infrastructure",
"work_notes": f"AWS Event ARN: {health_event['arn']}\n"
f"Service: {health_event['service']}\n"
f"Region: {health_event['region']}"
}
response = requests.post(
servicenow_url,
auth=('username', 'password'),
headers={"Content-Type": "application/json"},
data=json.dumps(incident_data)
)
return response.json()

AWS Health Best Practices
+------------------------------------------------------------------+
| |
| 1. Set up automated notifications |
| +------------------------------------------------------------+ |
| | - Use CloudWatch Events for automated alerts | |
| | - Route to SNS, Slack, or PagerDuty | |
| +------------------------------------------------------------+ |
| |
| 2. Monitor scheduled changes |
| +------------------------------------------------------------+ |
| | - Review upcoming maintenance | |
| | - Plan for instance retirements | |
| +------------------------------------------------------------+ |
| |
| 3. Implement automated remediation |
| +------------------------------------------------------------+ |
| | - Use Lambda for automatic response | |
| | - Replace retired instances automatically | |
| +------------------------------------------------------------+ |
| |
| 4. Review affected resources |
| +------------------------------------------------------------+ |
| | - Identify impacted resources | |
| | - Take proactive action | |
| +------------------------------------------------------------+ |
| |
| 5. Maintain support plan |
| +------------------------------------------------------------+ |
| | - Business or Enterprise for Health API access | |
| | - Enhanced support response | |
| +------------------------------------------------------------+ |
| |
+------------------------------------------------------------------+

Exam Tip

Key Exam Points
+------------------------------------------------------------------+
| |
| 1. Personal Health Dashboard shows account-specific events |
| |
| 2. Service Health Dashboard shows public AWS status |
| |
| 3. Health API requires Business or Enterprise Support |
| |
| 4. CloudWatch Events can trigger on Health events |
| |
| 5. Event types: issue, accountNotification, scheduledChange |
| |
| 6. Affected entities show your impacted resources |
| |
| 7. Scheduled changes include instance retirements |
| |
| 8. Use Lambda for automated remediation |
| |
| 9. SNS can send notifications for Health events |
| |
| 10. Health events are region-specific |
| |
+------------------------------------------------------------------+

Chapter 40 Summary
+------------------------------------------------------------------+
| |
| AWS Health Dashboard |
| +------------------------------------------------------------+ |
| | - Service Health: Public AWS status | |
| | - Personal Health: Account-specific alerts | |
| | - Event Log: Historical events | |
| +------------------------------------------------------------+ |
| |
| Event Categories |
| +------------------------------------------------------------+ |
| | - issue: Active service problems | |
| | - accountNotification: Account-specific notices | |
| | - scheduledChange: Planned maintenance | |
| +------------------------------------------------------------+ |
| |
| Integration |
| +------------------------------------------------------------+ |
| | - CloudWatch Events for automation | |
| | - SNS for notifications | |
| | - Lambda for remediation | |
| +------------------------------------------------------------+ |
| |
+------------------------------------------------------------------+

Previous Chapter: Chapter 39: Amazon OpenSearch Service - Log Analytics Next Part: Part 9: Infrastructure as Code & Automation