Skip to main content
web-ui-vuln

Provisioning Instance

web-ui-assets

Start Cloud Scan

Step-by-step guide for running osmedeus cloud on AWS EC2 instances.

Prerequisites

  • An AWS account
  • An IAM user or role with EC2 permissions
  • An SSH key pair (local ~/.ssh/id_rsa and ~/.ssh/id_rsa.pub)

Required IAM Permissions

The IAM user needs these permissions (or use the AmazonEC2FullAccess managed policy):

Get Your Credentials

  1. Go to IAM Console > Users > select your user
  2. Security credentials tab > Create access key
  3. Save the Access key ID and Secret access key
Or use environment variables if already configured for AWS CLI:

Configuration

Minimal Setup

Instance Types

Spot Instances

Spot instances cost 60-80% less than on-demand. They can be interrupted but are fine for security scanning (stateless, can retry).

Regions

Pick a region close to your targets or with the lowest pricing:

Custom AMI

Use a custom AMI with tools pre-installed for faster startup:

Cost Limits

Examples

Quick Domain Recon

Cost: ~$0.04 (1 x t3.medium x 1 hour)

Large-Scale Subdomain Enumeration

Cost: ~$0.42 (5 x t3.medium x 2 hours)

Custom Nmap Scan

Distributed Nuclei Scanning

Cost: ~$0.42 (10 x t3.medium x 1 hour)

Spot Instance Pipeline

Cost: ~$0.025 (1 x t3.large spot x 1 hour)

Persistent Recon Campaign

Multi-Region Scanning

Troubleshooting

”UnauthorizedOperation” Error

Your IAM user lacks required permissions. Attach AmazonEC2FullAccess policy or the minimal permissions listed above.

Instances Not Starting

SSH Connection Timeout

Spot Instance Interrupted

Spot instances can be reclaimed by AWS. The scan will fail for that worker. Mitigation:
  • Use --auto-destroy to clean up
  • Re-run the failed targets
  • Use on-demand instances for critical scans

Cleaning Up

Cost Optimization

  1. Use spot instances for all non-critical scans (use_spot: true)
  2. Right-size instances: t3.medium is enough for most single-target scans
  3. Always use --auto-destroy to prevent forgotten instances
  4. Set cost limits to catch runaway spending
  5. Use custom AMIs to reduce setup time (less instance-hours)
  6. Pick the cheapest region if target geo-location doesn’t matter (us-east-1 is usually cheapest)