AWS Shield provides DDoS protection at two tiers. Shield Standard defends against Layer 3/4 attacks automatically. Shield Advanced extends protection with enhanced detection, SRT access, cost protection, and application-layer (Layer 7) mitigation.
Shield Standard is free and automatic for all AWS customers, covering Layer 3/4 for CloudFront, Route 53, and Global Accelerator. Shield Advanced ($3,000/month, 1-year commitment) extends to EC2, ELB with Layer 7 mitigation, SRT access, and cost protection.
Attack note: Shield Standard only covers Layer 3/4. Attackers target Layer 7 specifically against Standard-only customers.
Protects against UDP reflection, SYN floods, DNS amplification, HTTP request floods, and HTTP/2 rapid reset attacks. An attacker with account access can disable protections, remove health checks, or disassociate SRT access.
Attack note: An attacker with account access can disable Shield Advanced protections, turning an account compromise into a DDoS amplifier.
Shield Standard is automatic and free, reducing baseline risk. However, organizations without Shield Advanced lack application-layer DDoS protection, cost protection, and SRT access. The $3,000/month cost leads many to skip it, leaving them exposed to sophisticated DDoS attacks.
aws shield get-subscription-stateaws shield describe-subscriptionaws shield list-protectionsaws shield list-attacks \
--start-time FromInclusive=2026-01-01T00:00:00Z,ToExclusive=2026-03-30T00:00:00Zaws shield describe-drt-accessaws shield describe-emergency-contact-settingsKey insight: Shield compromise is most dangerous when combined with an external DDoS attack — removing protections before the attack maximizes impact.
aws shield delete-protection \
--protection-id abc123-def456aws shield disassociate-health-check \
--protection-id abc123-def456 \
--health-check-arn arn:aws:route53:::healthcheck/12345678-abcd-efgh-ijkl-123456789012aws shield disable-proactive-engagementaws shield disassociate-drt-roleaws shield update-emergency-contact-settings \
--emergency-contact-list EmailAddress=attacker@evil.comaws shield update-subscription \
--auto-renew DISABLED{
"Effect": "Allow",
"Action": "shield:*",
"Resource": "*"
}Allows creating/deleting subscriptions, removing protections, revoking DRT access, and disabling proactive engagement. An attacker can fully dismantle DDoS defenses.
{
"Effect": "Allow",
"Action": [
"shield:Describe*",
"shield:List*",
"shield:GetSubscriptionState"
],
"Resource": "*"
}Grants visibility into Shield protections, attack events, and protected resource status without the ability to modify DDoS defenses.
{
"Sid": "PreventShieldDisable",
"Effect": "Deny",
"Action": [
"shield:DeleteProtection",
"shield:DeleteSubscription",
"shield:DisableProactiveEngagement",
"shield:DisassociateDRTRole",
"shield:DisassociateHealthCheck",
"shield:DisableApplicationLayerAutomaticResponse"
],
"Resource": "*",
"Condition": {
"ArnNotLike": {
"aws:PrincipalArn": "arn:aws:iam::*:role/ShieldAdmin"
}
}
}Prevents anyone except a dedicated ShieldAdmin role from disabling protections. Deploy as an SCP in AWS Organizations.
{
"Effect": "Allow",
"Action": [
"shield:DeleteProtection",
"shield:DisassociateHealthCheck",
"shield:DisableProactiveEngagement"
],
"Resource": "*"
}These permissions allow removing all DDoS protections, blinding detection, and preventing SRT proactive response.
Add explicit protections to every CloudFront distribution, ALB, Elastic IP, Global Accelerator, and Route 53 hosted zone.
aws shield create-protection \
--name "prod-alb-protection" \
--resource-arn arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/prod-alb/1234567890123456Health checks enable faster, more accurate detection and are required for proactive engagement.
aws shield associate-health-check \
--protection-id abc123-def456 \
--health-check-arn arn:aws:route53:::healthcheck/12345678-abcd-efgh-ijkl-123456789012Allow the SRT to contact you proactively during detected events. Configure security team contacts.
aws shield enable-proactive-engagementGive the SRT access to help during attacks without over-privileging. Associate WAF log buckets.
aws shield associate-drt-role \
--role-arn arn:aws:iam::123456789012:role/AWSSRTAccessRoleRequires an AWS WAF web ACL associated with the protected resource. Blocks Layer 7 attacks automatically.
aws shield enable-application-layer-automatic-response \
--resource-arn RESOURCE_ARN \
--action Block={}Group related resources so Shield Advanced can detect distributed attacks across multiple endpoints.
aws shield create-protection-group \
--protection-group-id "prod-web-tier" \
--aggregation SUM \
--pattern ARBITRARY \
--members RESOURCE_ARNIn AWS Organizations, use Firewall Manager Shield Advanced policies to automatically protect resources across all accounts.
Use SCPs in AWS Organizations to prevent unauthorized removal of DDoS protections, health checks, and SRT access.
AWS Shield / Shield Advanced Security Card • Toc Consulting
Always obtain proper authorization before testing. DDoS testing requires prior AWS approval.