Why 'Just Use GovCloud' Is Not a Compliance Strategy
Every year, a program office decides to move a system to AWS GovCloud (US) or Azure Government because someone told them it's 'FedRAMP compliant.' That's a half-truth. AWS and Azure hold FedRAMP High authorizations for the underlying infrastructure and a set of core services. Your application is not automatically covered. The Authorization to Operate (ATO) belongs to your system, built on top of that infrastructure, and it inherits only the controls the cloud provider actually implements for the services you use.
This distinction matters because it changes what your team is responsible for. FedRAMP and NIST 800-53 use a shared responsibility model, and the split is different for IaaS, PaaS, and SaaS. Put a Lambda function or an Azure Function behind an undocumented API gateway and you've just taken on control ownership nobody scoped, budgeted, or staffed for. The first real deliverable in any GovCloud migration is not a landing zone diagram. It's an inherited-control matrix that says, service by service, who owns FedRAMP control implementation, evidence, and continuous monitoring.
Skipping this step is how agencies end up with a system that looks compliant in the architecture diagram and fails its assessment six months later because nobody could produce evidence for AC-2 account management on a managed database service they assumed 'came with' FedRAMP coverage.
Drawing the Authorization Boundary Before You Draw the Network
The authorization boundary is the single most consequential document in a GovCloud migration, and it's usually written last, if at all. It defines what's inside your ATO and what's outside it: which accounts, subscriptions, VPCs, VNets, data stores, APIs, and third-party integrations are part of the system being assessed. Everything inside gets full control coverage. Everything outside is either explicitly out of scope with a documented interconnection agreement, or it's a boundary violation waiting to be found by an assessor or an IG audit.
A common mistake is drawing the boundary around the compute and storage layer but forgetting the CI/CD pipeline, the identity provider, the SIEM forwarding logs off-platform, and the vendor SaaS tool that a data engineer connected via API key. If CUI or FCI data touches any of those, they're in scope whether you documented them or not. NIST 800-171 and 800-172 apply the same logic for Controlled Unclassified Information handled by contractors, and CMMC assessors look specifically for boundary gaps around data flow diagrams versus actual data flows.
Draw the boundary as a data-flow map first, not a network diagram. Follow the CUI or FCI from ingestion to storage to every downstream consumer, including reporting tools, ML pipelines, and human analysts with export capability. The network diagram should be the implementation of that data-flow boundary, not a substitute for it.
CUI, Data Residency, and Where 'Government Cloud' Actually Helps
AWS GovCloud and Azure Government exist mainly to satisfy two things: personnel screening requirements (US persons only in the data centers) and ITAR-adjacent data residency rules. If your workload doesn't handle CUI, ITAR-controlled technical data, or export-controlled information, you may not need GovCloud at all, and commercial regions with FedRAMP Moderate or High authorization might meet your requirements at lower cost. This is worth a real analysis, not an assumption, because GovCloud pricing runs 15-50% higher depending on service, and the SKU availability lags commercial regions by months or years for newer services.
When CUI is genuinely in play, data residency isn't just about which region hosts the data. It includes support access, backup replication targets, and where log data lands. A misconfigured CloudWatch or Azure Monitor export that routes logs through a commercial region breaks residency even if the primary data store is correctly placed in GovCloud. Same for third-party monitoring or ticketing SaaS tools that ingest system logs for support purposes.
Encryption key management deserves particular attention. Customer-managed keys (AWS KMS or Azure Key Vault with a customer-controlled key) give you an audit trail and revocation capability that provider-managed keys don't. For CUI workloads, this is usually the difference between a defensible control narrative and a hand-wave.
Landing Zone Security: The Controls That Actually Get Assessed
A FedRAMP or CMMC assessment doesn't spot-check your architecture; it walks through control families and demands evidence. The landing zone -- your account/subscription structure, network segmentation, identity federation, and logging baseline -- generates most of that evidence. Get it wrong and every subsequent workload inherits the gap.
The landing zone pattern that holds up under assessment separates workloads by sensitivity and function into distinct accounts or subscriptions, with a centralized log archive account that workload accounts cannot write to selectively (append-only, with retention locked). Identity should be federated through a single IdP with conditional access and phishing-resistant MFA, not local accounts sprinkled across services. Network egress should default to deny, with explicit allow-lists for update servers, package repositories, and any external API.
Common landing zone gaps that fail assessments:
Common landing zone gaps that fail assessments include treating logging as an afterthought instead of a day-one requirement, using shared service accounts across environments, and leaving default security group or NSG rules in place after initial provisioning.
- No centralized, immutable audit log separate from workload accounts (SI-4, AU-9 findings)
- Overly broad IAM roles or service principals with standing admin access (AC-6 findings)
- Missing or misconfigured FIPS 140-2/140-3 validated encryption modules for data at rest and in transit
- No automated configuration drift detection against the approved baseline (CM-2, CM-6)
- Third-party SaaS integrations connected without a documented interconnection security agreement
The Cost and Timeline Tradeoffs Agencies Underestimate
The migration business case almost always undercounts three things: the assessment and continuous monitoring overhead, the engineering cost of building for the boundary rather than around it, and the ongoing cost of GovCloud service parity gaps. A FedRAMP Moderate ATO from a cold start typically runs a year or more when you include a 3PAO assessment, POA&M remediation cycles, and agency review. Building the system to be assessment-ready from day one -- automated evidence collection, infrastructure as code with control mappings baked into the templates, immutable logging -- cuts that timeline more than any amount of after-the-fact documentation.
Cost surprises tend to cluster around three items: egress and cross-region replication charges that weren't modeled against the actual data flow volume, the premium for GovCloud-exclusive service tiers that lag commercial pricing improvements, and staffing for continuous monitoring (ConMon) deliverables that many teams assume are a one-time assessment cost rather than a recurring monthly obligation.
The tradeoff that pays off almost every time: invest in infrastructure-as-code templates that encode the control baseline (CIS benchmarks mapped to NIST 800-53 control IDs) so every new environment inherits the security posture instead of rebuilding it. This is also the only way continuous monitoring stays sustainable once the system is in production and changing weekly.
Building It So It Holds Up to Scrutiny
We build GovCloud environments the way we'd want them audited: infrastructure as code with control mappings documented in the same repository as the Terraform or Bicep, evidence collection automated rather than screenshot-driven, and a human sign-off gate on any change that touches the authorization boundary or CUI data flow. Nothing in the pipeline auto-deploys a boundary change without review.
That fail-closed posture -- deny by default, log everything, require a person to approve anything that expands scope -- is slower on day one and considerably cheaper over the life of the ATO. It's also the only approach that survives a 3PAO assessment or an IG audit without a scramble. If you're weighing AWS GovCloud against Azure Government, or wondering whether you need GovCloud at all, that boundary-first discipline is the actual decision that determines whether the migration succeeds.
Building AI or data systems your agency can trust?
VAERESOURCE is an SBA-certified SDVOSB/VOSB/WOSB data-engineering and trusted-AI firm for federal, state, and local missions. See our services.
Start a conversation →