Skip to content

AWS infrastructure management

Page in progress

The component / resource lists below are accurate for v0.5; the deploy commands shown are being refreshed to match the wsctl TUI flow.

This section covers what Waveshift creates in your AWS account, why each piece is there, and how the orchestrator manages it. All of this happens automatically during the deploy — there's no hand-rolled CloudFormation or Terraform.

Infrastructure Deployment

Automated Resource Creation

When you run wsctl deploy, the system automatically creates:

  • VPC and Networking: Complete network infrastructure with public/private subnets
  • EC2 Instances: Waveshift platform and Kasm Workspaces servers
  • Security Groups: Properly configured firewall rules
  • IAM Roles: Required permissions for service operation
  • Route53 DNS: Private domain for internal service resolution
  • SSM Parameters: Secure storage for API keys and configuration

Resource Management

The deployment process handles:

  • Resource Tagging: Automatic tagging for identification and cost tracking
  • Security Configuration: Proper security group and IAM setup
  • Network Configuration: VPC, subnets, and routing table setup
  • Service Integration: Connecting all components together

Monitoring and Health Checks

System Health

Use wsctl health-check to monitor:

  • Service Status: Verify all services are running
  • Network Connectivity: Check internal communication
  • AWS Resource Health: Monitor EC2 instance status
  • Database Connectivity: Verify database operations

Infrastructure Status

The health check covers:

  • EC2 Instances: Running status and resource utilisation
  • Network Services: VPC and subnet connectivity
  • DNS Resolution: Route53 private domain functionality
  • Security Services: IAM role and security group status

Configuration Management

Infrastructure Configuration

All infrastructure settings are stored in wsctl.json:

{
  "region": "us-east-1",
  "vpc_id": "vpc-xxxxxxxxx",
  "waveshift_instance_id": "i-xxxxxxxxx",
  "kasm_instance_id": "i-xxxxxxxxx",
  "api_key": "secure-generated-key",
  "private_domain": "waveshift.internal"
}

AWS Credentials

Ensure proper AWS configuration:

  • AWS CLI: Configured with appropriate credentials
  • IAM Permissions: Required permissions for resource management
  • Region Selection: Choose appropriate AWS region for deployment

Resource Cleanup

Infrastructure Destruction

To remove all AWS resources:

# Destroy all infrastructure
wsctl deploy --destroy all

This removes:

  • All EC2 instances
  • VPC and networking components
  • IAM roles and policies
  • Route53 hosted zones
  • SSM parameters

Selective Cleanup

The system handles:

  • Automatic Cleanup: Failed deployments are cleaned up automatically
  • Resource Tracking: All created resources are tracked for proper cleanup
  • Cost Management: Unused resources are identified and can be removed

Next Steps