EC2 is Amazon's Elastic Compute Cloud that provides scalable compute capacity in the cloud using virtual machines. EC2 allows users to set up virtual machines in different regions and availability zones around the world. There are various types of EC2 instances including On-Demand (pay by the hour), Spot Instances (bid-based), and Reserved Instances (with 1-3 year terms). EC2 supports many different instance types and storage options like EBS volumes with various performance levels. Key components for using EC2 include AMIs, security groups, VPCs, subnets, tags, and key pairs.