Skip to content

GovCloud Deployment Guide

The GenAI IDP Accelerator now supports “headless” deployment to AWS GovCloud regions through a specialized template generation script. This solution addresses two key GovCloud requirements:

  1. ARN Partition Compatibility: All ARN references use arn:${AWS::Partition}: instead of arn:aws: to work in both commercial and GovCloud regions
  2. Service Compatibility: Removes services not available in GovCloud (AppSync, CloudFront, WAF, Cognito UI components)
graph TB
A[Users] --> B[CloudFront Distribution]
B --> C[React Web UI]
C --> D[AppSync GraphQL API]
D --> E[Cognito Authentication]
E --> F[Core Processing Engine]
F --> G[Document Workflows]
G --> H[S3 Storage]
graph TB
A[Direct S3 Upload] --> F[Core Processing Engine]
F --> G[Document Workflows]
G --> H[S3 Storage]
I[CLI Tools] --> F
J[SDK Integration] --> F

You need to have the following packages installed on your computer:

  1. bash shell (Linux, MacOS, Windows-WSL)
  2. aws (AWS CLI)
  3. sam (AWS SAM)
  4. python 3.12 (required to generate templates)
  5. Node.js >=22.12.0
  6. npm >=10.0.0
  7. A local Docker daemon
  8. Python packages for the IDP CLI and SDK. Run make setup-venv from the project root to create a .venv and install all required packages (idp-cli, idp-sdk, idp_common). Activate with source .venv/bin/activate.

Build and deploy to GovCloud with a single command. The --from-code . flag builds from your local source code (required for GovCloud since public templates are not published for GovCloud regions), and --headless strips UI, AppSync, Cognito, and WAF resources:

Terminal window
idp-cli deploy \
--stack-name my-idp-headless-stack \
--region us-gov-west-1 \
--from-code . \
--headless \
--wait

Note: The CLI creates an S3 bucket automatically. Customize with --bucket-basename and --prefix.

Legacy: The scripts/generate_govcloud_template.py script is deprecated. Use idp-cli deploy --headless --from-code . instead.

The following services are automatically removed from the GovCloud template:

  • CloudFront distribution and origin access identity
  • WebUI S3 bucket and build pipeline
  • CodeBuild project for UI deployment
  • Security headers policy
  • AppSync GraphQL API and schema
  • All GraphQL resolvers and data sources (50+ resolvers)
  • Lambda resolver functions (20+ functions)
  • Test Studio Resources (36 resources): All test management Lambda functions, AppSync resolvers, data sources, SQS queues, and supporting infrastructure added in v0.4.6
  • API authentication and authorization
  • Chat infrastructure (ChatMessagesTable, ChatSessionsTable)
  • Agent chat processors and resolvers
  • Cognito User Pool and Identity Pool
  • User pool client and domain
  • Admin user and group management
  • Email verification functions
  • WAF WebACL and IP sets
  • IP set updater functions
  • CloudFront protection rules

Agent & Analytics Features (14 resources removed)

Section titled “Agent & Analytics Features (14 resources removed)”
  • AgentTable and agent job tracking
  • Agent request handler and processor functions
  • MCP/AgentCore Gateway Resources (7 resources): MCP integration components that depend on Cognito authentication (AgentCoreAnalyticsLambdaFunction, AgentCoreGatewayManagerFunction, AgentCoreGatewayExecutionRole, AgentCoreGateway, ExternalAppClient, and log groups)
  • External MCP agent credentials secret
  • Knowledge base query functions
  • Chat with document features
  • Text-to-SQL query capabilities
  • SageMaker A2I Human-in-the-Loop
  • Private workforce configuration
  • Human review workflows
  • A2I flow definition and human task UI
  • Cognito client for A2I integration

