Well-Architected Framework: Health-Related Pillars
The AWS Well-Architected Framework provides best practices for building secure, high-performing, resilient, and cost-efficient cloud architectures. Several pillars directly address aspects of system health.
Focus Area: Ensuring systems recover from failures and meet demand. Key Focus Areas: Fault tolerance, auto-scaling, and backup strategies. Design Principles: Test recovery procedures (e.g., simulate failures with chaos engineering), automatically recover from failure (e.g., using Auto Scaling Groups and Multi-AZ deployments), scale horizontally and distribute traffic, and stop guessing infrastructure capacity requirements (e.g., use services like AWS Elastic Load Balancing and DynamoDB Auto Scaling for automatic scaling).
This pillar focuses on running and monitoring systems efficiently. Design Principles include anticipating failure (e.g., test disaster recovery scenarios) and learning from all failures (e.g., use post-incident reviews to understand failure causes). Key Topics: Managing and automating changes, responding to events, defining operational standards. Goal: Deliver business value and continuously improve supporting processes.
Focus Area: Protecting data and systems. Design Principles include preparing for security events. Goal: Protect and monitor information, systems, and assets; deliver business value through risk assessment and mitigation. Key Topics: Privilege management, security event detection, system protection, data confidentiality and integrity protection.
Goal: Minimize environmental impact (carbon emissions, energy consumption, waste). Key Topics: Understanding service impacts, quantifying impacts across the workload lifecycle, applying design principles to reduce impacts. This pillar relates to the 'health' of the environment due to cloud operations.
Disaster Recovery (DR) Concepts
Disaster recovery aims to ensure business continuity by minimizing financial losses, maintaining customer trust, and complying with industry regulations by restoring systems and data after a disaster.
An event that disrupts normal business operations and data access. This includes, but is not limited to, regional power outages, massive cyberattacks (e.g., ransomware), and natural disasters.
The maximum acceptable delay between the interruption of a service and its restoration after a disaster. It answers the question: “How much time can we afford for a system to be down?” Measured in minutes, hours, or days. Lower RTO generally results in higher costs and complexity.
The maximum acceptable amount of data loss after a disaster, measured in terms of time. It answers the question: “How much data can we afford to lose?” Measured in seconds, minutes, or hours. Lower RPO generally results in higher costs and complexity.
AWS Disaster Recovery Strategies
comparison-table
AWS offers four primary DR strategies, representing a spectrum of cost versus performance (RTO/RPO).
Different strategies offer trade-offs between cost and the speed/amount of recovery.
| Option |
Description |
RTO (Recovery Time Objective) |
RPO (Recovery Point Objective) |
Cost |
Suitability |
| Backup and Restore |
Regular backups stored in durable storage (e.g., S3), replicated to a secondary region. New environment launched in DR region, data restored from backups. |
Long (hours to days) |
Dependent on backup frequency (hours) |
Lowest (pay for storage, no secondary compute) |
Non-critical workloads that can tolerate significant downtime. |
| Pilot Light |
A minimal, scaled-down version of the environment runs in the DR region, with core components (e.g., replica database) receiving continuous replication. Compute resources provisioned upon disaster. |
Faster than Backup and Restore (hours) |
Better than Backup and Restore (minutes or hours, near real-time data replication) |
Higher than Backup and Restore (paying for minimal always-on compute/networking) |
None |
| Warm Standby |
A fully functional, scaled-down copy of the production environment runs in the DR region. Data replicated in near real-time. Resources scaled up upon disaster. |
Very fast (minutes) |
Excellent (minutes) |
Higher than Pilot Light (paying for almost a full parallel environment) |
None |
| Multi-Site (Active-Active) |
An identical, full-scale production environment runs in two different AWS regions simultaneously. Traffic routed between sites, data replicated synchronously. |
Seconds to minutes (virtually no downtime) |
Near zero (lose almost no data) |
Highest (running two full parallel environments) |
Business-critical applications where any downtime is unacceptable. |
High Availability and Fault Tolerance Fundamentals
High Availability and Fault Tolerance are critical for ensuring continuous operation and resilience of cloud workloads.
Designing systems for continuous operation and accessibility with minimal downtime. Objective: To remain operational even during failures (server crashes, hardware faults, availability zone outages). AWS Implementation: Deploying applications across multiple Availability Zones (AZs) and running applications on multiple EC2 instances across at least two AZs. Automatic traffic routing to healthy instances in other AZs if one fails. Benefits: Minimizes single points of failure, helps meet Service Level Agreements (SLAs).
The ability of a system to continue operating properly even if one or more components fail, aiming for zero downtime. Built with redundancy. AWS Example: Data stored in an S3 bucket is replicated across three AZs, ensuring access even if two AZs fail simultaneously.
Multi-AZ is for High Availability within a single AWS region, protecting against infrastructure failures within one Availability Zone, with automatic failover (seconds). Multi-Region is for Disaster Recovery, protecting against entire regional outages (natural disasters, etc.), with manual or automated redirection of traffic to a DR region.
Monitoring and Alarming Services for Health
AWS provides a suite of services for monitoring, threat detection, and compliance to maintain the health and security of your environment.
Effective monitoring and alerting are foundational for identifying and responding to health and security events.
Amazon CloudWatch Agent
An indispensable tool for gaining a complete picture of your infrastructure’s health and performance. It collects system-level (e.g., memory, disk space) and application-specific metrics and logs, extending CloudWatch's reach beyond default metrics. This empowers proactive issue detection, performance optimization, and robust troubleshooting.
supported_environments
Amazon EC2 (Linux, Windows, macOS), hybrid environments (Azure, GCP VMs, on-premise workloads)
Use Cases:
- Monitoring RAM usage and available disk space
- Custom log file monitoring
- Creating custom metrics with unique namespaces
Amazon CloudWatch Composite Alarms
Allows combining multiple alarms into logical conditions. This triggers an action only when all specified conditions are met, reducing false alarms and ensuring action is taken only when necessary.
Use Cases:
- Triggering an alarm only when CPU utilization > 50% AND read IOPS are high simultaneously.
Amazon GuardDuty
An intelligent threat detection service that continuously monitors for malicious activity and unauthorized behavior to protect AWS accounts. It automatically monitors AWS accounts for compromised EC2 instances, unusual S3 activities, or crypto mining. It's designed for continuous monitoring.
Use Cases:
- Detecting ongoing malicious behavior
- Monitoring for unauthorized API calls
Amazon Detective
Aids in investigating security incidents identified by GuardDuty. It analyzes billions of data points to investigate security incidents and potential threats, enabling forensic investigations and root cause analysis through graph modeling.
Use Cases:
- Visual investigation of threats
- Understanding incident impact
Amazon Inspector
An automated vulnerability management service that continuously assesses EC2 instances, container images in Amazon ECR, and AWS Lambda functions for software vulnerabilities and unintended network exposures. It uses a continuously updated database of known vulnerabilities (CVEs) and provides risk scores to prioritize remediation. It also ensures servers are patched and secure against known exploits.
trial_period
15-day free trial
Use Cases:
- Proactive security assessment
- Compliance auditing
- DevSecOps integration (scanning container images)
Amazon Macie
A fully managed data security service designed to discover and protect sensitive data within Amazon S3. It uses machine learning and pattern matching to identify and classify sensitive data (PII, PHI, financial data). It addresses the 'data blind spot' in S3, solving security and compliance risks. It generates detailed findings and integrates with Security Hub for centralized alerting and EventBridge for automated actions.
Use Cases:
- Meeting compliance (GDPR, HIPAA) for sensitive data in S3
- Identifying publicly accessible S3 buckets with sensitive data
- Auditing data lakes for access policy adherence
AWS CloudTrail
A 'black box recorder' for an AWS account, capturing actions performed via the console, CLI, SDKs, and other AWS services. It provides an audit trail for security, compliance, and data governance, helping diagnose why systems stopped working. Logs are encrypted at rest and in transit. It stores the past 90 days of event history for free and can be configured for long-term retention to S3 for immutable audit trails. It integrates with CloudWatch Logs for real-time alerts on specific activities.
free_event_history_retention
90 days (management events)
log_delivery_time
Within approximately 5 minutes
Use Cases:
- Security analysis and auditing (e.g., who deleted a file)
- Troubleshooting system failures by analyzing changes
- Compliance auditing for regulatory requirements
- Proactive monitoring and automated response (e.g., quarantining compromised IAM users)
Data Protection and Backup
Robust data protection and backup strategies are essential for business continuity and compliance.
AWS offers multiple services and features to back up, encrypt, and secure data.
AWS Backup
A centralized, managed service to simplify and automate backup and recovery processes across various AWS services. It provides a unified solution for defining, applying, and managing backup policies, retention, and lifecycle. Key features include policy-based orchestration (Backup Plans), continuous backup for near-zero RPO, restoration point testing, tag-based backup, and malware protection.
supported_services
Amazon EC2, EBS, EFS, S3, RDS (including Aurora), DynamoDB, Neptune, DocumentDB, FSx file systems, VMware workloads, CloudFormation
Use Cases:
- Compliance and auditing
- Operational efficiency (automating schedules)
- Disaster recovery (cross-region replication)
- Ransomware protection (Vault Lock)
AWS Backup Vault Lock
Enforces immutability for backups, implementing a 'write once, read many' (WORM) model. It prevents deletion or alteration of backup recovery points until their defined retention period expires, even by the AWS account root user. This is crucial for meeting strict regulatory compliance and protecting against insider threats or ransomware.
Use Cases:
- Meeting strict regulatory compliance
- Protecting against insider threats or ransomware
Amazon S3 Versioning
Saves multiple versions of an object, creating a history of changes. When a new object with the same key is uploaded, a new version is created. Deleting an object adds a 'delete marker'; older versions remain and can be restored. This protects against accidental overwrites or deletions and is a prerequisite for S3 bucket replication.
Use Cases:
- Protecting against accidental overwrites or deletions
Amazon S3 Object Lock
Enforces a Write Once, Read Many (WORM) model to prevent objects from being overwritten or deleted. It helps meet regulatory compliance (e.g., HIPAA, SEC) and protects against accidental deletion or ransomware attacks. It requires S3 versioning to be enabled on the bucket.
retention_modes
Governance Mode (most users prevented, specific IAM permission can bypass), Compliance Mode (absolute protection; no user, not even root, can delete/modify until retention expires)
Use Cases:
- Regulatory compliance (HIPAA, SEC)
- Protection against accidental deletion
- Ransomware attacks
Amazon S3 MFA Delete
Uses Multi-Factor Authentication (MFA) to protect against accidental or malicious permanent object deletion. It requires an MFA code for critical actions on an S3 bucket with versioning enabled, such as permanently deleting an object or disabling/suspending versioning. It can only be enabled using AWS CLI by the root user.
Use Cases:
- Preventing wiping of S3 buckets even if AWS credentials are compromised
Amazon S3 Object Replication
Automatically copies objects from a source bucket to a destination bucket asynchronously. This can be Cross-Region Replication (CRR) for disaster recovery and low latency for global users, or Same-Region Replication (SRR) for log aggregation or compliance. Both source and destination buckets must have versioning enabled.
Use Cases:
- Disaster recovery (alternate region)
- Low latency for global users
- Regulatory compliance (multiple data copies)
Amazon DynamoDB Point-in-Time Recovery (PITR)
Provides continuous backups, maintaining incremental backups for 35 days. It is system-level and held in an AWS-managed account, preventing deletion even if the AWS account is compromised. Restoring from PITR always creates a new table.
retention_period
35 days (incremental backups)
Amazon DynamoDB On-Demand Backups
Creates a full backup of a table. It is for long-term retention or compliance, stored in an encrypted backup vault or by DynamoDB directly. On-demand backups are taken as a background task and do not affect table performance. Restoring from on-demand backups always creates a new table.
Use Cases:
- Long-term retention
- Compliance
Amazon RDS Automatic Backups
Enabled by default, performing a daily backup during a defined backup window. Transaction logs are continuously uploaded to Amazon S3 every 5 minutes. Point-in-Time Recovery is achieved by combining transaction logs and daily backups, allowing restoration to any second within the retention period.
frequency
Daily
transaction_log_upload_frequency
Every 5 minutes
retention_period
1 to 35 days (default 7 days in console, 1 day in API/CLI)
Amazon RDS Manual Backups (Snapshots)
Offers more control over backup strategy. They persist until explicitly deleted and are not subject to automated retention periods, useful for long-term retention and compliance. For multi-instance database clusters, a manual snapshot captures the entire cluster. Snapshots are incremental after the first full copy.
Use Cases:
- Long-term retention
- Compliance
Amazon Aurora Backtrack
Rewinds a database to any point in time within a configured period (up to 72 hours) without relying on traditional backups, minimizing data loss from user errors.
rewind_period
Up to 72 hours
Use Cases:
- Minimizing data loss from user errors
Amazon Aurora Continuous Data Protection
Enables continuous data backups with a user-defined retention period (up to 35 days), ensuring data is always protected without impacting database performance or availability.
retention_period
Up to 35 days
Use Cases:
- Ensuring data is always protected
Amazon Aurora Global Database for Disaster Recovery
A single Aurora database spanning multiple AWS regions, designed for global applications to provide low-latency local reads and disaster recovery. In case of full region outage, a secondary region can be promoted to primary, with RPO typically < 1 second and RTO typically < 1 minute.
replication_latency
Typically less than 1 second (storage layer)
unmanaged_failover_rpo
< 1 second
unmanaged_failover_rto
< 1 minute
Use Cases:
- Disaster recovery for global applications
- Low-latency local reads
Application Health and Resilience
AWS provides numerous services to ensure applications remain healthy, available, and performant.
Maintaining application health involves proactive monitoring, automated scaling, and intelligent traffic management.
Amazon EC2 Autoscaling Group (ASG)
A collection of EC2 instances treated as a logical grouping for auto-scaling and management. It automatically adjusts the number of servers based on application traffic (scales out during high demand, scales in during low traffic). It also automatically replaces unhealthy instances, contributing to high availability.
Use Cases:
- Handling peak traffic bursts without manual intervention
- Replacing unhealthy instances automatically
- Cost optimization by paying only for what is used
Elastic Load Balancer (ELB) Health Checks
Load balancers (ALB, NLB, Classic Load Balancer) perform continuous health checks on backend EC2 instances. If an instance fails a health check, the load balancer marks it as unhealthy and stops sending new requests. The Auto Scaling group then launches a replacement instance, ensuring desired capacity and application availability.
Use Cases:
- Distributing traffic only to healthy instances
- Automatically replacing unhealthy instances in an ASG
Connection Draining (Deregistration Delay)
A feature in Elastic Load Balancers ensuring in-flight requests complete before an instance is deregistered, marked unhealthy, or terminated. This prevents data loss or errors for ongoing user requests. Configurable from 0 to 3,600 seconds (default 300 seconds).
timeout_duration
0 to 3,600 seconds (default 300 seconds)
Use Cases:
- Preventing user errors during instance termination or scaling events
- Ensuring smooth experience during deployments or maintenance
API Gateway Canary Deployments
A risk-mitigation strategy to introduce new API versions to a production environment by gradually shifting a small percentage of traffic to the new version. This allows for detection of bugs, performance issues, or unexpected behavior in a controlled manner before a full rollout. It requires comprehensive monitoring and a plan for automated rollbacks if issues are detected.
Use Cases:
- Testing new API versions with a subset of live production traffic
- Gradual rollout of new features
- Minimizing risk of widespread disruption
Data Ingestion Workflow Reliability
For data ingestion workflows using Lambda that occasionally fail due to network connectivity issues, modifying the Lambda function’s configuration to increase CPU and memory allocations can help functions complete tasks more robustly.
Use Cases:
- Improving robustness of Lambda functions against transient network issues
Amazon DataSync Data Integrity
Guarantees data integrity through end-to-end verification and checksums during large-scale data transfers.
Use Cases:
- Ensuring data integrity during migration to AWS storage services
Amazon Aurora Multi-Master (Single Region)
A single-region solution providing multiple read/write instances within the same Aurora cluster across different Availability Zones. All instances can accept writes, providing extremely high availability for write operations. Supported for older MySQL-compatible Aurora versions.
Use Cases:
- Extremely high availability for write operations within a single region
Security and Compliance for Operational Health
Maintaining a strong security and compliance posture is fundamental to the operational health of any AWS environment.
AWS provides services that help define, enforce, and audit security and compliance rules.
IAM Access Analyzer
Helps identify resources (IAM roles, S3 buckets, KMS keys, Secrets Manager secrets, SQS queues, Lambda resource-based policies) that can be accessed publicly or from external AWS accounts. It uses automated reasoning to proactively identify security risks. It also detects unused access (permissions not used in the last 90-365 days) to help enforce the principle of least privilege.
external_access_analyzer_pricing
Free of cost
unused_access_analyzer_pricing
$0.20 per IAM user and role per month (no free tier)
default_tracking_period_for_unused_access
90 days (configurable 1-365 days)
Use Cases:
- Detecting unintended external or public access to resources
- Identifying and reducing overly permissive IAM roles and permissions
AWS Security Hub
A centralized management dashboard that aggregates security findings from various AWS security services (GuardDuty, Inspector, Macie, etc.) into a single pane of glass, providing a consolidated view of your security state.
Use Cases:
- Centralized view of security alerts and compliance status
AWS Shield
Provides Distributed Denial of Service (DDoS) protection. Shield Standard is automatically enabled for all AWS customers at no extra cost, offering basic protection. Shield Advanced offers higher-level protection, support from specialized AWS DDoS response teams, and financial compensation (chargeable).
shield_standard_pricing
Free
shield_advanced_pricing
Chargeable
Use Cases:
- Automatic mitigation of large-scale DDoS attacks
AWS Network Firewall
A managed, stateful firewall service operating at Layer 3 and Layer 4. It provides granular stateful inspection for traffic entering or leaving a VPC, equivalent to an on-premises inspection server.
Use Cases:
- Centralized network inspection with granular control across multiple VPCs
- Replicating on-premises traffic flow inspection and filtering functionalities in a production VPC
AWS Web Application Firewall (WAF)
Protects web applications at Layer 7 (Application Layer) from common web exploits like SQL injection and cross-site scripting. It can protect CloudFront distributions, Application Load Balancers, or API Gateways.
Use Cases:
- Protecting web applications from common web exploits
AWS Firewall Manager
A centralized tool for configuring and managing firewall rules across multiple AWS accounts and VPCs within an AWS Organization. It enforces standard WAF rule sets.
Use Cases:
- Centralized management of firewall rules across an AWS Organization
AWS Certificate Manager (ACM)
Provisions, manages, and renews SSL/TLS certificates for securing network communication. It handles automatic renewal and provides TLS certificates at no extra cost.
Use Cases:
- Securing Application Load Balancers or CloudFront distributions with HTTPS
- Managing TLS certificates with auto-rotation
AWS Secrets Manager Automatic Rotation
Manages application secrets (API keys, database passwords) with a key feature being automatic secret rotation, enhancing security posture and compliance. It natively integrates with Aurora and RDS MySQL for automatic rotation.
Use Cases:
- Rotating credentials securely without modifying application code
- Minimizing credential management operational overhead for multi-region RDS
S3 Block Public Access
A critical security feature for S3 buckets designed to prevent accidental or intentional exposure of data to the public internet. It can be configured at the individual bucket level or the entire AWS account level.
granular_control_settings
4 granular settings including blocking public access through new/any ACLs and new/any public bucket policies/access point policies.
Use Cases:
- Preventing accidental public exposure of data in S3 buckets
Hybrid Environment Health Management
AWS Systems Manager (SSM) extends management capabilities to hybrid environments, ensuring operational health across diverse compute nodes.
When configuring a non-admin IAM user and group for Systems Manager to manage on-premise or other cloud VMs, policies for the group include 'AWS Health full access'. This allows for monitoring the health of AWS services and resources in the context of hybrid operations.
SSM can track the compliance status of infrastructure and view non-compliant instances across hybrid environments, including automated operating system and software patching via Patch Manager.
A highly scalable, managed disaster recovery service for hybrid environments, designed to meet strict RTO and RPO requirements. It works via continuous block-level data replication from on-premises, other clouds, or one AWS region to another. It enables non-disruptive tests for DR readiness and periodic recovery/failback drills.
Ongoing Maintenance and Monitoring for Health
procedure
Continuous monitoring and regular maintenance are crucial for ensuring the long-term health and performance of AWS deployments.
Implement a routine for daily monitoring, weekly maintenance, and monthly maintenance tasks to proactively manage the health of your application.
Prerequisites
- AWS CloudWatch alarms configured
- AWS Cost Explorer access
1
Perform Daily Monitoring Tasks
To identify and address immediate issues and ensure environment stability.
2
Check Elastic Beanstalk Health Dashboard
Monitor environment health (Green: OK, Yellow: Warning, Red: Error) and review CloudWatch logs for errors.
3
Monitor RDS Performance
Track CPU utilization (should be <50% for t4g.micro), database connections (should be <20 for t4g.micro), and disk usage (e.g., 20 GB allocated) to prevent bottlenecks.
4
Perform Weekly Maintenance Tasks
To proactively address potential issues, ensure compliance, and optimize costs.
5
Review CloudWatch alarms
Check if any alarms were triggered and investigate the root cause.
6
Check RDS automated backups
Ensure backups are running successfully and the 7-day retention policy is being met.
7
Review application logs for patterns
Identify recurring errors, performance issues, or unusual behavior.
8
Test disaster recovery
Periodically restore from backup to validate recovery procedures.
9
Perform Monthly Maintenance Tasks
For long-term optimization, security, and strategic planning.
10
Update Python dependencies
Apply security patches and leverage newer features.
11
Review and optimize database queries
Analyze slow query logs to improve database performance.
12
Perform load testing
Simulate peak user loads (e.g., 50 concurrent users) to assess system capacity and identify bottlenecks.
ab -n 100 -c 10 https://your-app-url.elasticbeanstalk.com/
13
Review and adjust auto-scaling policies
Ensure scaling policies align with current traffic patterns and performance requirements.