Shieldadvanced
AWSOfficialPublished by AWS
- Skill
- Tool integration
- Cloud and DevOps
- Apache-2.0
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides domain expertise and procedural guidance for managing AWS Shield Advanced, the premium tier for DDoS protection on AWS. It acts as a central router to specific, self-contained reference procedures for subscribing accounts, protecting resources, enabling automatic application-layer mitigation, configuring health-based detection, managing Shield Response Team (SRT) support, reviewing DDoS events, and creating protection groups. The skill emphasizes the importance of defense-in-depth by integrating with AWS WAF and Route 53, while providing necessary security considerations for IAM roles and log management.
What it does
- Routes users to specific procedures for Shield Advanced configuration tasks.
- Guides the subscription process and addition of resources to Shield Advanced protection.
- Facilitates the setup of automatic layer 7 mitigation via AWS WAF integration.
- Configures health-based detection using Route 53 health checks to improve attack detection accuracy.
- Manages Shield Response Team (SRT) access and proactive engagement settings.
- Assists in reviewing DDoS events and requesting cost protection credits.
When to use it
- When you need to implement enhanced DDoS protection for internet-facing resources like CloudFront or ALBs.
- When you require expert assistance from the Shield Response Team during an active attack.
- When you need to recover costs associated with attack-driven scaling.
- When you want to tune detection sensitivity by grouping related resources.
- When you need to integrate health-based detection to reduce false positives.
Advantages
- Provides a structured, task-based approach to complex security configurations.
- Ensures security best practices by mandating audit logging and least-privilege access.
- Clarifies the distinction between detection-only features and active mitigation controls.
- Reduces configuration errors by providing specific constraints for each task.
- Centralizes guidance for both operational setup and post-event analysis.
Usage examples
- “How do I subscribe my AWS account to Shield Advanced?”
- The agent will route you to the specific reference procedure for subscribing and protecting resources, ensuring you follow the correct sequence of operations.
- “I want the Shield Response Team to help me during an attack.”
- The agent will guide you through setting up SRT support and proactive engagement, including the prerequisite of configuring a valid Route 53 health check.
- “How can I group my load balancers for better DDoS detection?”
- The agent will provide the procedure for creating a protection group and help you decide between sum, mean, or max aggregation based on your traffic topology.
- “Can I use Shield Advanced to automatically block layer 7 floods?”
- The agent will direct you to the procedure for enabling automatic application layer mitigation, which involves configuring AWS WAF rules to respond to detected threats.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/aws/shieldadvanced/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip shieldadvanced.zip -d .agents/skills
Documentation by AWS
AWS Shield Advanced
Overview
Domain expertise for configuring AWS Shield Advanced, the paid tier that adds enhanced Distributed Denial of Service (DDoS) protection, automatic application layer mitigation, attack visibility, expert support, and cost protection on top of the always-on AWS Shield Standard. Covers subscribing and protecting resources, automatic application layer mitigation, health-based detection, Shield Response Team (SRT) access and proactive engagement, event review and cost protection credits, and protection groups.
This skill is a router. Each customer task maps to a procedure file under references/. Read the
matching reference in full before acting, then follow its constraints and steps. The reference
files are self-contained: each carries its own decision tables, constraints, procedure, and
troubleshooting.
Execute commands using the AWS MCP server when connected (sandboxed execution, audit logging,
observability). Fall back to the AWS CLI otherwise. Shield Advanced is a global service: its
control-plane API calls run in us-east-1, so pass --region us-east-1 on every aws shield
command.
Which Shield Advanced task do you need?
| Goal | Reference |
|---|---|
| Decide whether Shield Advanced is needed at all (vs Shield Standard + AWS WAF) | deciding between Shield Standard and Advanced |
| Subscribe an account and add resources to protection | subscribing to Shield Advanced and protecting resources |
| Respond to layer 7 floods automatically through AWS WAF | enabling automatic application layer mitigation |
| Feed resource health into detection with a Route 53 health check | configuring health-based detection |
| Get the Shield Response Team to act or reach out during an attack | setting up SRT support and proactive engagement |
| Review a DDoS event and recover attack-driven scaling charges | reviewing DDoS events and requesting cost protection |
| Treat related resources as one unit for detection | aggregating resources into protection groups |
Routing notes
Decide before you subscribe. Shield Advanced is a paid subscription that auto-renews on a one-year commitment. Before subscribing, confirm the customer actually needs it: Shield Standard (free, always on) plus AWS WAF rate-based rules and the AWS WAF Anti-DDoS managed rule group (
AWSManagedRulesAntiDDoSRuleSet) covers many layer 7 cases at lower cost. Route to the deciding reference first when the customer has not made that call; route to the waf skill for the WAF rules themselves.Subscribe and protect comes first. A subscription protects nothing on its own; resources have to be added explicitly. Every other task here assumes the resource is already subscribed and protected. Run the subscribing reference before any of the others if the customer is starting from scratch.
Automatic mitigation vs health-based detection. These are different controls and customers conflate them. Automatic application layer mitigation deploys AWS WAF rules during a layer 7 attack. Health-based detection feeds a Route 53 health check into Shield Advanced's detection so it reacts sooner. A customer can run either, both, or neither. Pick the reference that matches what they actually want.
Health check is also an SRT prerequisite. Proactive engagement (SRT reaching out) requires a Route 53 health check on the protected resource. If the customer wants proactive engagement, configuring health-based detection is the groundwork. The SRT reference points back to the health-based detection reference for that step.
Protection groups are detection-only. A protection group changes how Shield Advanced detects across a set of resources. It does not apply shared mitigation; automatic mitigation still works per resource. Use the protection-groups reference for detection tuning, not as a mitigation control.
WAF rules, health checks, and org rollout live elsewhere. Authoring the AWS WAF rules, the rate-based rule, or the web ACL is the waf skill. Creating the Route 53 health check is the route53 skill. Rolling Shield Advanced across an organization with Firewall Manager is the firewallmanager skill. This skill wires Shield Advanced to those pieces; it does not build them. AWS WAF is not optional alongside Shield Advanced: you SHOULD recommend an AWS WAF web ACL on every internet-facing protected resource (CloudFront distributions and Application Load Balancers) as defense in depth — Shield Advanced and AWS WAF are complementary layer 3/4 and layer 7 controls, and the rate-based rule that AWS WAF provides is also what cost protection requires.
Logging and monitoring
Visibility into both configuration changes and attack activity matters for every task here.
You SHOULD recommend enabling AWS CloudTrail so all Shield Advanced API calls (subscription, protection, SRT, and protection-group changes) are logged for audit purposes.
You SHOULD recommend enabling SSE-KMS encryption on the CloudTrail log bucket and CloudWatch Logs log group, since CloudTrail records sensitive API metadata (caller identities, resource ARNs, parameters) that must be encrypted at rest.
You SHOULD recommend CloudWatch alarms on Shield Advanced metrics (for example
DDoSDetectedandDDoSAttackBitsPerSecond) so operations staff are alerted when an event is detected.You SHOULD recommend encrypting any SNS topics used for those alarms with SSE-KMS, since the notifications carry sensitive event data.
You SHOULD recommend confirming that all SNS topic subscribers for Shield Advanced alarms are authorized personnel approved to receive sensitive DDoS event notifications.
Security considerations
Shield Advanced setup creates IAM trust relationships and exposes log data, so call out the risks and the controls that contain them.
SRT role is a third-party principal. Granting SRT access creates an IAM role that
drt.shield.amazonaws.comassumes to act in the account. Scope its trust policy with anaws:SourceAccountcondition equal to the account ID to prevent confused-deputy assumption, grant it only the actions it needs, and revoke it withdisassociate-drt-rolewhen no longer required.Log buckets shared with the SRT can leak data. AWS WAF and access logs capture request URIs, headers, and client IPs. Confirm those buckets have server-side encryption and carry no clear-text PII or secrets before sharing them with the SRT.
Least privilege for the operator. Scope the caller's IAM permissions to the minimum each procedure needs rather than broad Shield or administrator access.
Audit trail. Keep AWS CloudTrail enabled and logging
shield:*calls so every configuration change leaves a record.
Additional Resources
Files
- ATTRIBUTION.mdAdded by AutoGineer939 B
- LICENSELicence file added by AutoGineer9.9 KiB
- NOTICELicence file added by AutoGineer67 B
- SKILL.md8.6 KiB
- references/aggregating-resources-into-protection-groups.md11.9 KiB
- references/configuring-health-based-detection.md12.8 KiB
- references/deciding-between-shield-standard-and-advanced.md11.7 KiB
- references/enabling-automatic-application-layer-mitigation.md12.6 KiB
- references/reviewing-ddos-events-and-requesting-cost-protection.md12.2 KiB
- references/setting-up-srt-support-and-proactive-engagement.md13.1 KiB
- references/subscribing-to-shield-advanced-and-protecting-resources.md11.7 KiB
references/setting-up-srt-support-and-proactive-engagement.md
Setting Up SRT Support and Proactive Engagement
Overview
Domain expertise for letting the AWS Shield Response Team (SRT) help during a Distributed Denial of Service (DDoS) attack, in two parts: granting the SRT access to act on the account's behalf, and enabling proactive engagement so the SRT contacts the team directly when an attack affects the application. Covers the Business or Enterprise Support plan precondition, the IAM role the SRT assumes, the Route 53 health check that proactive engagement requires, and the emergency contact guidance.
Does not cover subscribing and protecting resources, automatic mitigation, event review, or protection groups; those are separate references. Creating the Route 53 health check is the route53 skill, and configuring health-based detection has its own reference.
Execute commands using the AWS MCP server when connected (sandboxed execution, audit logging,
observability). Fall back to the AWS CLI otherwise. Shield Advanced control-plane calls run in
us-east-1; pass --region us-east-1 on every command.
Table of Contents
Overview
Workflow
Precondition: Business or Enterprise Support plan
Part 1: granting SRT access
Part 2: proactive engagement and its health check
Emergency contacts
Troubleshooting
Security considerations
Procedure
Additional Resources
Workflow
To set up SRT support and proactive engagement end to end, follow the procedure exactly. See the Procedure section below.
The procedure covers:
Confirming the account is on the Business or Enterprise Support plan
Granting SRT access through an IAM role with the managed policy and the right trust
For proactive engagement: confirming a Route 53 health check is associated and setting emergency contacts
Enabling proactive engagement and surfacing the console link
Precondition: Business or Enterprise Support plan
Both SRT access and proactive engagement require the Business or Enterprise Support plan. A Shield Advanced subscription alone does not grant SRT access. Customers on Developer or Basic plans configure access that cannot be used.
Constraints:
You MUST confirm the account is on the Business or Enterprise Support plan before configuring SRT access or proactive engagement
You MUST NOT lead the customer through SRT setup on a Developer or Basic plan; the access will not work
Part 1: granting SRT access
SRT access is an IAM role the SRT assumes. The role needs the AWSShieldDRTAccessPolicy managed
policy and a trust policy that allows drt.shield.amazonaws.com to assume it.
Constraints:
You MUST attach the
AWSShieldDRTAccessPolicymanaged policy to the roleYou MUST configure the role's trust policy to allow the
drt.shield.amazonaws.comservice principal to assume it, scoped with anaws:SourceAccountcondition equal to the customer's account ID to prevent confused-deputy assumption:{ "Effect": "Allow", "Principal": { "Service": "drt.shield.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" } } }You SHOULD grant the SRT access to the relevant log buckets (AWS WAF logs, load balancer access logs) so it can analyze traffic during an event, and MUST confirm those buckets have server-side encryption enabled before sharing them (SSE-KMS recommended for this sensitive third-party-accessed DDoS audit data, SSE-S3 at minimum) and that no sensitive PII or secrets are logged in clear text, since WAF and access logs capture request URIs, headers, and client IPs
You SHOULD confirm the shared log bucket's bucket policy includes a Deny statement with condition
{"Bool": {"aws:SecureTransport": "false"}}to enforce TLS for all access, so log data is protected in transit as well as at rest when the SRT or other principals access itYou SHOULD set this up before an attack, not during one, so the SRT can act when minutes matter
You SHOULD periodically audit the SRT role and
describe-drt-accessoutput and revoke it withdisassociate-drt-rolewhen no longer needed, since the role lets a third-party principal act in the account
Part 2: proactive engagement and its health check
Proactive engagement lets the SRT reach out when Shield detects an event affecting availability. It requires a Route 53 health check on each protected resource so the SRT has a health signal to act on.
Constraints:
You MUST confirm a Route 53 health check is associated with each protected resource before enabling proactive engagement; without it, proactive engagement does not work
You SHOULD point at the health-based detection reference to associate the health check if it is not already in place
You SHOULD note proactive engagement supports layer 3/4 events on Elastic IP addresses and Global Accelerator accelerators, and layer 7 web floods on CloudFront distributions and Application Load Balancers
Emergency contacts
A single email contact is not enough; an attack can arrive outside business hours with no one watching the inbox. The customer can configure up to ten contacts with notes.
Constraints:
You SHOULD configure more than one emergency contact, including a phone number, so the SRT can reach someone during an event
You SHOULD use the contact notes to guide the SRT on routing (for example, which contact to page first), especially for teams without a 24/7 operations center
You MUST keep contacts current; outdated contacts mean the SRT cannot reach the team during an attack
You MUST confirm that all emergency contacts are authorized personnel approved to receive and act on DDoS incident notifications before configuring them
Troubleshooting
SRT does not respond to an engagement
The account is on the wrong support plan. Business or Enterprise Support is required (Precondition).
Proactive engagement cannot be enabled
No Route 53 health check is associated with the protected resource. Associate one first (Part 2).
The SRT could not reach anyone during an attack
Emergency contacts are missing or stale. Configure multiple current contacts with a phone number (Emergency contacts).
The SRT cannot act on resources during an event
SRT access was never granted. Create the role with the managed policy and trust, and associate it (Part 1).
Security considerations
Setting up SRT support creates an IAM trust relationship with a third party and can expose log data, so call out the risks and the controls that contain them.
SRT role is a third-party principal. Granting SRT access creates an IAM role that
drt.shield.amazonaws.comassumes to act in the account. Scope its trust policy with anaws:SourceAccountcondition equal to the account ID to prevent confused-deputy assumption, and grant it only the actions it needs.Log buckets shared with the SRT can leak data. AWS WAF and access logs capture request URIs, headers, PII, and client IPs. Confirm those buckets have server-side encryption and carry no clear-text PII or secrets before sharing them with the SRT.
Keep emergency contacts current and authorized. Outdated contacts mean the SRT cannot reach the team during an attack; confirm all emergency contacts are authorized personnel approved to receive and act on DDoS incident notifications.
Audit and revoke SRT access. Periodically audit the SRT role and
describe-drt-accessoutput and revoke it withdisassociate-drt-rolewhen no longer needed, since the role lets a third-party principal act in the account.Audit trail. Keep AWS CloudTrail enabled and logging
shield:*calls so every SRT and proactive engagement configuration change leaves a record, and confirm the CloudTrail trail uses SSE-KMS encryption on its S3 log bucket and CloudWatch Logs log group, since CloudTrail records contain sensitive API metadata (caller identities, resource ARNs, parameters).
Procedure
Overview
This procedure grants SRT access and, optionally, enables proactive engagement with emergency contacts, then surfaces the console link to verify.
Parameters
srt_role_arn (required): The ARN of the IAM role the SRT will assume (with
AWSShieldDRTAccessPolicyand thedrt.shield.amazonaws.comtrust).log_buckets (optional): S3 buckets holding AWS WAF or access logs to grant the SRT.
enable_proactive (optional): Whether to enable proactive engagement.
emergency_contacts (required when enabling proactive engagement): Up to ten contacts, each with an email, ideally a phone number, and a contact note.
Constraints for parameter acquisition:
You MUST ask for all required parameters upfront in a single prompt
You MUST confirm the support plan and (for proactive engagement) the health check before changing anything
Steps
1. Verify dependencies
Constraints:
You MUST confirm credentials with
aws sts get-caller-identityYou SHOULD use temporary credentials from an assumed IAM role (for example via IAM Identity Center or an instance profile) rather than long-lived IAM user access keys for these security-sensitive Shield Advanced operations
You MUST confirm the account is on the Business or Enterprise Support plan
You SHOULD scope the caller's IAM permissions to the minimum this procedure needs (
shield:AssociateDRTRole,shield:AssociateDRTLogBucket,shield:DescribeDRTAccess,shield:UpdateEmergencyContactSettings,shield:EnableProactiveEngagement) rather than broad Shield or administrator accessYou SHOULD confirm AWS CloudTrail is enabled and logging
shield:*calls so every Shield Advanced configuration change leaves an audit trailYou SHOULD confirm the CloudTrail trail is configured with SSE-KMS encryption on its S3 log bucket and CloudWatch Logs log group, since CloudTrail records contain sensitive API metadata (caller identities, resource ARNs, parameters)
For proactive engagement, you MUST confirm a Route 53 health check is associated with each protected resource
2. Grant SRT access
Constraints:
You MUST associate the SRT role:
aws shield associate-drt-role --role-arn {srt_role_arn} --region us-east-1You SHOULD grant access to the log buckets where present:
aws shield associate-drt-log-bucket --log-bucket {log_bucket} --region us-east-1You MUST confirm each shared log bucket has server-side encryption enabled (SSE-S3 at minimum, SSE-KMS preferred), and when SSE-KMS is used the KMS key policy MUST grant the
drt.shield.amazonaws.comservice principalkms:Decryptso the SRT can read the logsYou SHOULD confirm the shared log bucket's bucket policy includes a Deny statement with condition
{"Bool": {"aws:SecureTransport": "false"}}to enforce TLS for all access, so log data is protected in transit as well as at rest when the SRT or other principals access itYou MUST confirm the configuration:
aws shield describe-drt-access --region us-east-1
3. (Optional) Set contacts and enable proactive engagement
Constraints:
You MUST set the emergency contacts before enabling proactive engagement:
aws shield update-emergency-contact-settings \ --emergency-contact-list '[{"EmailAddress":"[email protected]","PhoneNumber":"+15555555555","ContactNotes":"24/7 NOC - page first"}]' \ --region us-east-1You MUST enable proactive engagement only after a health check is associated:
aws shield enable-proactive-engagement --region us-east-1
4. Surface the console link
Constraints:
You MUST present the Shield overview console link and tell the customer to open it and confirm SRT access and, if enabled, proactive engagement status:
https://us-east-1.console.aws.amazon.com/wafv2/shieldv2#/overview
Example
Example input
{
"srt_role_arn": "arn:aws:iam::111122223333:role/ShieldDRTRole",
"log_buckets": ["app-waf-logs"],
"enable_proactive": true,
"emergency_contacts": [
{"email": "[email protected]", "phone": "+15555555555", "notes": "24/7 NOC - page first"}
]
}Example output
Confirmed Business Support plan.
Granted SRT access via role ShieldDRTRole and log bucket app-waf-logs.
Health check present, so enabled proactive engagement with 1 emergency contact.
Open the Shield console and confirm SRT access and proactive engagement:
https://us-east-1.console.aws.amazon.com/wafv2/shieldv2#/overviewTroubleshooting
SRT does not respond
Wrong support plan. Business or Enterprise Support is required (Step 1).
Proactive engagement will not enable
No Route 53 health check is associated. Associate one first (Step 1).
The SRT could not reach anyone
Emergency contacts are stale or missing. Set multiple current contacts with a phone number (Step 3).
Additional Resources
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs an MCP server
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- AWS
- Publisher
- AWS (Official)
- Source
- aws/agent-toolkit-for-aws · skills/specialized-skills/networking-and-content-delivery-skills/shieldadvanced · commit 0a218f8
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- NOTICE (added by AutoGineer from NOTICE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by AWS or AWS.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download shieldadvanced.zip