Skip to main content

Plan your deployment

Before deploying Visual Asset Management System (VAMS), review the decisions on this page to determine the architecture, authentication method, and optional features that best fit your environment.

Deployment modes

VAMS supports three deployment modes. Your choice depends on the AWS partition, network isolation requirements, and organizational security policies.

ModeWeb distributionPartitionVPC requiredDescription
CommercialAmazon CloudFront + Amazon S3awsOptionalDefault mode. Uses Amazon CloudFront for global edge caching and static website hosting.
GovCloudApplication Load Balancer + Amazon S3aws-us-govYesFor AWS GovCloud (US) Regions. Amazon CloudFront is not available; an Application Load Balancer (ALB) serves the web application. Supports full VPC isolation with VPC endpoints for restricted environments.
GovCloud constraints

When deploying to AWS GovCloud, the following services are unavailable or restricted:

  • Amazon CloudFront is not supported. Use the ALB deployment mode.
  • Amazon Location Service is not supported. Disable app.useLocationService.enabled.
  • AWS WAF AdvancedSecurityMode for Amazon Cognito is not available (automatically suppressed). :::

Key decisions

Authentication provider

VAMS supports three authentication approaches. You must choose exactly one.

OptionConfigurationDescription
Amazon Cognito (default)authProvider.useCognito.enabled: trueVAMS creates and manages an Amazon Cognito user pool. Users receive a temporary password by email. Supports optional SAML federation.
Amazon Cognito with SAMLauthProvider.useCognito.enabled: true and useSaml: trueAmazon Cognito with federated SAML from an external identity provider (IdP). Requires additional SAML configuration.
External OAuth IdPauthProvider.useExternalOAuthIdp.enabled: trueBring your own OAuth 2.0 / OpenID Connect identity provider (for example, PingFederate, Okta). Requires configuring multiple IdP endpoint URLs and client credentials.

Web distribution

OptionWhen to useConfiguration
Amazon CloudFrontCommercial AWS. Provides global edge caching, AWS-managed TLS, and a generated domain URL.useCloudFront.enabled: true
Amazon CloudFront with custom domainCommercial AWS with organizational branding requirements. Requires an AWS Certificate Manager (ACM) certificate in us-east-1.useCloudFront.customDomain.enabled: true
Application Load BalancerAWS GovCloud or when CloudFront is not permitted. Requires a registered domain name and an ACM certificate in the deployment Region.useAlb.enabled: true
API only (no web UI)Headless deployments driven entirely through API or CLI.Both useCloudFront.enabled: false and useAlb.enabled: false
Mutual exclusion

You cannot enable both Amazon CloudFront and ALB simultaneously. The deployment will fail validation if both are set to true.

Search capability

Amazon OpenSearch Service provides full-text search, filtering, and map-view functionality in the VAMS web interface.

OptionConfigurationNotes
OpenSearch ServerlessopenSearch.useServerless.enabled: trueFully managed, pay-per-use. No VPC required. Default for commercial deployments.
OpenSearch ProvisionedopenSearch.useProvisioned.enabled: trueDedicated cluster with configurable instance types. Requires VPC with a minimum of 3 Availability Zones.
No OpenSearchBoth set to falseSearch is disabled. The assets page returns all authorized assets without filtering.
Choose only one

You cannot enable both OpenSearch Serverless and OpenSearch Provisioned at the same time.

VPC configuration

OptionConfigurationNotes
No VPCuseGlobalVpc.enabled: falseSimplest deployment. Not compatible with ALB, OpenSearch Provisioned, or container-based pipelines.
VAMS-managed VPCuseGlobalVpc.enabled: true with vpcCidrRangeVAMS creates a new VPC with isolated, private, and public subnets. Specify a CIDR range (for example, 10.1.0.0/16).
Import existing VPCuseGlobalVpc.enabled: true with optionalExternalVpcIdImport an existing VPC by ID. Requires providing isolated subnet IDs and optionally private and public subnet IDs. See Deploy the solution for the two-phase deployment process.
Automatic VPC enablement

The VPC is automatically enabled when any of the following features are turned on: ALB deployment, OpenSearch Provisioned, or any container-based pipeline (Potree viewer, Gaussian splatting, GenAI labeling, RapidPipeline, ModelOps, Isaac Lab, 3D preview thumbnail).

Subnet sizing guidance:

FeatureIPs per subnet
ALBUp to 8 (scales during runtime)
Container-based pipelines~2 per active workflow execution
Lambda functions in VPC1 per deployed function per subnet (~66 in v2.5)
VPC interface endpoints1 per endpoint per subnet

A minimum of 128 IPv4 addresses per subnet is recommended.

Encryption

OptionConfigurationNotes
AWS-managed keys (default)useKmsCmkEncryption.enabled: falseUses default or AWS-managed encryption for Amazon S3, Amazon DynamoDB, Amazon SQS, and Amazon SNS.
Customer-managed KMS keyuseKmsCmkEncryption.enabled: trueVAMS creates a customer-managed AWS KMS key and applies it to all storage resources. Optionally import an existing key with optionalExternalCmkArn.