Skip to content

Resource management

Page in progress

Refreshed for v0.5. The high-level resource categories are accurate; some implementation-detail callouts (default IAM role names, instance types) are double-checked against the Defaults page.

This page covers how Waveshift manages AWS resources during deployment and operation.

Deployed Resources

When you run wsctl deploy, the following AWS resources are automatically created and managed:

Compute Resources

  • EC2 Instances: Waveshift platform and Kasm Workspaces servers
  • Instance Types: Configurable (default: m6a.2xlarge for Kasm, t3.medium for Waveshift)

Network Resources

  • VPC: Dedicated virtual private cloud
  • Subnets: Public and private subnets for proper network segmentation
  • Internet Gateway: Internet access for public subnet
  • NAT Gateway: Internet access for private subnet resources
  • Route Tables: Proper routing configuration
  • Security Groups: Firewall rules for secure communication

Storage Resources

  • EBS Volumes: Persistent storage for EC2 instances
  • S3 Buckets: Object storage for system data (if configured)

Security Resources

  • IAM Roles: Service roles with appropriate permissions
  • IAM Policies: Fine-grained permission policies
  • Security Groups: Network-level security controls

DNS and Service Discovery

  • Route53 Private Hosted Zone: Internal DNS resolution
  • SSM Parameter Store: Secure configuration storage

Resource Monitoring

Health Checks

Monitor resource status using:

# Check overall system health
wsctl health-check --wait

# Monitor with timeout
wsctl health-check --timeout 300

Resource Status

The health check verifies:

  • EC2 instance status and connectivity
  • Service availability and responsiveness
  • Network connectivity between components
  • Database connectivity and performance

Resource Configuration

Instance Types

Configure instance types during deployment:

# Deploy with custom Kasm instance type
wsctl deploy --region us-east-1 --identity-provider your-gcp-provider --kasm-instance-type m6a.4xlarge

Resource Tagging

All resources are automatically tagged with:

  • Project: Waveshift
  • Environment: Production/Development
  • ManagedBy: wsctl
  • CreatedAt: Deployment timestamp

Resource Cleanup

Complete Cleanup

Remove all AWS resources:

# Destroy all infrastructure
wsctl deploy --destroy all

What Gets Removed

The cleanup process removes:

  • All EC2 instances and associated EBS volumes
  • VPC and all networking components
  • IAM roles and policies
  • Route53 hosted zones
  • SSM parameters
  • Security groups and other associated resources

Cost Management

Resource Costs

Typical monthly costs for Waveshift deployment:

  • Waveshift Instance (t3.medium): ~$30/month
  • Kasm Instance (m6a.2xlarge): ~$280/month
  • Networking (NAT Gateway, etc.): ~$45/month
  • Storage (EBS volumes): ~$20/month

Cost Optimisation

  • Use appropriate instance types for your workload
  • Monitor resource utilisation regularly
  • Clean up unused resources promptly
  • Consider Reserved Instances for long-term deployments

Next Steps