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/applying-the-customer-gateway-device-configuration.md
Applying the Customer Gateway Device Configuration
Overview
Domain expertise for configuring the on-premises customer gateway (CGW) device after an AWS Site-to-Site VPN connection is created, so the tunnels come up. Covers downloading the AWS-provided sample configuration file, choosing the recommended sample over the compatibility sample, treating the sample as a starting point rather than a finished config, the IAM permissions the download screen needs, configuring both tunnels, and handling an unlisted device.
This reference educates the customer on what to configure on their own device; it does not hand them a ready-to-use configuration, because the right values depend on the device and security requirements the agent cannot see. The configuration is applied on the customer's device, not on the AWS side. Assumes the connection already exists (the creating-a-site-to-site-vpn-connection reference).
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
Educate, do not prescribe
Recommended versus compatibility sample
IAM permissions for the download screen
Configure both tunnels
Unlisted device
Troubleshooting
Procedure
Security Considerations
Additional Resources
Workflow
To get the device configured, download the matching sample file, review and adapt it, and apply it to both tunnels on the on-premises device. See the Procedure section below.
The procedure covers:
Confirming the IAM permissions the download screen needs
Downloading the sample for the device vendor, platform, software version, and IKE version
Choosing the recommended sample where AWS offers one
Reviewing and adapting the sample, then applying both tunnels on the device
Educate, do not prescribe
The configuration this workflow produces is applied on the customer's on-premises device, not on the AWS side. The skill's job is to explain what to configure, not to hand the customer a finished config to paste in, because the right values depend on the customer's device and security requirements.
Constraints:
You MUST explain the settings the device needs and offer the AWS sample as a starting point the customer reviews and adapts
You MUST NOT present a single ready-to-use configuration as correct for the customer's device
You MUST state that the configuration goes on the customer's device, not the AWS side
Recommended versus compatibility sample
For many devices AWS offers two sample types: a compatibility sample and a recommended sample that uses stronger settings. The sample specifies only minimum requirements (such as AES128, SHA1, and Diffie-Hellman group 2 in most Regions), so applying it as-is can leave the customer on the weakest acceptable settings.
Constraints:
You MUST prefer the recommended sample where AWS offers one
You MUST flag the sample as a starting point and prompt the customer to adjust algorithms, Diffie-Hellman groups, certificates, and IPv6 before applying it
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
IAM permissions for the download screen
Loading the download configuration screen requires the IAM permissions
GetVpnConnectionDeviceTypes and GetVpnConnectionDeviceSampleConfiguration. Without them the
screen does not populate, with no obvious explanation that a missing permission is the cause.
Constraints:
You MUST check for
GetVpnConnectionDeviceTypesandGetVpnConnectionDeviceSampleConfigurationif the download screen is emptyYou SHOULD name the missing permission so the customer is not stuck staring at a blank screen
Configure both tunnels
The configuration covers both tunnels. Applying only the first leaves the connection without the redundancy AWS provides, so it drops during routine tunnel maintenance. Customers stop after the first tunnel because the connection appears to work.
Constraints:
You MUST confirm both tunnels are configured on the device, not just one
You SHOULD explain that the second tunnel is what keeps the connection up during tunnel maintenance
Unlisted device
When the customer's exact device is not in the vendor list they do not know how to proceed, and the supported algorithms and IKE versions vary by device.
Constraints:
You MUST point the customer to the Generic configuration option for an unlisted device
You MUST strongly recommend IKEv2 over IKEv1 if the customer's device supports it; IKEv2 is simpler, more robust, and more secure (see AWS best practices). Only use IKEv1 when the device does not support IKEv2
Troubleshooting
Tunnels stay down after applying the sample
The sample is a starting point; algorithms or settings may not match the device's needs. Review and adapt it (Educate, do not prescribe).
Download configuration screen is empty
Missing GetVpnConnectionDeviceTypes or GetVpnConnectionDeviceSampleConfiguration. Add the permissions (IAM permissions for the download screen).
Connection drops during maintenance
Only one tunnel was configured. Configure both (Configure both tunnels).
Device is not in the vendor list
Use the Generic configuration option and the correct IKE version (Unlisted device).
Procedure
Overview
This procedure confirms the download permissions, downloads the matching sample (preferring the recommended type), guides the customer to review and adapt it, and confirms both tunnels are configured, then surfaces the console link to verify tunnel status.
Parameters
region (required): The AWS Region of the connection.
vpn_connection_id (required): The connection whose configuration to download.
device_vendor (required): The on-premises device vendor, platform, and software version.
ike_version (required):
ikev1orikev2, matching the device. Strongly recommendikev2unless the device does not support it.sample_type (optional):
recommended(preferred) orcompatibility.
Constraints for parameter acquisition:
You MUST ask for the device vendor, platform, software version, and IKE version upfront
You SHOULD confirm whether the device is in the supported list or needs the Generic option
Steps
1. Confirm download permissions
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 confirm the caller has
GetVpnConnectionDeviceTypesandGetVpnConnectionDeviceSampleConfiguration
2. Resolve the device type ID
Constraints:
You MUST resolve the vendor/platform/software version to a
{device_type_id}first, sinceget-vpn-connection-device-sample-configurationtakes the numeric ID, not a human-readable name. List the supported device types and match the customer's device (vendor, platform, software) to itsDeviceTypeId:aws ec2 get-vpn-connection-device-types --region {region} # Find the entry whose Vendor/Platform/Software match the customer's device; use its DeviceTypeIdYou MUST use the Generic device type's ID when the customer's device is not in the returned list
3. Download the sample configuration
Constraints:
You MUST download the sample for the resolved device type ID and IKE version, preferring the recommended sample:
aws ec2 get-vpn-connection-device-sample-configuration \ --vpn-connection-id {vpn_connection_id} --vpn-connection-device-type-id {device_type_id} \ --internet-key-exchange-version {ike_version} --sample-type recommended --region {region}
4. Review and adapt
Constraints:
You MUST present the sample as a starting point and prompt the customer to adjust algorithms, Diffie-Hellman groups, certificates, and IPv6
You MUST NOT tell the customer to apply the sample unchanged as if it were correct for their device
5. Apply both tunnels and confirm
Constraints:
You MUST confirm the customer configures both tunnels on the device, not just one
You MUST present the VPN connection console link, filling
{region}and{vpnConnectionId}from the request, and tell the customer to open it and confirm both tunnels report UP:https://console.aws.amazon.com/vpc/home?region={region}#VpnConnectionDetails:VpnConnectionId={vpnConnectionId}
Example
Example input
{
"region": "us-east-1",
"vpn_connection_id": "vpn-0abc1234def567890",
"device_vendor": "Cisco ASA 9.x",
"ike_version": "ikev2",
"sample_type": "recommended"
}Example output
Confirmed download permissions. Downloaded the recommended IKEv2 sample for Cisco ASA 9.x.
Flagged it as a starting point: adjust algorithms, DH group, certificates, and IPv6 before applying.
Both tunnels configured on the device. Open the connection and confirm both tunnels report UP:
https://console.aws.amazon.com/vpc/home?region=us-east-1#VpnConnectionDetails:VpnConnectionId=vpn-0abc1234def567890Troubleshooting
Tunnels down after applying
The sample needs adapting to the device. Review the algorithms and settings (Step 4).
Download screen empty
Missing IAM permissions. Add GetVpnConnectionDeviceTypes and GetVpnConnectionDeviceSampleConfiguration (Step 1).
Connection drops during maintenance
Only one tunnel configured. Configure both (Step 5).
Security Considerations
The device configuration carries the authentication secret and the encryption settings the tunnels negotiate, so it is the most security-sensitive artifact the customer handles.
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 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 the downloaded sample contains live tunnel secrets and should be deleted from any temporary or download location once applied
You SHOULD enable Amazon CloudWatch tunnel-state alarms and Site-to-Site VPN logs, and confirm AWS CloudTrail is enabled so the API calls that create, modify, or delete the connection are audited (see the monitoring-and-troubleshooting-tunnels reference). You MUST enable encryption at rest on every log destination — KMS on the CloudWatch Logs log group holding the VPN/tunnel logs and SSE-S3 or SSE-KMS on the S3 bucket holding the CloudTrail logs — since these logs can carry tunnel and connection detail
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