LLD002-001 - Intra Region Connection
Introduction
Purpose
The purpose of this Low-Level Design is to provide an exhaustive representation of the intra-region connections within our AWS environment, clearly defining system components, their interactions, and data flow. It serves as a definitive guide for developers during the implementation phase and aids in future system maintenance and enhancements.
Changelog
Revision | Date | Description |
|---|---|---|
| 02.07.2024 | Initial document |
| 10.07.2024 | Add missing parts |
Related documents
Background
Proposed structure of network & VPC across the organization, with internet access limited to specified networks and restricted connectivity between application environments.
CIDR ranges of the VPS as a proposed solution and starting point for discussion.
Transit Gateway used as the central point of connectivity between accounts & VPCs, egress & ingress traffic flowing through Inspection VPC located in the Network account.
Sandbox accounts separated from the rest of the Organization.
Architecture diagram

Explanation
Diagram represents detailed implementation of centralized network model with Transit Gateway as network transit hub that enables VPCs and VPN connections to connect to each other.
Implementation Details
CIDR list for VPCs
Each VPC spans all the Availability Zones in the Region. Subnets are created in each Availability Zone - depends on needs.
We can plan environments accordingly in these spaces:
OU Infrastructure, OU Security → 10.148.0.0/16:
Shared Services prod VPC → 10.148.0.0/19
Shared Services TST VPC → 10.148.32.0/19
Central Network VPC → 10.148.64.0/19
Remote Access Prod VPC → 10.148.96.0/20
Remote Access Non-Prod VPC → 10.148.112.0/20
Backup VPC → 10.148.128.0/19
Log-Archive VPC → 10.148.160.0/19
Monitoring VPC → 10.148.192.0/20
CICD VPC → 10.148.208.0/21
CloudIAM Prod → 10.148.216.0/21
CloudIAM Non-Prod → 10.148.224.0/21
OU Workloads (Shared Network VPCs) → X.X.X.X/14
DEV → 10.142.0.0/19
TST → 10.142.32.0/19
NIT → 10.142.64.0/19
PRE → 10.142.96.0/19
prod → 10.142.128.0/19
SIT → 10.142.160.0/19
OU Sandbox → X.X.X.X/16
OU Infrastructure/Security
Shared Services prod VPC (10.148.0.0/19)
shared-services-prod-vpc | Private Subnets | Public Subnets | DB Subnets | Infra Subnets |
|---|---|---|---|---|
AZ-a [eu-central-1-a] |
|
|
|
|
AZ-b [eu-central-1-b] |
|
|
|
|
AZ-c [eu-central-1-c] |
|
|
|
|
Shared Services TST VPC (10.148.32.0/19)
shared-services-tst-vpc | Private Subnets | Public Subnets | DB Subnets | Infra Subnets |
|---|---|---|---|---|
AZ-a [eu-central-1-a] |
|
|
|
|
AZ-b [eu-central-1-b] |
|
|
|
|
AZ-c [eu-central-1-c] |
|
|
|
|
Central Network VPC (10.148.64.0/19)
inspection-vpc | Public Subnets | DB Subnets | Intra Subnets |
|---|---|---|---|
AZ-a [eu-central-1-a] |
|
|
|
AZ-b [eu-central-1-b] |
|
|
|
AZ-c [eu-central-1-c] |
|
|
|
Remote Access PROD VPC (10.148.96.0/20)
remote-access-prod-vpc | Private Subnets | Public Subnets | DB Subnets | Intra Subnets |
|---|---|---|---|---|
AZ-a [eu-central-1-a] |
|
|
|
|
AZ-b [eu-central-1-b] |
|
|
|
|
AZ-c [eu-central-1-c] |
|
|
|
|
Remote Access Non-PROD VPC (10.148.112.0/20)
remote-access-non-prod-vpc | Private Subnets | Public Subnets | DB Subnets | Intra Subnets |
|---|---|---|---|---|
AZ-a [eu-central-1-a] |
|
|
|
|
AZ-b [eu-central-1-b] |
|
|
|
|
AZ-c [eu-central-1-c] |
|
|
|
|
Backup VPC (10.148.128.0/19)
backup-vpc | Private Subnets | Public Subnets | DB Subnets | Intra Subnets |
|---|---|---|---|---|
AZ-a [eu-central-1-a] |
|
|
|
|
AZ-b [eu-central-1-b] |
|
|
|
|
AZ-c [eu-central-1-c] |
|
|
|
|
Log Archive VPC (10.148.160.0/19)
log-archive-vpc | Private Subnets | Public Subnets | DB Subnets | Intra Subnets |
|---|---|---|---|---|
AZ-a [eu-central-1-a] |
|
|
|
|
AZ-b [eu-central-1-b] |
|
|
|
|
AZ-c [eu-central-1-c] |
|
|
|
|
Monitoring VPC (10.148.192.0/20)
monitoring-vpc | Private Subnets | Public Subnets | DB Subnets | Intra Subnets |
|---|---|---|---|---|
AZ-a [eu-central-1-a] |
|
|
|
|
AZ-b [eu-central-1-b] |
|
|
|
|
AZ-c [eu-central-1-c] |
|
|
|
|
CICD VPC (10.148.208.0/21)
cicd-vpc | Private Subnets | Public Subnets | DB Subnets | Intra Subnets |
|---|---|---|---|---|
AZ-a [eu-central-1-a] |
|
|
|
|
AZ-b [eu-central-1-b] |
|
|
|
|
AZ-c [eu-central-1-c] |
|
|
|
|
OU Workloads -> Shared-network VPCs
Subnets on shared network accounts will be added on an ongoing basis and made available to application accounts. There will be two VPCs on each shared network account, for iDMZ and eDMZ.
DEV - iDMZ (10.142.0.0/20)
shared-network-dev-idmz | Private Subnets | Public Subnets | DB Subnets | Intra Subnets |
|---|---|---|---|---|
AZ-a [eu-central-1-a] |
| |||
AZ-b [eu-central-1-b] |
| |||
AZ-c [eu-central-1-c] |
|
DEV - eDMZ (10.141.0.0/19)
shared-network-dev-edmz | Private Subnets | Public Subnets | DB Subnets | Intra Subnets |
|---|---|---|---|---|
AZ-a [eu-central-1-a] |
|
| ||
AZ-b [eu-central-1-b] |
|
| ||
AZ-c [eu-central-1-c] |
|
|
TST - iDMZ (10.142.32.0/20)
shared-network-tst-idmz | Private Subnets | Public Subnets | DB Subnets | Intra Subnets |
|---|---|---|---|---|
AZ-a [eu-central-1-a] |
| |||
AZ-b [eu-central-1-b] |
| |||
AZ-c [eu-central-1-c] |
|
TST - eDMZ (10.141.32.0/19)
shared-network-tst-edmz | Private Subnets | Public Subnets | DB Subnets | Intra Subnets |
|---|---|---|---|---|
AZ-a [eu-central-1-a] |
|
| ||
AZ-b [eu-central-1-b] |
|
| ||
AZ-c [eu-central-1-c] |
|
|
NIT - iDMZ (10.142.64.0/20)
shared-network-nit-idmz | Private Subnets | Public Subnets | DB Subnets | Intra Subnets |
|---|---|---|---|---|
AZ-a [eu-central-1-a] |
| |||
AZ-b [eu-central-1-b] |
| |||
AZ-c [eu-central-1-c] |
|
NIT - eDMZ (10.141.64.0/19)
shared-network-nit-edmz | Private Subnets | Public Subnets | DB Subnets | Intra Subnets |
|---|---|---|---|---|
AZ-a [eu-central-1-a] |
|
| ||
AZ-b [eu-central-1-b] |
|
| ||
AZ-c [eu-central-1-c] |
|
|
PRE - iDMZ (10.142.96.0/20)
shared-network-pre-idmz | Private Subnets | Public Subnets | DB Subnets | Intra Subnets |
|---|---|---|---|---|
AZ-a [eu-central-1-a] |
| |||
AZ-b [eu-central-1-b] |
| |||
AZ-c [eu-central-1-c] |
|
PRE - eDMZ (10.142.112.0/20)
shared-network-pre-edmz | Private Subnets | Public Subnets | DB Subnets | Intra Subnets |
|---|---|---|---|---|
AZ-a [eu-central-1-a] |
| |||
AZ-b [eu-central-1-b] |
| |||
AZ-c [eu-central-1-c] |
|
PROD - iDMZ (10.142.128.0/20)
shared-network-prod-idmz | Private Subnets | Public Subnets | DB Subnets | Intra Subnets |
|---|---|---|---|---|
AZ-a [eu-central-1-a] |
| |||
AZ-b [eu-central-1-b] |
| |||
AZ-c [eu-central-1-c] |
|
PROD - eDMZ (10.142.144.0/20)
shared-network-prod-edmz | Private Subnets | Public Subnets | DB Subnets | Intra Subnets |
|---|---|---|---|---|
AZ-a [eu-central-1-a] |
| |||
AZ-b [eu-central-1-b] |
| |||
AZ-c [eu-central-1-c] |
|
SIT - iDMZ (10.142.160.0/20)
shared-network-sit-idmz | Private Subnets | Public Subnets | DB Subnets | Intra Subnets |
|---|---|---|---|---|
AZ-a [eu-central-1-a] |
| |||
AZ-b [eu-central-1-b] |
| |||
AZ-c [eu-central-1-c] |
|
SIT - eDMZ (10.141.128.0/19)
shared-network-sit-edmz | Private Subnets | Public Subnets | DB Subnets | Intra Subnets |
|---|---|---|---|---|
AZ-a [eu-central-1-a] |
|
| ||
AZ-b [eu-central-1-b] |
|
| ||
AZ-c [eu-central-1-c] |
|
|
Transit gateway routing tables
Transit Gateway attachments are used to connect many VPCs within the Organization.
It allows to route traffic between Spoke VPCs (located on separate accounts). Each VPC is attached with AWS Transit Gateway for communication across the regional network, the traffic is managed by Transit Gateway routing tables - which allow to define connectivity between VPCs and on-premise networks.
Inspection
All VPCs should be connected to the inspection VPC to provide an internet connection. It also provides robust and scalable approach to network security that can help to improve overall network performance reduce the risk of security breaches.
a-tmpl-prod-tgw-rt-egress | |
|---|---|
CIDR | Attachment |
Propagation | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Shared services
a-tmpl-prod-tgw-rt-shared-svc-prod | |
|---|---|
CIDR | Attachment |
Propagation | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Static | |
| a-tmpl-prod-att-inspection |
tst-tgw-rtb-shared-services | |
|---|---|
CIDR | Attachment |
Propagation | |
| a-tmpl-prod-att-remote-access |
Black hole | |
| |
| |
| |
Static | |
| a-tmpl-prod-att-inspection |
Monitoring
a-tmpl-prod-tgw-rt-monitoring | |
|---|---|
CIDR | Attachment |
Propagation | |
| a-tmpl-prod-att-shared-services |
| a-tmpl-prod-att-inspection |
| a-tmpl-prod-att-remote-access |
| a-tmpl-prod-att-backup |
| a-tmpl-prod-att-log-archive |
| a-tmpl-prod-att-cicd |
| a-tmpl-prod-att-dx-1 |
| a-tmpl-prod-att-dx-2 |
| a-tmpl-prod-att-dx-3 |
| a-tmpl-prod-att-vpn-1 |
| a-tmpl-prod-att-vpn-2 |
| a-tmpl-prod-att-vpn-3 |
Static | |
| a-tmpl-prod-att-inspection |
Workloads
a-tmpl-prod-tgw-rt-shared-network-prod-edmz | |
|---|---|
CIDR | Attachment |
Propagation | |
| a-tmpl-prod-att-shared-services |
| a-tmpl-prod-att-inspection |
| a-tmpl-prod-att-remote-access |
| a-tmpl-prod-att-monitoring |
| a-tmpl-prod-att-cicd |
| a-tmpl-prod-att-dx-1 |
| a-tmpl-prod-att-dx-2 |
| a-tmpl-prod-att-dx-3 |
| a-tmpl-prod-att-vpn-1 |
| a-tmpl-prod-att-vpn-2 |
| a-tmpl-prod-att-vpn-3 |
Static | |
| a-tmpl-prod-att-inspection |
a-tmpl-prod-tgw-rt-shared-network-prod-idmz | |
|---|---|
CIDR | Attachment |
Propagation | |
| a-tmpl-prod-att-shared-services |
| a-tmpl-prod-att-inspection |
| a-tmpl-prod-att-remote-access |
| a-tmpl-prod-att-monitoring |
| a-tmpl-prod-att-cicd |
| a-tmpl-prod-att-dx-1 |
| a-tmpl-prod-att-dx-2 |
| a-tmpl-prod-att-dx-3 |
| a-tmpl-prod-att-vpn-1 |
| a-tmpl-prod-att-vpn-2 |
| a-tmpl-prod-att-vpn-3 |
Static | |
| a-tmpl-prod-att-inspection |
a-tmpl-prod-tgw-rt-shared-network-nonprod-edmz | |
|---|---|
CIDR | Attachment |
Propagation | |
| a-tmpl-prod-att-shared-services |
| a-tmpl-prod-att-inspection |
| a-tmpl-prod-att-remote-access |
| a-tmpl-prod-att-monitoring |
| a-tmpl-prod-att-cicd |
| a-tmpl-prod-att-dx-1 |
| a-tmpl-prod-att-dx-2 |
| a-tmpl-prod-att-dx-3 |
| a-tmpl-prod-att-vpn-1 |
| a-tmpl-prod-att-vpn-2 |
| a-tmpl-prod-att-vpn-3 |
Static | |
| a-tmpl-prod-att-inspection |
a-tmpl-prod-tgw-rt-shared-network-nonprod-idmz | |
|---|---|
CIDR | Attachment |
Propagation | |
| a-tmpl-prod-att-shared-services |
| a-tmpl-prod-att-inspection |
| a-tmpl-prod-att-remote-access |
| a-tmpl-prod-att-monitoring |
| a-tmpl-prod-att-cicd |
| a-tmpl-prod-att-dx-1 |
| a-tmpl-prod-att-dx-2 |
| a-tmpl-prod-att-dx-3 |
| a-tmpl-prod-att-vpn-1 |
| a-tmpl-prod-att-vpn-2 |
| a-tmpl-prod-att-vpn-3 |
Static | |
| a-tmpl-prod-att-inspection |
Remote access
a-tmpl-prod-tgw-rt-remote-access-nonprod | |
|---|---|
CIDR | Attachment |
Propagation | |
| a-tmpl-dev-att-edmz |
| a-tmpl-test-att-edmz |
| a-tmpl-nit-att-edmz |
| a-tmpl-prep-att-edmz |
| a-tmpl-sit-att-edmz |
| a-tmpl-dev-att-idmz |
| a-tmpl-dev-att-idmz |
| a-tmpl-test-att-idmz |
| a-tmpl-test-att-idmz |
| a-tmpl-nit-att-idmz |
| a-tmpl-nit-att-idmz |
| a-tmpl-prep-att-idmz |
| a-tmpl-prep-att-idmz |
| a-tmpl-sit-att-idmz |
| a-tmpl-sit-att-idmz |
| a-tmpl-prod-att-dx-1 |
| a-tmpl-prod-att-dx-2 |
| a-tmpl-prod-att-dx-3 |
| a-tmpl-prod-att-vpn-1 |
| a-tmpl-prod-att-vpn-2 |
| a-tmpl-prod-att-vpn-3 |
Static | |
| a-tmpl-prod-att-inspection |
a-tmpl-prod-tgw-rt-remote-access-prod | |
|---|---|
CIDR | Attachment |
Propagation | |
| a-tmpl-prod-att-edmz |
| a-tmpl-prod-att-idmz |
| a-tmpl-prod-att-inspection |
| a-tmpl-prod-att-remote-access |
| a-tmpl-prod-att-backup |
| a-tmpl-prod-att-log-archive |
| a-tmpl-prod-att-monitoring |
| a-tmpl-prod-att-cicd |
| a-tmpl-prod-att-dx-1 |
| a-tmpl-prod-att-dx-2 |
| a-tmpl-prod-att-dx-3 |
| a-tmpl-prod-att-vpn-1 |
| a-tmpl-prod-att-vpn-2 |
| a-tmpl-prod-att-vpn-3 |
Static | |
| a-tmpl-prod-att-inspection |
VPC routing tables
Routing tables are built around centralized routing of ingress & egress network traffic coming in and out of the regional network, with a central Firewall in between and Transit Gateway as the method of maintaining connectivity between account VPCs, as per our high-level design documentation. The default route 0.0.0.0/0 in the VPC route tables towards AWS Transit Gateway ensures any traffic exiting a Spoke VPC will go to the Inspection VPC.
CORE Infrastructure – Shared-Services VPC
Public
Destination | Target |
|---|---|
| TGW |
| local |
Private
Destination | Target |
|---|---|
| TGW |
| local |
DB
Destination | Target |
|---|---|
| TGW |
| local |
Infra
Destination | Target |
|---|---|
| local |
Network Access Control List
NACL is a security layer that acts as a firewall to allow or deny traffic based on rules that you define. NACLs are used to add a layer of security to your VPC by filtering inbound and outbound traffic based on IP addresses, ports, and protocols.
Shared-services prod
prod-acl-pub-shared-services | |||||
|---|---|---|---|---|---|
Rule number | Source | Type | Protocol | Port range | Action |
Inbound | |||||
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
Outbound | |||||
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
prod-acl-priv-shared-services | |||||
|---|---|---|---|---|---|
Rule number | Source | Type | Protocol | Port range | Action |
Inbound | |||||
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
|
| Custom TCP |
|
|
|
|
| All traffic |
|
|
|
Outbound | |||||
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
prod-acl-db-shared-services | |||||
|---|---|---|---|---|---|
Rule number | Source | Type | Protocol | Port range | Action |
Inbound | |||||
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
Outbound | |||||
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
Workload OU
Dev Public VPC
dev-acl-pub-workload-dev-public-vpc | |||||
|---|---|---|---|---|---|
Rule number | Source | Type | Protocol | Port range | Action |
Inbound | |||||
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
Outbound | |||||
|
| All traffic |
|
|
|
|
| All traffic |
|
|
|
dev-acl-pub-workload-dev-public-vpc | |||||
|---|---|---|---|---|---|
Rule number | Source | Type | Protocol | Port range | Action |
Inbound | |||||
100 |
| All traffic | ALL | ALL | Allow |
110 |
| All traffic | ALL | ALL | Allow |
120 |
| All traffic | ALL | ALL | Allow |
130 |
| All traffic | ALL | ALL | Allow |
140 |
| All traffic | ALL | ALL | Allow |
150 |
| All traffic | ALL | ALL | Allow |
160 |
| All traffic | ALL | ALL | Allow |
170 |
| All traffic | ALL | ALL | Allow |
180 |
| All traffic | ALL | ALL | Allow |
800 |
| All traffic | ALL | ALL | Allow |
2000 |
| Custom TCP | TCP | 1024-65535 | Allow |
* |
| All traffic | ALL | ALL | Deny |
Outbound | |||||
2000 |
| All traffic | ALL | ALL | Allow |
* |
| All traffic | ALL | ALL | Deny |
dev-acl-gwlb-workload-dev-public-vpc | |||||
|---|---|---|---|---|---|
Rule number | Source | Type | Protocol | Port range | Action |
Inbound | |||||
100 |
| All traffic | ALL | ALL | Allow |
110 |
| All traffic | ALL | ALL | Allow |
120 |
| All traffic | ALL | ALL | Allow |
130 |
| All traffic | ALL | ALL | Allow |
140 |
| All traffic | ALL | ALL | Allow |
150 |
| All traffic | ALL | ALL | Allow |
160 |
| All traffic | ALL | ALL | Allow |
170 |
| All traffic | ALL | ALL | Allow |
180 |
| All traffic | ALL | ALL | Allow |
800 |
| All traffic | ALL | ALL | Allow |
2000 |
| Custom TCP | TCP | 1024-65535 | Allow |
* |
| All traffic | ALL | ALL | Deny |
Outbound | |||||
2000 |
| All traffic | ALL | ALL | Allow |
* |
| All traffic | ALL | ALL | Deny |
dev-acl-infra-workload-dev-public-vpc | |||||
|---|---|---|---|---|---|
Rule number | Source | Type | Protocol | Port range | Action |
Inbound | |||||
100 |
| All traffic | ALL | ALL | Allow |
110 |
| All traffic | ALL | ALL | Allow |
2000 |
| Custom TCP | TCP | 1024-65535 | Allow |
* |
| All traffic | ALL | ALL | Deny |
Outbound | |||||
100 |
| All traffic | ALL | ALL | Allow |
110 |
| All traffic | ALL | ALL | Allow |
* |
| All traffic | ALL | ALL | Deny |
DEV Private VPC
dev-acl-priv-workload-dev-private-vpc | |||||
|---|---|---|---|---|---|
Rule number | Source | Type | Protocol | Port range | Action |
Inbound | |||||
100 |
| All traffic | ALL | ALL | Allow |
110 |
| All traffic | ALL | ALL | Allow |
120 |
| All traffic | ALL | ALL | Allow |
800 |
| All traffic | ALL | ALL | Allow |
2000 |
| Custom TCP | TCP | 1024-65535 | Allow |
* |
| All traffic | ALL | ALL | Deny |
Outbound | |||||
2000 |
| All traffic | ALL | ALL | Allow |
* |
| All traffic | ALL | ALL | Deny |
dev-acl-infra-workload-dev-private-vpc | |||||
|---|---|---|---|---|---|
Rule number | Source | Type | Protocol | Port range | Action |
Inbound | |||||
100 |
| All traffic | ALL | ALL | Allow |
110 |
| All traffic | ALL | ALL | Allow |
2000 |
| Custom TCP | TCP | 1024-65535 | Allow |
* |
| All traffic | ALL | ALL | Deny |
Outbound | |||||
100 |
| All traffic | ALL | ALL | Allow |
110 |
| All traffic | ALL | ALL | Allow |
* |
| All traffic | ALL | ALL | Deny |
DEV Isolated VPC
dev-acl-infra-workload-dev-private-vpc | |||||
|---|---|---|---|---|---|
Rule number | Source | Type | Protocol | Port range | Action |
Inbound | |||||
800 |
| All traffic | ALL | ALL | Allow |
* |
| All traffic | ALL | ALL | Deny |
Outbound | |||||
800 |
| All traffic | ALL | ALL | Allow |
* |
| All traffic | ALL | ALL | Deny |
Communication between accounts
Communication between accounts is set up by routing domains on Transit Gateways and VPCs route tables. Application environments are separated from each other without connectivity and Sandbox accounts are fully isolated.
|
|
|
|
|
|
| |
|---|---|---|---|---|---|---|---|
| X | No | Yes | Yes | No | No | No |
| No | X | Yes | Yes | No | No | No |
| Yes | Yes | X | Yes | Yes | Yes | Yes |
| Yes | Yes | Yes | X | Yes | Yes | Yes |
| No | No | Yes | Yes | X | No | Yes |
| No | No | Yes | Yes | No | X | Yes |
| No | No | Yes | Yes | Yes | Yes | X |
Expected Outcomes
Secure setup of AWS environment Network.
Centralized Internet connection.
Established connections between Spoke VPCs.