Overview
The Enterprise tier is the highest-capability preset Fjall scaffolds. It combines large compute allocations, KMS customer-managed keys across every data store, RDS Proxy with TLS, four interface VPC endpoints, S3-backed flow logs with 365-day retention, and the enterprise backup tier, which turns on everything the lower tiers leave off: 35-day database backups, advanced Database Insights, deletion protection, one customer-managed key per stack for DynamoDB, SNS, Lambda, log groups and ECS Exec, Container Insights, load balancer and CloudFront access logs, and Lambda X-Ray tracing. An operator identity that runsaws ecs execute-command at this tier needs kms:GenerateDataKey on the stack key as well as ecs:ExecuteCommand. IAM Role → ECS services shows the grant.
From fjall 38 the tier’s CloudFront access logs are delivered by CloudWatch-vended standard logging (v2), which this tier turns on by default. CloudWatch Logs creates the delivery resources in us-east-1 only: an application deployed to us-east-1 keeps them in its CDN stack, and an application in any other region gets a <App>UsEast1CdnLogging stack that holds them, deploys after the CDN stack and is destroyed before it.
See CDN Factory → logging to point delivery at another bucket. logging: false on a CDN turns its delivery off, and an application with no logging CDN gets no <App>UsEast1CdnLogging stack.
Enterprise is a gated tier. Selecting it runs an entitlement check that blocks
with “Enterprise tier requires an Enterprise plan.” when your organisation is
on a lower plan.
Prerequisites
Create an Enterprise Application
fjall create app with no flags to pick the tier from a menu instead. The first prompt reads ? Choose your starting point? and lists six options in this order: Standard, Lightweight, Resilient, Enterprise, Tinkerer, Custom. Standard is pre-highlighted unless you passed -t/--type.
Architecture
What’s Included
Database Variants
fjall create app --type enterprise scaffolds Aurora. Every other variant is available through fjall add database, and each one carries its own Enterprise configuration.
Global write forwarding lets an application connected to a secondary-region reader issue writes. Aurora forwards them to the primary writer rather than rejecting them, so a multi-region application keeps one connection string per region.
Add a variant by naming both the database type and the tier:
--tier on fjall add database requires --type, because a tier configures each database type differently.
Generated Infrastructure
Creating an Enterprise application writes aninfrastructure.ts close to this:
fjall add, fjall modify and fjall remove to change it.
Enterprise vs Resilient
Both tiers run 3 AZs, 3 NAT Gateways, CMK storage encryption, and RDS Proxy with TLS. These rows are where they differ. The backup-tier rows apply to every resource the application adds later, not only the scaffolded ones.Backup and Recovery
Enterprise is the only tier whose recovery points leave the account. It runs two rules, each with one destination, because they answer different questions.
The continuous rule is the outage answer: inside its 35-day window you can
restore to any second, and the copy in the DR region survives losing the primary
one. AWS supports that second-level window for three of the five types this tier
enrols — S3 buckets, RDS instances and Aurora clusters. A ClickHouse data volume
and a DynamoDB table are enrolled by the same rule and receive a daily snapshot
kept 35 days instead, so their finest granularity is a day rather than a second.
The monthly rule is the record: a snapshot a month for seven years, in an account
your application’s credentials cannot reach.
Resources join the plan through the
fjall:disasterRecovery:tier tag, applied
from backup: { tier: "enterprise" }. The vaults and the plans live in the
account infrastructure, not the application stack.
Beyond day 35 the only recovery points are the monthly ones. The plan asks for
them to move to cold storage at day 90, and AWS honours that request only for
the resource types it supports cold storage on — of the five this tier enrols,
DynamoDB tables qualify and the rest do not (an EBS-backed data volume would
need an archive opt-in Fjall does not yet emit). Budget the seven-year record
as warm storage, and size your recovery objectives against the rule that
actually covers the age you need to restore from.
When to Use
Enterprise suits:- Regulated industries (finance, healthcare) that require audit trails and customer-managed encryption keys
- High-throughput applications that need 100 concurrent tasks or more
- Workloads that must keep AWS API traffic off the public internet via interface endpoints
- Organisations with long-term log retention obligations
Cost Considerations
Enterprise runs at a higher baseline than every other tier because of:- 6 Fargate tasks running continuously (2 vCPU and 4 GB each)
- 3 NAT Gateways, one per AZ
- Aurora with 2 readers plus RDS Proxy
- 4 VPC interface endpoints, billed per hour per endpoint per AZ
- S3 flow-log storage held for 365 days
- CloudFront access logs on an application with a CDN, delivered through CloudWatch Logs from fjall 38 (budget for the vended-log delivery charge per GB, plus S3 storage and requests for the objects)
- Three copies of every monthly recovery point — the source vault, the DR region and the compliance account — held warm for the full seven years for every type but DynamoDB
fjall costs against a deployed application for figures from your own account.
Next Steps
Deploy Application
Deploy your Enterprise application to AWS
Add Resources
Extend with storage, messaging, or CDN
Compute Factory
Customise compute configuration
Database Factory
Customise database configuration