DEMO uses a multi-account, tier-separated network architecture in AWS GovCloud and a hub-and-spoke reference architecture in Microsoft Azure Government, with site-to-site IPsec VPN providing the private inter-cloud path. Public services terminate TLS at internet-facing load balancers in each cloud; private services communicate within their respective cloud over isolated subnets with default-deny network controls.

In AWS GovCloud, the workload account is segmented into four subnet tiers across three availability zones: a public tier hosting the internet-facing Application Load Balancer (TLS 1.2+ termination with AWS WAF in front), an application tier hosting the web (nginx), application (Spring Boot), and Kubernetes workloads (EKS pods, including the GPU node group serving model inference and the embedding workers), a data tier hosting the primary application database (RDS PostgreSQL 15.4), the Aurora PostgreSQL vector store holding tenant embeddings, and the audit log database (Aurora MySQL 8.0), and a management tier hosting the Windows Server 2022 jumpbox and AWS Managed Microsoft AD directory service. Security Groups enforce default-deny ingress at each tier boundary, with explicit allow rules limited to the necessary protocols and ports. Outbound traffic from private subnets egresses through a NAT Gateway with an FQDN allowlist limiting destinations to Microsoft Azure Government endpoints (Entra ID, Defender for Cloud, Sentinel), vulnerability intelligence feeds (CISA KEV, EPSS), the Stratus GRC-ITSM (HALOGRC) API endpoint for outbound operational metadata, AWS service endpoints, and approved OS and container package mirrors. The GPU inference node group has no egress route to the internet; model artifacts are pulled from the object-locked S3 model bucket over a VPC endpoint.

In Microsoft Azure Government, a hub VNet hosts shared services (the Azure Application Gateway with WAF v2 for the admin portal and the Microsoft Defender for Cloud sensor) and connects to one or more spoke VNets through VNet peering. The application spoke hosts the Entra Connect synchronization VM, the Azure SQL Database for authentication metadata, and the Azure Container Registry. Network Security Groups enforce default-deny ingress at each subnet boundary; outbound traffic is constrained via service tags and NSG rules limited to Microsoft Azure Government service endpoints, AWS service endpoints reached over the inter-cloud VPN, and approved package mirrors.

The two clouds are connected through a site-to-site IPsec VPN between an AWS Transit Gateway VPN attachment and an Azure VPN Gateway. The Entra Connect identity synchronization, Sentinel log ingestion from AWS workloads, and Defender for Cloud multi-cloud monitoring traffic traverse this private path. Public-internet calls between clouds (for example, Defender for Cloud agent telemetry from AWS hosts) use TLS 1.2+ to Microsoft Azure Government endpoints.

Administrative access uses AWS Systems Manager Session Manager and Microsoft Entra Privileged Identity Management. Administrators reach the AWS Windows jumpbox through SSM Session Manager, which removes the need for inbound SSH or RDP exposure to the internet; session traffic flows over IAM-authorized API calls to AWS endpoints over TLS. Administrators reach the Azure admin portal through Entra-enforced multi-factor authentication with Entra PIM just-in-time role activation, requiring an approval workflow and time-bound elevation. All administrative actions are logged in CloudTrail (AWS) and Entra audit logs (Azure), and forwarded to Microsoft Sentinel for correlation and retention.
