Skip to main content
Please ensure you’ve completed:

Introduction

Deploy your Fjall application to AWS with a single command. Fjall handles the complexity of provisioning resources, configuring security, and setting up connections.

Deploy Your Application

Navigate to your project root and run:
fjall deploy app
Replace app with your application name.

Deployment Process

1. Pre-flight Checks

Fjall validates:
  • AWS credentials
  • Application configuration
  • Resource availability
  • Service quotas

2. Infrastructure Preview

Review what will be created:
🚀 Deploying app...
 Build complete
 Synthesis complete

Resources to create:
  + AWS::ECS::Cluster (ApiCluster)
  + AWS::ECS::Service (ApiService)
  + AWS::RDS::DBCluster (ApiDatabase)
  + AWS::ElasticLoadBalancingV2::LoadBalancer
  + AWS::EC2::SecurityGroup (3)
  + AWS::IAM::Role (2)

Security Changes:
  ⚠️  New IAM policies will be created

Deploy? (y/N)

3. Deployment Progress

Watch real-time progress:
ApiStack | 0/12 | 10:45:23 AM | REVIEW_IN_PROGRESS
ApiStack | 2/12 | 10:45:45 AM | CREATE_IN_PROGRESS | AWS::EC2::VPC
ApiStack | 4/12 | 10:46:12 AM | CREATE_IN_PROGRESS | AWS::RDS::DBCluster
ApiStack | 12/12 | 10:52:33 AM | CREATE_COMPLETE

4. Outputs

Get connection details:
 Deployment complete!

Outputs:
  LoadBalancerURL: http://api-123456.us-east-1.elb.amazonaws.com
  DatabaseEndpoint: api-db.cluster-abc123.us-east-1.rds.amazonaws.com
  
Your application is now live! 🎉

Deployment Options

Skip Confirmation

Skip confirmation prompt:
fjall deploy app --np
# or
fjall deploy app --no-prompt

Verbose Output

See detailed logs:
fjall deploy app --verbose

Specific Profile

Deploy with a different AWS profile:
fjall deploy app --profile production

Post-Deployment

Verify Deployment

Check application status:
fjall view --app app

View Logs

Stream application logs:
fjall view logs --app app

Monitor Costs

Track spending:
fjall view cost --app app

Updating Applications

Code Changes Only

For application code updates:
# Rebuild and redeploy containers
fjall deploy app --deploy-only

Infrastructure Changes

After modifying infrastructure.ts:
# Full infrastructure update
fjall deploy app

Troubleshooting

Deployment Failures

If deployment fails:
  1. Check the error message - CloudFormation provides detailed errors
  2. Review logs - fjall deploy app --verbose
  3. Rollback - Automatic on failure
  4. Fix and retry - Address the issue and redeploy

Common Issues

Insufficient Permissions

❌ User does not have permission to create IAM roles
Fix: Ensure your AWS user has AdministratorAccess or required policies

Service Limits

❌ You have reached the maximum number of VPCs
Fix: Request limit increase or deploy to different region

Name Conflicts

❌ Stack with name 'app' already exists
Fix: Choose different name or delete existing stack

Best Practices

  1. Review changes - Always check the deployment preview
  2. Test first - Deploy to development before production
  3. Monitor deployment - Watch for any warnings or errors
  4. Save outputs - Record URLs and endpoints

Next Steps

Your application is deployed! Now you can:
First deployment typically takes 10-15 minutes as AWS provisions all resources. Subsequent updates are faster.