This section provides an overview, highlights pre-requisites, and walks through detailed step-by-step instructions to help you establish a site-to-site VPN connection between your on-premises network and the VPCs in your AWS environment.
Review Note: Provide a diagram that is the overview of the solution.
If you didn’t use a non-overlapping range from the start, you will need to either replace your initial set of development VPCs with VPCs that use non-overlapping IP addresses or implement Network Address Translation (NAT).
In your on-premises environment, you will need to identify a static public IP address that will be associated with your Customer Gateway that will act as the on-premises side of the VPN site-to-site connection. You’ll use this IP address in the subsequent steps when you register your Customer Gateway in your AWS environment.
You will begin by making changes in the network-prod
account you set up earlier.
network-prod
AWS accountManagement console
associated with the AWSAdministratorAccess
role.VPC
and click on Customer Gateways
in the left navigationCreate Customer Gateway
Field | Recommendation |
---|---|
Name |
example-network-on-prem-01 |
Routing |
Dynamic Routing |
BGP ASN |
6500 |
IP Address |
Enter the value of the public IP Address of your on-premises gateway address for your VPN |
Certificate ARN |
Leave empty |
Device |
Leave empty |
Customer Gateway ID: Note the Customer Gateway ID for the newly created Customer Gateway. You will use this in later steps.
VPN Console
administration, click on Transit Gateways
in the left navigationCreate Transit Gateway
Field | Recommendation |
---|---|
Name tag |
acme-network-tgw-01 |
Description |
Transit Gateway in order to route traffic to/from On-Prem network as well as within VPCs |
Transit Gateway ID: Please note down the Transit Gateway ID for the recently created Transit Gateway. You will use this in later steps.
VPN Console
administration, click on Transit Gateway Attachments
in the left navigationCreate Transit Gateway Attachment
Field | Recommendation |
---|---|
Transit Gateway ID |
Select value from dropdown that matched the ID of the Transit Gateway you just created. |
Attachment Type |
VPN |
Customer Gateway |
Existing |
Customer Gateway ID |
Select value from dropdown that matched the ID of the Customer Gateway you just created. |
Routing options |
Dynamic (requires BGP) |
Transit Gateway Attachment Name: Once created, it is recommended to provide a name to the Transit Gateway Attachment. To do this, select the checkbox of the row for the attachment you just created. Click the pencil
icon under the Name
column. Enter a name (i.e. acme-routing-tgw-vpn-01).
VPN: As a result of the VPN attachment being provisioned, you will notice that a Site-to-Site VPN Connection resource has been created for the attachment.
VPN Console
administration, click on Site-to-Site VPN Connections
in the left navigationActions
button and select Modify VPN Connection
Download Configuration
VPN Configuration: Select your Vendor, Platform, and Software from the dropdowns. If you specific vendor is not available, select Generic
. As a best practice, AWS provides your configuration file with a primary and secondary VPN configuration. This allows for redundancy of your VPN connection.
Once your VPN is configured on-premises, navigate back to the Site-to-Site VPN Connections within the VPC console. Select the row of your VPN connection. At the botton of the page, select the Tunnel Details
tab. Verify that the Status has changed from “DOWN” to “UP” (this may take a few minutes).
VPN Console
administration, click on Transit Gateway Attachments
in the left navigationCreate Transit Gateway Attachment
Field | Recommendation |
---|---|
Transit Gateway ID |
Select value from dropdown that matched the ID of the Transit Gateway you just created. |
Attachment Type |
VPC |
DNS support |
enable (checked) |
VPC ID |
Select the value form the dropdown for that matches thee ID of the dev VPC in your account. |
Subnet IDs |
Select a subnet from each availability zone - preferrably a private subnet |
VPN Console
administration, click on Route Tables
under Virtual Private Cloud in the left navigationRoutes
tab at the bottom of the page and click Edit routes
Field | Recommendation |
---|---|
Destination |
Fill in with your on-premises CIDR range (i.e. 172.31.0.0/16 |
Target |
Select value from dropdown that matched the ID of the Transit Gateway you just created. |
On-premises VPN Routes: You will need to make similar types of changes to the routing rules with your on-premises infrastructure in order to route to the reserved CIDR ranges you have allocated for your AWS environment(s).
You will need to enable sharing resources within your AWS Organizations from your master account. THis will allow you to access Transit Gateway from each of your accounts created and maintained within Control Tower.
master
AWS accountManagement console
associated with the AWSAdministratorAccess
role.Resource Access Manager
Settings
in the left navigation panelEnable sharing within your AWS Organizations
checkbox, then click the Save settings
buttonFind your Organization ID: Navigate to AWS Organizations and click on any of the accounts to open the information panel on the right. Within the ARN
, after the word account, you will see your Organization ID (starts with o-
). Note this down for the next set of steps.
You will use AWS Resource Access Manager (RAM) to share your Transit Gateway for VPC attachments across your accounts and/or your organizations in AWS Organizations.
Network
AWS accountManagement console
associated with the AWSAdministratorAccess
role.Resource Access Manager
Create a resource share
buttonField | Recommendation |
---|---|
Name |
acme-network-tgw-share-01 |
Select resource type |
Transit Gateways (and select your Transit Gateway) |
Allow external accounts |
(checked) |
Add AWS account number, OU or organization |
Enter the Organization ID from your master account (captured in the above steps) |
VPC: If you do not already have a VPC in your account, please create one.
Management console
associated with the AWSAdministratorAccess
role.VPC
and click on Transit Gateway Attachments
in the left navigationCreate Transit Gateway Attachment
Field | Recommendation |
---|---|
Transit Gateway ID |
Select value from dropdown that matched the ID of the Transit Gateway you just created. |
Attachment Type |
VPC |
DNS support |
enable (checked) |
VPC ID |
Select the value form the dropdown for that matches thee ID of the dev VPC in your account. |
Subnet IDs |
Select a subnet from each availability zone - preferrably a private subnet |
Transit Gateway Attachment - Pending Acceptance: If your account is not setup as Auto accept shared attachments: enable
, after you create the Transit Gateway Attachment, the status will show as pending acceptance
. You will need to log into your Network
account and accept the Transit Gateway Attachment by selecting it in the VPC console and going to Actions|Accept
. Once this is done, the VPC will show up under the Transit Gateway Route Table - Associations
.
Transit Gateway Route Tables - Propagations: If your Transit Gateway is configured for Default propagation route table: enable
. If not, you will need to log into your Network
account, navigate to the Transit Gateway Route Tables
, select your route table, go to the Propagations
tab, and create a new propagation to the VPC in your attachment account.
Management console
associated with the AWSAdministratorAccess
role.VPC
and click on Route Tables
in the left navigationRoutes
tab at the bottom of the page and click Edit routes
Field | Recommendation |
---|---|
Destination |
Fill in with your on-premises CIDR range (i.e. 172.31.0.0/16 |
Target |
Select value from dropdown that matched the ID of the Transit Gateway you just created. |
Repeat for additional accounts: You will repeat steps 9 and 10 for each of the accounts within your organization that you want to be able to communicate with your on-premises network.