Sitetositevpn
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 acts as a comprehensive guide for establishing encrypted IPsec VPN connections between on-premises data centers or branch offices and AWS. It covers the entire lifecycle of a Site-to-Site VPN, including routing decisions (static vs. BGP), bandwidth sizing, high-availability configurations, and troubleshooting. The skill functions as a router, directing users to specific, self-contained reference procedures for each phase of the deployment and maintenance process.
What it does
- Guides the selection between static and dynamic (BGP) routing based on device capabilities.
- Provides procedures for creating and configuring VPN connections and target gateways.
- Assists in sizing tunnel bandwidth for standard or high-throughput requirements.
- Explains how to consolidate multiple sites using a VPN Concentrator.
- Offers guidance on applying configuration settings to on-premises customer gateway devices.
- Provides diagnostic steps for monitoring and troubleshooting tunnel connectivity.
When to use it
- When you need to connect an on-premises network to an AWS VPC over an encrypted tunnel.
- When you are deciding between static and dynamic routing for your VPN connection.
- When you need to scale throughput or consolidate multiple branch office connections.
- When you need to ensure high availability for your VPN tunnels.
- When you are experiencing connectivity issues and need to diagnose a down tunnel.
Advantages
- Provides structured, task-specific procedures for complex networking configurations.
- Ensures routing decisions are made correctly before deployment to avoid rework.
- Helps balance throughput needs with architectural constraints like gateway types.
- Clarifies the distinction between AWS-side configuration and on-premises device setup.
- Centralizes troubleshooting steps for monitoring tunnel health.
Usage examples
- “How do I decide between static and dynamic routing for my new VPN?”
- The agent will guide you through verifying your device's BGP support and your specific route-control requirements to recommend the appropriate routing type.
- “My VPN tunnel is down, how can I troubleshoot it?”
- The agent will direct you to the monitoring and troubleshooting reference to check CloudWatch metrics, logs, and common failure points.
- “How do I configure my on-premises router for the AWS VPN?”
- The agent will explain how to download the correct sample configuration file and advise on adapting it to your specific security requirements.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/aws/sitetositevpn/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip sitetositevpn.zip -d .agents/skills
Documentation by AWS
AWS Site-to-Site VPN
Overview
Domain expertise for configuring AWS Site-to-Site VPN, the managed service that builds an encrypted IP Security (IPsec) connection between an on-premises network and AWS. Covers the routing decision (static versus dynamic (BGP) routing), creating the connection and its dependent resources in the right order, sizing tunnel bandwidth, consolidating many sites through a VPN Concentrator, applying the customer gateway device configuration, building for high availability, and monitoring and troubleshooting tunnels.
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. Site-to-Site VPN is a regional service: pass
--region {region} matching the VPC or transit gateway the connection terminates on.
Which Site-to-Site VPN task do you need?
| Goal | Reference |
|---|---|
| Decide between static and dynamic (BGP) routing before creating a connection | choosing static or dynamic routing |
| Create an encrypted VPN connection from on-premises to a VPC | creating a site-to-site vpn connection |
| Size tunnel bandwidth at Standard (1.25 Gbps) or Large (5 Gbps) | choosing tunnel bandwidth |
| Connect 25 or more low-bandwidth sites through one shared attachment | connecting many sites with a vpn concentrator |
| Configure the on-premises customer gateway device | applying the customer gateway device configuration |
| Make the connection survive tunnel maintenance and device failure | making a connection highly available |
| Detect a down tunnel and find out why | monitoring and troubleshooting tunnels |
Routing notes
Decide routing before you build. The static-versus-dynamic decision shapes the customer gateway, the failover behavior, and whether the customer can control which routes enter their network. Run the choosing-static-or-dynamic-routing reference before creating the connection so the customer does not have to recreate it to change routing type.
The target gateway gates almost everything. A virtual private gateway terminates the VPN at one VPC. A transit gateway fronts many VPCs and is the only target that supports Large (5 Gbps) tunnels, equal-cost multi-path (ECMP) bandwidth aggregation, IPv6 customer gateways, and the VPN Concentrator. The gateway choice lives in the creating reference and is referenced again by the bandwidth and concentrator references, because picking a virtual private gateway closes those doors.
Bandwidth sizing vs the Concentrator. Both scale capacity, in opposite directions. Large tunnels give one connection more throughput (up to 5 Gbps per tunnel); the Concentrator gives many low-bandwidth sites a shared 5 Gbps attachment so each site does not need its own full-bandwidth connection. Match the reference to whether the customer has one high-throughput site or many small ones.
AWS side vs device side. Creating the connection and downloading the configuration happen on the AWS side; applying that configuration happens on the customer's on-premises device, which AWS never touches. The applying-the-customer-gateway-device-configuration reference is device-side education, not an AWS-side step.
Monitoring is its own task. Detecting and diagnosing a down tunnel (CloudWatch metrics, alarms, and VPN logs) is the monitoring reference, separate from building the connection.
Additional Resources
Files
- ATTRIBUTION.mdAdded by AutoGineer937 B
- LICENSELicence file added by AutoGineer9.9 KiB
- NOTICELicence file added by AutoGineer67 B
- SKILL.md5.3 KiB
- references/applying-the-customer-gateway-device-configuration.md11.4 KiB
- references/choosing-static-or-dynamic-routing.md10.9 KiB
- references/choosing-tunnel-bandwidth-standard-or-large.md12.3 KiB
- references/connecting-many-sites-with-a-vpn-concentrator.md12.0 KiB
- references/creating-a-site-to-site-vpn-connection.md16.7 KiB
- references/making-a-connection-highly-available.md10.3 KiB
- references/monitoring-and-troubleshooting-tunnels.md19.7 KiB
references/choosing-tunnel-bandwidth-standard-or-large.md
Choosing Standard (1.25 Gbps) or Large (5 Gbps) Tunnel Bandwidth
Overview
Decision expertise for sizing the tunnel bandwidth of an AWS Site-to-Site VPN connection. Covers the two options (Standard, up to 1.25 Gbps per tunnel and the default; Large, up to 5 Gbps per tunnel), the target gateway that gates Large, the per-connection scope that covers both tunnels, the path requirements on the device and circuit, the in-place-modification limits, and the cost tradeoff versus equal-cost multi-path (ECMP) routing.
This reference first helps the customer decide between Standard and Large based on their throughput needs and target gateway, then applies the chosen setting on a new or existing connection. It assumes the connection exists or is being created (the creating-a-site-to-site-vpn-connection reference). It does not cover the VPN Concentrator, which scales many small sites rather than one connection's throughput.
Execute commands using the AWS MCP server when connected (sandboxed execution, audit logging,
observability). Fall back to the AWS CLI otherwise. Pass --region {region} matching the connection.
Table of Contents
Overview
Workflow
Decision: Standard or Large
The target gateway gates Large
Per-connection scope
Path must support the bandwidth
Switching bandwidth later
Cost and ECMP
Troubleshooting
Procedure
Security Considerations
Additional Resources
Workflow
To size tunnel bandwidth, gather the throughput need and the target gateway, match them to Standard or Large, confirm the path supports it, and apply the setting. See the Procedure section below.
The procedure covers:
Establishing the throughput the workload needs
Confirming the target gateway supports Large
Confirming the on-premises device and circuit support the higher throughput
Setting Standard or Large at create or modify time
Decision: Standard or Large
| Choice | Use when |
|---|---|
| Standard (1.25 Gbps per tunnel) | The workload needs no more than 1.25 Gbps per tunnel, or the connection is on a virtual private gateway |
| Large (5 Gbps per tunnel) | The workload needs high throughput (bandwidth-intensive hybrid apps, big data migration, Direct Connect backup or overlay) and the connection is on a transit gateway or Cloud WAN |
Constraints:
You MUST establish the throughput need before recommending, since Large carries a higher cost
You SHOULD recommend Large only when the workload genuinely needs more than 1.25 Gbps per tunnel
The target gateway gates Large
Large (5 Gbps) tunnels are supported only on transit gateway and AWS Cloud WAN connections, not on a virtual private gateway. A customer who needs more than 1.25 Gbps but already built on a virtual private gateway cannot flip the setting; they must move to a transit gateway first.
Constraints:
You MUST check the target gateway before offering Large; rule it out on a virtual private gateway
You MUST tell the customer that needing high throughput points them at a transit gateway
Per-connection scope
The bandwidth setting is per connection, not per tunnel. Standard and Large cannot coexist in the same connection, and Large applies to both tunnels at once.
Constraints:
You MUST state that the setting covers both tunnels and that one connection cannot mix Standard and Large
You SHOULD explain that a single traffic flow maps to one tunnel, so exceeding one tunnel's ceiling needs multiple flows
Path must support the bandwidth
Large bandwidth only delivers if the on-premises customer gateway device and the internet circuit can handle the higher throughput. Otherwise the customer pays for 5 Gbps and never sees it.
Constraints:
You MUST prompt the customer to confirm the device and circuit capacity before selecting Large
You SHOULD note that the throughput ceiling is the lowest-capacity hop on the path, not the tunnel setting alone
Switching bandwidth later
Modifying the bandwidth is supported in place only in select Regions; elsewhere the customer must delete and recreate the connection. Any modification briefly interrupts the connection while it applies.
Constraints:
You MUST surface the bandwidth decision at create time and warn that changing it later may mean a recreate
You MUST warn that any bandwidth modification briefly interrupts the connection
Cost and ECMP
Large tunnels cost noticeably more per hour than Standard, so the choice is a real cost tradeoff. ECMP can be used with both Standard and Large tunnels on a transit gateway. Customers who need more than 1.25 Gbps but want to avoid ECMP complexity can use Large tunnels (up to 5 Gbps per tunnel) as a simpler single-connection option. Customers who need more than 5 Gbps can use ECMP with Large tunnels to scale beyond 5 Gbps aggregate.
Constraints:
You MUST frame Large as a higher-cost option that removes ECMP complexity, not a free upgrade
You SHOULD point customers needing more than 5 Gbps per tunnel at ECMP across multiple tunnels on a transit gateway
Troubleshooting
Large is not selectable
Large tunnels are not available on a virtual private gateway, on a VPN Concentrator (which has its own 5 Gbps aggregate model), or in Regions that do not support the feature. Check the Region availability table and confirm the connection is on a transit gateway or Cloud WAN in a supported Region (The target gateway gates Large).
Customer expects 10 Gbps from two 5 Gbps tunnels
The setting is per connection and a single flow uses one tunnel. Aggregate across flows or use ECMP (Per-connection scope, Cost and ECMP).
Paid for Large but throughput is capped lower
The device or circuit is the bottleneck. Confirm path capacity (Path must support the bandwidth).
Changing bandwidth caused an outage
Any modification briefly interrupts the connection, and outside select Regions it requires recreate (Switching bandwidth later).
Procedure
Overview
This procedure establishes the throughput need, confirms the target gateway and path support Large, and applies Standard or Large at create or modify time, then surfaces the console link to verify.
Parameters
region (required): The AWS Region of the connection.
vpn_connection_id (required for modify): The connection to modify.
target_gateway_type (required):
vpn-gateway,transit-gateway,core-network, orvpn-concentrator. If the customer saysvpn-concentrator, redirect to the connecting-many-sites-with-a-vpn-concentrator reference since the Concentrator has its own bandwidth model.throughput_need (required): The per-tunnel throughput the workload needs.
bandwidth (required):
StandardorLarge.
Constraints for parameter acquisition:
You MUST ask for the throughput need and target gateway upfront
You MUST NOT offer Large on a virtual private gateway
Steps
1. Establish throughput and gateway
Constraints:
You MUST confirm credentials with
aws sts get-caller-identityYou SHOULD recommend ephemeral IAM role-based credentials (instance profile, SSO session, or assumed role) rather than long-lived IAM user access keys for running these commands
You MUST establish the per-tunnel throughput the workload needs
You MUST confirm the target gateway is a transit gateway or Cloud WAN before offering Large
2. Confirm the path
Constraints:
You MUST confirm the on-premises device and internet circuit support the chosen bandwidth before selecting Large
3. Apply the bandwidth setting
Constraints:
You MUST set the bandwidth at create time on a new connection, alongside the strong tunnel options (two
TunnelOptionsobjects, one per tunnel, with AES-256, SHA2-256, and DH group 14):aws ec2 create-vpn-connection --type ipsec.1 --transit-gateway-id {tgw_id} \ --customer-gateway-id {cgw_id} \ --pre-shared-key-storage SecretsManager \ --options "TunnelBandwidth=Large,TunnelOptions=[{Phase1EncryptionAlgorithms=[{Value=AES256}],Phase2EncryptionAlgorithms=[{Value=AES256}],Phase1IntegrityAlgorithms=[{Value=SHA2-256}],Phase2IntegrityAlgorithms=[{Value=SHA2-256}],Phase1DHGroupNumbers=[{Value=14}],Phase2DHGroupNumbers=[{Value=14}]},{Phase1EncryptionAlgorithms=[{Value=AES256}],Phase2EncryptionAlgorithms=[{Value=AES256}],Phase1IntegrityAlgorithms=[{Value=SHA2-256}],Phase2IntegrityAlgorithms=[{Value=SHA2-256}],Phase1DHGroupNumbers=[{Value=14}],Phase2DHGroupNumbers=[{Value=14}]}]" \ --region {region}You MUST warn before modifying an existing connection that it briefly interrupts connectivity and may require recreate outside select Regions:
aws ec2 modify-vpn-connection-options --vpn-connection-id {vpn_connection_id} \ --tunnel-bandwidth Large --region {region}
4. Confirm and surface the console link
Constraints:
You MUST confirm the connection reports the chosen bandwidth:
aws ec2 describe-vpn-connections --vpn-connection-ids {vpn_connection_id} --region {region}You MUST present the VPN connection console link, filling
{region}and{vpnConnectionId}from the API response:https://console.aws.amazon.com/vpc/home?region={region}#VpnConnectionDetails:VpnConnectionId={vpnConnectionId}
Example
Example input
{
"region": "us-east-1",
"target_gateway_type": "transit-gateway",
"throughput_need": "3 Gbps",
"bandwidth": "Large"
}Example output
Recommendation: Large (5 Gbps) tunnels. The workload needs 3 Gbps, above the 1.25 Gbps Standard
ceiling, and the connection is on a transit gateway, which supports Large. Confirmed the on-premises
device and circuit handle 3 Gbps+. Set TunnelBandwidth=Large at create time.
Open the connection in the console to confirm bandwidth:
https://console.aws.amazon.com/vpc/home?region=us-east-1#VpnConnectionDetails:VpnConnectionId=vpn-0abc1234def567890Troubleshooting
See the Troubleshooting section above for common issues (Large not available, throughput capped, modification interruptions).
Security Considerations
The bandwidth setting does not change the connection's authentication or encryption, but it is set on
the same create-vpn-connection and modify-vpn-connection-options calls that carry the tunnel
security options, so the security posture must not be dropped when sizing bandwidth.
Constraints:
You MUST set strong tunnel options (AES-256, SHA-256 or higher, Diffie-Hellman group 14 or higher) rather than the AES-128 / SHA-1 / DH group 2 minimums
You MUST NOT let a bandwidth change reset tunnel options to weaker defaults; preserve them when modifying a connection
You MUST treat tunnel pre-shared keys (PSKs) as secrets: never pass them on the command line or store them in plaintext, store them in AWS Secrets Manager, and rotate them periodically; where the device supports it, recommend certificate-based authentication with AWS Private Certificate Authority instead of a static PSK
You SHOULD remind the customer that a bandwidth modification re-establishes the tunnels, so they must confirm the encryption and authentication settings still match policy afterward
You SHOULD set up monitoring by following the monitoring-and-troubleshooting-tunnels reference, which covers CloudWatch tunnel-state alarms, VPN logs, and CloudTrail audit logging
You MUST enable encryption at rest on all log destinations (KMS on the CloudWatch Logs log groups holding the VPN/tunnel logs, and SSE-S3 or SSE-KMS on the S3 bucket holding the CloudTrail logs) since these logs can carry sensitive tunnel and connection details
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/sitetositevpn · 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 sitetositevpn.zip