Auckland
Progress checklist
Overview
Section titled “Overview”Same deny attach as Sydney, then re-apply
environment/sandbox/ap-southeast-2/hub-peering so the peer moves onto each
hub’s inspection RT (double-inspect).
enable_network_firewall = truefirewall_rules_enabled = false-
Apply Akl hub:
Terminal window cd environment/sandbox/ap-southeast-6/hubterraform apply -
Capture outputs:
Terminal window export AWS_PROFILE=YOUR_HUB_PROFILEterraform output -raw enable_network_firewallterraform output -raw firewall_rules_enabledterraform output -raw firewall_arnterraform output -raw spoke_association_route_table_idterraform output -raw inspection_route_table_idterraform output -raw no_inspection_route_table_idterraform output -json firewall_endpoint_idstruefalsearn:aws:network-firewall:ap-southeast-6:241533147323:firewall/nfw-lab-akltgw-rtb-088d989b87ff8da52tgw-rtb-088d989b87ff8da52tgw-rtb-0de1397f3982b6434{"ap-southeast-6a": "vpce-0fa4b27f7781529a8"} -
Firewall READY:
Terminal window export AWS_PROFILE=YOUR_HUB_PROFILEFW=$(terraform output -raw firewall_arn)aws network-firewall describe-firewall --region ap-southeast-6 \--firewall-arn "$FW" --query 'FirewallStatus.Status' --output textREADY -
Hairpin:
Terminal window export AWS_PROFILE=YOUR_HUB_PROFILEEP=$(terraform output -json firewall_endpoint_ids | jq -r 'to_entries[0].value')aws ec2 describe-route-tables --region ap-southeast-6 \--filters "Name=tag:Name,Values=*insp-tgw-rt" \--query "RouteTables[].Routes[?VpcEndpointId=='$EP'].[DestinationCidrBlock,VpcEndpointId]" \--output text0.0.0.0/0 vpce-0fa4b27f7781529a8 -
Move Akl spokes onto inspection:
Terminal window cd ../workload-dev && terraform applycd ../workload-prod && terraform apply -
Confirm both spoke associations:
Terminal window export AWS_PROFILE=YOUR_HUB_PROFILEINSP=$(cd ../hub && terraform output -raw inspection_route_table_id)DEV=$(cd ../workload-dev && terraform output -raw attachment_id)PROD=$(cd ../workload-prod && terraform output -raw attachment_id)DEV_ASSOC=$(aws ec2 describe-transit-gateway-attachments --region ap-southeast-6 \--transit-gateway-attachment-ids "$DEV" \--query 'TransitGatewayAttachments[0].Association.TransitGatewayRouteTableId' \--output text)PROD_ASSOC=$(aws ec2 describe-transit-gateway-attachments --region ap-southeast-6 \--transit-gateway-attachment-ids "$PROD" \--query 'TransitGatewayAttachments[0].Association.TransitGatewayRouteTableId' \--output text)echo "dev=$DEV_ASSOC insp=$INSP"echo "prod=$PROD_ASSOC insp=$INSP"dev=tgw-rtb-088d989b87ff8da52 insp=tgw-rtb-088d989b87ff8da52prod=tgw-rtb-088d989b87ff8da52 insp=tgw-rtb-088d989b87ff8da52 -
Re-apply hub-peering:
Terminal window cd ../../ap-southeast-2/hub-peeringterraform apply -
Peer association = inspection on both Regions:
Terminal window export AWS_PROFILE=YOUR_HUB_PROFILEPEER=$(terraform output -raw peering_attachment_id)SYD_INSP=$(cd ../hub && terraform output -raw inspection_route_table_id)AKL_INSP=$(cd ../../ap-southeast-6/hub && terraform output -raw inspection_route_table_id)SYD_ASSOC=$(aws ec2 describe-transit-gateway-attachments --region ap-southeast-2 \--transit-gateway-attachment-ids "$PEER" \--query 'TransitGatewayAttachments[0].Association.TransitGatewayRouteTableId' \--output text)AKL_ASSOC=$(aws ec2 describe-transit-gateway-attachments --region ap-southeast-6 \--transit-gateway-attachment-ids "$PEER" \--query 'TransitGatewayAttachments[0].Association.TransitGatewayRouteTableId' \--output text)echo "syd peer=$SYD_ASSOC insp=$SYD_INSP"echo "akl peer=$AKL_ASSOC insp=$AKL_INSP"syd peer=tgw-rtb-09996f46ffff7d5c6 insp=tgw-rtb-09996f46ffff7d5c6akl peer=tgw-rtb-088d989b87ff8da52 insp=tgw-rtb-088d989b87ff8da52 -
No stateful PASS groups on the Akl policy:
Terminal window export AWS_PROFILE=YOUR_HUB_PROFILEcd ../../ap-southeast-6/hubFW=$(terraform output -raw firewall_arn)POL=$(aws network-firewall describe-firewall --region ap-southeast-6 \--firewall-arn "$FW" --query Firewall.FirewallPolicyArn --output text)aws network-firewall describe-firewall-policy --region ap-southeast-6 \--firewall-policy-arn "$POL" \--query 'FirewallPolicy.StatefulRuleGroupReferences' --output jsonnull