General Purpose
For diversity of workloads, such as web servers or code repositories
Balance between compute, memory and networking
Compute Optimised
For compute intensive tasks, e.g.
Memory Optimised
Fast performance for workloads that process large data sets in memory
Storage Optimised
Storage-intensive tasks that require high sequential read and write access to large data sets on local storage