AWS Architecture
Last Updated: 2026-03-06 Sources: .state/discovered-accounts.json (247 accounts), .state/org-ous.json (17 OUs), .state/discovered-scps.json (19 SCPs), .state/upstream-status.json
Executive Summary
The NDX:Try AWS platform operates within a single AWS Organization (o-4g8nrlnr9s) managed by account 955063685555. The organization contains 117 accounts: 110 pool accounts for sandbox workloads, 1 hub account (568672915267) running the ISB control plane, and 6 supporting infrastructure accounts (Network, Perimeter, SharedServices, Audit, LogArchive, and the management account itself). All ISB operations are restricted to us-east-1 and us-west-2 regions, with the primary deployment in us-east-1.
Organization Structure (117 Accounts, 10 OUs)
Account Inventory Summary
| Category | Count | Examples |
|---|---|---|
| Management | 1 | gds-ndx-try-aws-org-management (955063685555) |
| ISB Hub | 1 | InnovationSandboxHub (568672915267) |
| Pool Accounts | 110 | pool-001 through pool-121 |
| Security | 2 | Audit (406429476767), LogArchive (408585017257) |
| Infrastructure | 3 | Network, Perimeter, SharedServices |
| Total | 117 |
All pool account emails follow the pattern: ndx-try-provider+gds-ndx-try-aws-pool-NNN@dsit.gov.uk
Hub Account (568672915267) Architecture
Pool Account Lifecycle
OU-Based State Management
Pool accounts move between child OUs under ndx_InnovationSandboxAccountPool based on their lifecycle state. Different SCPs are attached to each OU to enforce appropriate restrictions.
Service Control Policies (19 SCPs)
SCP Hierarchy
ISB-Specific SCP Summary
| SCP | Applied To | Description |
|---|---|---|
| InnovationSandboxRestrictionsScp | Pool OU | Region restrictions (us-east-1, us-west-2), network isolation |
| InnovationSandboxAwsNukeSupportedServicesScp | Pool OU | Only allow services that AWS Nuke can clean |
| InnovationSandboxProtectISBResourcesScp | Pool OU | Prevent modification of ISB control plane resources |
| InnovationSandboxWriteProtectionScp | Available + Quarantine OUs | Read-only access (no create/modify) |
| InnovationSandboxCostAvoidanceComputeScp | Active OU | Restrict EC2, EBS, RDS, EKS instance types |
| InnovationSandboxCostAvoidanceServicesScp | Active OU | Block SageMaker, EMR, Redshift, Neptune |
Cross-Account Trust Relationships
Hub to Pool Accounts
Hub to Organization Management
Network Architecture
Hub Account VPC (LZA Managed)
VPC: 10.0.0.0/16 (approximate - LZA configured)
+-- Public Subnets (us-east-1a, 1b, 1c)
| +-- NAT Gateways (for Lambda internet access)
| +-- Internet Gateway
+-- Private Subnets (us-east-1a, 1b, 1c)
+-- Lambda ENIs (for VPC-attached functions)
+-- CodeBuild (for AWS Nuke execution)
Pool Accounts
Pool accounts have no pre-configured networking. Users can create their own VPCs subject to SCP restrictions (region-limited to us-east-1 and us-west-2).
Region Usage
Primary: us-east-1
All ISB Core Lambda functions, DynamoDB tables, API Gateway, Step Functions, CodeBuild, and EventBridge are deployed in us-east-1.
Secondary: us-west-2
Available as a secondary region for pool account workloads per SCP restrictions. Pool accounts may create resources in both us-east-1 and us-west-2.
Global Services
| Service | Scope |
|---|---|
| CloudFront | Edge locations worldwide |
| Identity Center | Global service |
| Organizations | Global service |
| Route 53 | Global DNS |
Cross-Region Access
| Source | Target | Purpose |
|---|---|---|
| Hub (us-east-1) | Bedrock (us-east-1) | AI scoring |
| Hub (us-east-1) | Cost Explorer (us-east-1) | Billing data |
| Hub (us-east-1) | S3 (us-east-1) | Screenshots bucket |
AWS Service Usage Map
| Service | Usage | Account(s) | Count |
|---|---|---|---|
| Lambda | Core functions + satellites | Hub | 21+ functions |
| DynamoDB | Data persistence | Hub | 6 tables |
| S3 | Storage, frontend, templates, exports | Hub, Pool | 15+ buckets |
| API Gateway | REST API (ISB) | Hub | 1 API |
| EventBridge | Event-driven architecture | Hub | 1 custom bus, 10+ rules |
| Step Functions | Cleanup + approval workflows | Hub | 2 state machines |
| CodeBuild | AWS Nuke execution | Hub | 1 project |
| EventBridge Scheduler | Per-lease cost collection delays | Hub | Dynamic schedules |
| SQS | Billing separator delay queue | Hub | 2 queues (+DLQs) |
| Secrets Manager | GitHub token, IDC config, API keys | Hub | 3+ secrets |
| CloudFormation | IaC deployments | Hub, Pool | 20+ stacks |
| Organizations | Multi-account management | Management | 1 org, 10 OUs |
| Identity Center | SSO authentication | Organization | 1 instance |
| Cost Explorer | Billing data API | Management | API access |
| Bedrock | AI risk assessment | us-east-1 | Model invocations |
| CloudFront | CDN for ISB + NDX frontends | Hub | 2 distributions |
| Cognito | JWT authentication | Hub | 1 user pool |
| SNS | Alerting | Hub | 3+ topics |
| CloudWatch | Logs, metrics, alarms | All accounts | Full stack |
| KMS | Encryption | Hub | Multiple CMKs |
Disaster Recovery
Current State: Single-Region (us-east-1)
| Metric | Value |
|---|---|
| Recovery Time Objective (RTO) | ~4-8 hours |
| Recovery Point Objective (RPO) | ~1 hour (DynamoDB PITR) |
Backup Strategy
- DynamoDB Point-in-Time Recovery (35 days retention)
- DynamoDB automated daily backups
- S3 versioning enabled on critical buckets
- All infrastructure defined as code (CDK + Terraform + LZA)
Failover Plan
- Deploy ISB Core to us-west-2 (backup region)
- Restore DynamoDB tables from PITR
- Update DNS/CloudFront to point to new region
- Redeploy satellite stacks
- Reconfigure Identity Center integration
Limitation: Manual failover process with no active-active deployment.
Cost Profile
Monthly Estimate (Platform Infrastructure Only)
| Service | Monthly Cost (est.) | Notes |
|---|---|---|
| Lambda | ~$65 | 21+ functions, on-demand |
| DynamoDB | ~$50 | 6 tables, on-demand mode |
| NAT Gateway | ~$40 | Data transfer charges |
| Cost Explorer API | ~$12 | 100 req/hour limit |
| EventBridge | ~$10 | Custom bus + rules |
| S3 | ~$9 | Multiple buckets |
| Bedrock (Claude 3) | ~$3 | ~$0.0024/approval |
| CloudWatch | ~$6 | Logs, metrics, alarms |
| Secrets Manager | ~$4 | 3+ secrets |
| Other | ~$8 | SNS, SQS, CodeBuild |
| Total | ~$207/month | Platform only (excludes pool usage) |
References
- 02-aws-organization.md - Organization structure details
- 03-hub-account-resources.md - Hub account resource inventory
- 04-cross-account-trust.md - IAM trust relationships
- 05-service-control-policies.md - SCP details
- 80-c4-architecture.md - C4 architecture diagrams
Generated from source analysis. See 00-repo-inventory.md for full inventory.