Adding a Secondary Region — Verifying Steps & TGW Setup #116
-
|
We're looking at adding the secondary region (currently us-east-2 - adding us-west-2). We have the CIDR for the new region figured out, and I came across this doc, but it seems a bit outdated. I wanted to verify whether these are still the recommended steps. I'm trying to narrow down the proper sequence and understand how much can be copied from existing files (swapping out the mixins, etc.) from the quickstart we received If possible, I'd also appreciate more detailed guidance on the secondary-region TGW setup. I found a previous discussion & doc on this topic, but they appear to reference older setups that had connections defined and tgw/spokes with
|
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 5 replies
-
|
@jaguer0 thanks for the question. The docs at https://docs.cloudposse.com/layers/accounts/tutorials/how-to-add-or-mirror-a-new-region/ are obsolete and needs to be updated (we'll be working on it). For now, please see the doc describing how to provision all TGW components in another region and connect the two regions together via a TGW peering connection. Please let me know if you have questions or need help. Transit Gateway (TGW) ComponentsObsolete Documentation Notice
OverviewThe Transit Gateway (TGW) components provide centralized network connectivity across VPCs in multiple AWS accounts. Components1.
|
Old Pattern (tgw/spoke) |
New Pattern (separate components) |
|---|---|
| All connections defined in hub | Each account manages its own attachment |
| Adding an account requires changing hub config | Adding an account = new attachment + route entries |
| Single deployment for all connections | Granular per-account deployments |
peered_region: true for cross-region |
Explicit tgw/cross-region-hub-connector |
Cross-Account References
All cross-component dependencies use !terraform.state in stack YAML:
tgw/attachmentreadstransit_gateway_idfromtgw/hubin the network accounttgw/routesreadstransit_gateway_vpc_attachment_idfrom eachtgw/attachmentvpc-routesreadsvpc_cidrfrom each account'svpcandtransit_gateway_idfromtgw/hub
TGW Is Regional
Transit Gateway is a regional resource. For multi-region connectivity:
- Deploy a separate
tgw/hubin each region - Use
tgw/cross-region-hub-connectorto peer hubs - Deploy
tgw/attachmentandtgw/routesindependently in each region - Add static routes for cross-region traffic through the peering attachment
Adding a New Account
When adding a new account (e.g., plat-use2-qa) to an existing TGW setup:
Step 1: Deploy VPC in the new account
atmos terraform apply vpc -s plat-use2-qaStep 2: Deploy TGW Attachment in the new account
atmos terraform apply tgw/attachment -s plat-use2-qaStep 3: Update TGW Routes in the network account
Add the new attachment ID to the route propagation list in the network account's stack config, then apply:
atmos terraform apply tgw/routes -s core-use2-networkStep 4: Deploy VPC Routes in the new account
atmos terraform apply vpc/routes/private -s plat-use2-qaStep 5: Update VPC Routes in existing accounts
Add a route for the new account's VPC CIDR in each existing account's vpc-routes config, then re-apply:
atmos terraform apply vpc/routes/private -s core-use2-network
atmos terraform apply vpc/routes/private -s core-use2-auto
atmos terraform apply vpc/routes/private -s plat-use2-sandbox
atmos terraform apply vpc/routes/private -s plat-use2-dev
atmos terraform apply vpc/routes/private -s plat-use2-staging
atmos terraform apply vpc/routes/private -s plat-use2-prodImportant: Steps 3-5 require updating existing stack configurations. Use separate PRs if deploying via Atmos Pro
to respect dependency ordering.
Troubleshooting
Attachment Fails with "Transit Gateway Not Found"
- Verify
tgw/hubis deployed and thetransit_gateway_id!terraform.statereference points to the correct stack - Check that AWS RAM sharing is enabled and accepted in the spoke account
- Verify the spoke account is in the same region as the TGW hub
Routes Not Working
- Verify
tgw/routesincludes the attachment ID for both source and destination accounts - Check VPC route tables have routes pointing to the TGW for destination CIDRs
- Ensure security groups allow traffic between the VPCs
- Check NACLs if applicable
Cross-Region Peering Not Working
- Verify both
tgw/hubinstances are deployed (one per region) - Check the peering attachment is in
availablestate - Verify static routes are configured in both regions'
tgw/routespointing through the peering attachment
References
Beta Was this translation helpful? Give feedback.
@jaguer0 thanks for the question.
The docs at https://docs.cloudposse.com/layers/accounts/tutorials/how-to-add-or-mirror-a-new-region/ are obsolete and needs to be updated (we'll be working on it).
For now, please see the doc describing how to provision all TGW components in another region and connect the two regions together via a TGW peering connection. Please let me know if you have questions or need help.
Transit Gateway (TGW) Components
Obsolete Documentation Notice