EC2 instance sizing, operating systems, and configuration options are determined by instance families (General Purpose, Compute Optimized, Memory Optimized, etc.), available AMIs, and user-configurable settings like storage, networking, and security groups.
EC2 instances are grouped into families optimized for different workloads. General Purpose instances balance compute, memory, and networking for web servers and development environments. Compute Optimized instances provide high-performance processors for batch processing and gaming. Memory Optimized instances are designed for large-scale databases and in-memory analytics. Storage Optimized instances are for data warehousing and log processing. Accelerated Computing instances include GPUs for machine learning and graphics rendering.
Amazon Linux 2 and Amazon Linux 2023 (optimized for AWS, free)
Ubuntu (multiple versions, free)
Red Hat Enterprise Linux (RHEL) (paid through AWS or bring your own license)
SUSE Linux (paid through AWS or bring your own license)
Windows Server (paid license included)
Debian, CentOS, Fedora (free)
macOS (for specific instance types, e.g., Mac1 and Mac2)
Storage: EBS volumes (gp2/gp3 for general purpose, io1/io2 for high IOPS), Instance Store (ephemeral, high performance), EFS (shared file storage)
Networking: VPC selection, subnet (public or private), Auto-assign Public IP, ENIs (Elastic Network Interfaces), security groups, and placement groups
Security: Key pair (SSH for Linux, RDP for Windows) for initial access; IAM roles for service permissions; termination protection
Monitoring: Detailed CloudWatch metrics (1-minute intervals), EBS-optimized for dedicated bandwidth, and CPU/memory usage via CloudWatch agent
Purchasing Options: On-Demand (full price), Reserved (1-3 year commitment, up to 72% savings), Spot (unused capacity, up to 90% savings), Savings Plans (flexible commitment)