The following essential services remain available:

  • ✅ All 3 processing patterns (BDA, Textract+Bedrock, Textract+SageMaker+Bedrock)
  • ✅ Complete 6-step pipeline (OCR, Classification, Extraction, Assessment, Summarization, Evaluation)
  • ✅ Step Functions workflows
  • ✅ Lambda function processing
  • ✅ Custom prompt Lambda integration
  • ✅ S3 buckets (Input, Output, Working, Configuration, Logging)
  • ✅ DynamoDB tables (Tracking, Configuration, Concurrency)
  • ✅ Data encryption with customer-managed KMS keys
  • ✅ Lifecycle policies and data retention
  • ✅ CloudWatch dashboards and metrics
  • ✅ CloudWatch alarms and SNS notifications
  • ✅ Lambda function logging and tracing
  • ✅ Step Functions execution logging
  • ✅ SQS queues for document processing
  • ✅ EventBridge rules for workflow orchestration
  • ✅ Post-processing Lambda hooks
  • ✅ Evaluation and reporting systems

Without the web UI, you can interact with the system through:

Terminal window
# Upload documents directly to input bucket
aws s3 cp my-document.pdf s3://InputBucket/my-document.pdf
### 2. Check progress
Using the lookup script
```bash
# Use the lookup script to check document status
./scripts/lookup_file_status.sh documents/my-document.pdf MyStack

Or navigate to the AWS Step Functions workflow using the link in the stack Outputs tab in CloudFormation, to visually monitor workflow progress.

Access monitoring through CloudWatch console:

  • Navigate to CloudWatch → Dashboards
  • Find dashboard: {StackName}-{Region}
  • View processing metrics, error rates, and performance

Monitor processing through log groups:

  • /aws/lambda/{StackName}-* - Lambda function logs
  • /aws/vendedlogs/states/{StackName}/workflow - Step Functions logs
  • /{StackName}/lambda/* - Pattern-specific logs
  • SNS topic receives alerts for errors and performance issues
  • Configure email subscriptions to the AlertsTopic

The following features are not available:

  • Web-based user interface
  • Real-time document status updates via websockets
  • Interactive configuration management
  • User authentication and authorization via Cognito
  • CloudFront content delivery and caching
  • WAF security rules and IP filtering
  • Analytics query interface
  • Document knowledge base chat interface
  • Use S3 direct upload instead of web UI
  • Monitor through CloudWatch instead of real-time UI
  • Edit configuration files in S3 directly
  • Use CLI/SDK for authentication needs
  • Access content directly from S3
  • Implement custom security at application level
  • Query data through Athena directly
  • Use the lookup function for document queries
  1. IAM Roles: Use least-privilege IAM roles
  2. Encryption: Enable encryption at rest and in transit
  3. Network: Deploy in private subnets if required
  4. Access Control: Implement custom authentication as needed
  1. Monitoring: Set up CloudWatch alarms for critical metrics
  2. Logging: Configure appropriate log retention policies
  3. Backup: Implement backup strategies for important data
  4. Updates: Plan for template updates and maintenance
  1. Concurrency: Adjust MaxConcurrentWorkflows based on load
  2. Timeouts: Configure appropriate timeout values
  3. Memory: Optimize Lambda memory settings
  4. Batching: Use appropriate batch sizes for processing

Missing Dependencies

  • Ensure all Bedrock models are enabled in the region. GovCloud deployment uses amazon.nova-lite-v1:0, amazon.nova-pro-v1:0, us.anthropic.claude-3-5-sonnet-20240620-v1:0, and anthropic.claude-3-7-sonnet-20250219-v1:0 by default
  • Verify IAM permissions for service roles
  • Check S3 bucket policies and access

Processing Failures

  • Check CloudWatch logs for detailed error messages
  • Verify document formats are supported
  • Confirm configuration settings are valid
  1. AWS Documentation: GovCloud User Guide
  2. Bedrock in GovCloud: Model Availability
  3. Service Limits: GovCloud Service Quotas

If migrating an existing deployment:

  1. Export Configuration: Download all configuration from existing stack
  2. Export Data: Copy any baseline or reference data
  3. Deploy GovCloud: Use the generated template
  4. Import Configuration: Upload configuration to new stack
  5. Validate: Test processing with sample documents

GovCloud pricing may differ from commercial regions:

  • Review GovCloud Pricing
  • Update cost estimates in configuration files
  • Monitor actual usage through billing dashboards
  • The GovCloud version maintains the same security features
  • Data encryption and retention policies are preserved
  • All processing remains within GovCloud boundaries
  • No data egress to commercial AWS regions