Custom Rules
Sample CSV Template
View and download the standard CSV format for optimal auto-mapping:
VM Name,App Name,CPU Count,Memory (GB),CPU Utilization,Memory Utilization,AWS Region,ENV,OS,Workload,Compliance,Min Gen,Exclude,Include Only,Current Instance Type web-server-01,Storefront,4,16,45,60,us-east-1,Production,Linux,Web Server,,,,,m5.xlarge db-server-02,Billing,8,32,70,80,us-west-2,Production,Windows,Database,"current-generation hardware,aws nitro enclaves",,"Burstable,GPU",,m5.2xlarge app-server-03,Billing,2,8,35,45,eu-west-1,Dev,Linux,General,,,,,t3.large
Optional columns — click to see rule descriptions
| Column | Values | Rules triggered |
|---|---|---|
| ENV | Production / Staging / Dev / Test | 1a Burstable excluded (Prod/Staging) · 1b Current-gen only (Prod) · 1c No nano/micro (Prod/Staging) · 1d ≥4 vCPU for DB/Web workloads (Prod) |
| OS | Linux (default) / Windows / macOS | Windows → ARM/Graviton excluded · macOS → mac1/mac2 families only |
| Workload | General · Database · SQL Server · Web Server · Cache · ML/AI · Batch · HPC · SAP | Preferred families sorted first: Database→r/x/z · SQL Server→r/x/z · Web→m/c · Cache→r/x · ML/AI→p/g/trn/inf · Batch→c/m · HPC→hpc/c · SAP→x1/x2/r/u- |
| Compliance | PCI / HIPAA / FIPS | 1b Current-gen only · Nitro Enclaves required (AWS PCI/HIPAA) |
| Min Gen | 5 / 6 / 7 (generation number) | Excludes instance generations older than the one given (e.g. 7 → only m7i/c7i and newer) |
| Exclude | Comma-separated type names (e.g. Burstable,GPU) | Excludes those instance types for this row only — quote the cell when it names more than one |
All columns are optional — blank cells use safe defaults (Linux, General workload, no ENV restrictions).
Current Instance Type fires no rule and does
not affect sizing by default — only in cloud-to-cloud mode
does a row without CPU Count / Memory (GB) get sized from it.
It records what the VM runs on today (e.g.
m5.xlarge) and is carried through to the preview
and every export, beside the recommendation that would replace
it.
Upload CSV File
Cloud Provider Selection
Recommendation Type
🧠 Optimization Settings
Sizing Source
Advanced Instance Filtering (Optional)
🧠 Rule Engine Defaults
Set page-level defaults for all rows. Per-row CSV columns override these. Rules merge with the filters above — conflicts are flagged in red.
Rule descriptions ▸
| Rule | Effect |
|---|---|
| ENV=Production | Excludes burstable (t-family), enforces current-gen, min 4 vCPU for web/DB workloads |
| ENV=Staging | Excludes burstable, allows smaller sizes than Production |
| OS=Windows | De-prioritises Graviton/ARM families; prefers Intel or AMD |
| Workload=Web Server | Sorts m/c families first; Workload=Database sorts r-family first; ML/AI sorts p/g/trn/inf first |
| Compliance=HIPAA/PCI | Requires Nitro-capable instances; excludes burstable; enforces current-gen |
| Min Gen=6+ | Excludes m5/c5/r5 (Gen 5) and older; keeps m6i/m7i and newer only. Useful as m5 approaches EOL. |
| Workload=SQL Server | Enforces a 4-vCPU licence floor when it can — SQL Server is licensed per core (minimum four), so a smaller box saves no licence cost. If no eligible candidate is that large, the fallback pick is kept and the rule is reported as not applied. |
| Workload=ML/AI (GPU) | Requires a GPU/accelerator instance; every other workload excludes accelerators, so a GPU box is not recommended by accident. If the pool has no accelerator to offer, the fallback pick is kept and the rule is reported as not applied. |
Generate Recommendations
- Open AWS Pricing Calculator → Create estimate
- Click Bulk import (top-right corner)
- Select the correct service template
- Download template → fill with this tool's CSV → upload
- Save and add service / Save and view summary
- Open AWS Pricing Calculator → Create estimate
- Search for EC2 → click Configure
- Set region, OS, instance type & quantity
- Save and add service / Save and view summary