Profile Applicability:
- Level 2
Description:
A recovery drill is the execution of a controlled disaster recovery scenario to verify the effectiveness of the recovery plan, infrastructure, and configurations without impacting production workloads. AWS Elastic Disaster Recovery (EDR) allows you to launch test recovery instances in an isolated environment to simulate a failover and validate readiness.
Rationale:
Executing recovery drills ensures:
Your disaster recovery strategy works in practice, not just in theory
Infrastructure, IAM roles, networking, and data replication are correctly configured
Staff are familiar with failover and recovery processes
Recovery Point Objectives (RPO) and Recovery Time Objectives (RTO) are achievable
Default Value:
Recovery drills are not automatically executed. They must be manually triggered by an administrator as needed.
Impact:
Pros:
• Confirms operational readiness of DR plan
• Identifies misconfigurations or gaps in recovery setup
• Allows testing without impacting production environments
Cons:
• Consumes temporary resources, leading to potential costs
• Requires careful isolation to avoid conflict with live systems
• Needs periodic scheduling and documentation
Pre-requisites:
IAM Permissions Required:
drs:StartRecovery
drs:DescribeJobs
drs:DescribeRecoveryInstances
ec2:Describe*, ec2:RunInstances
sns:Publish (for notifications, if used)
Remediation:
Test Plan:
Using AWS Console:
- Log in to the AWS Management Console
- Navigate to Elastic Disaster Recovery (EDR)
- Select a source server and initiate a Recovery drill (test mode)
- Ensure the recovery instance is launched into a test subnet or VPC
- Check the job status under the Jobs section
- Confirm the recovery instance is launched, accessible, and functioning as expected
Using AWS CLI:
aws drs describe-source-servers aws drs describe-recovery-instances aws drs describe-jobs
Implementation Plan:
Using AWS Console:
- Navigate to Elastic Disaster Recovery Console
- Select a source server and click on Initiate Recovery Job
- Choose Test recovery mode
- Configure the launch settings (e.g., instance type, test VPC/subnet, tags)
- Launch the test instance and verify its availability
- Perform basic functionality tests on the recovery instance
- After validation, terminate the test recovery instance
Using AWS CLI:
aws drs start-recovery \ --source-server-ids s-xxxxxxxxxxxxxxxxx \ --recovery-snapshot-id snap-xxxxxxxxxxxxxxx \ --is-drill aws drs describe-jobs aws drs describe-recovery-instances aws drs terminate-recovery-instances \ --recovery-instance-ids ri-xxxxxxxxxxxxxxxxx
Backout Plan
Using AWS Console:
- Terminate the recovery drill instance via the Recovery Instances tab
- Verify that no residual resources (EBS volumes, ENIs) remain
- Reset any temporary configuration changes made for the test
Using AWS CLI:
aws drs terminate-recovery-instances \ --recovery-instance-ids ri-xxxxxxxxxxxxxxxxx aws ec2 delete-tags \ --resources i-xxxxxxxxxxxxxxxxx \ --tags Key=Environment,Value=Test