AWS EC2 is a service that provides virtual machines in the cloud where you only pay for the capacity you use and choose from ‘families’ of instance types that are good for different use cases.
What do all the letters and numbers mean?
Family – different instance types with resources for different use cases.
Generation – AWS phase out older technologies and bring in new ones with more resources using these numbers to show which is which.
Size – Resources go up in a linear fashion, as well as the price that goes with it.
How do I pick an instance type?
EC2 comes in variety Instance Types specialised for different roles:
- General purpose – a balance of compute, memory and networking resources.
- Compute optimised – ideal for compute-bound applications that benefit from the high-performance processor.
- Memory optimised – fast performance for workloads that process large data sets in memory.
- Accelerated optimised – hardware accelerators, or co-processors.
- Storage optimised – high, sequential read and write access to very large data sets on local storage.
For websites and applications. You may need an instance type with a good balance of network resources, compute and memory like the general purpose M series or T series that can ‘burst’ when you need it.
Big data processing
Used for CPU intensive tasks that need to scale up and then be shut down when the number crunching is complete. Depending on how big the data-crunching workload is the R or X series could be an option.
For video creation services, 3D visualisations and streaming graphics-intensive applications consider the G series.
Learn more using the Instance Type table in the AWS EC2 Documentation.
What are the storage options?
Instance storage – The hard drive attached to the instance. When the instance is terminated this is deleted.
Block storage (EBS) – like a network hard drive that persists separately from the EC2 for databases, application hosting, and storage.
File storage (EFS) – a managed network file system that can be shared across multiple AWS EC2 instances and is scalable depending on workload. By default, you can have up to 10 file systems per account per region.
Is it secure?
- A public/private key pair should be generated and used when you connect.
- Region-specific Security Groups can be set up as a virtual firewall which allows access to different ports.
- Rules can only allow – you can’t specifically deny traffic with security groups
How do I pay for all this?
There are four ways to pay for Amazon EC2 instances:
- Pay for capacity by per hour or per second.
- No commitment.
- This is good for apps being developed or with unpredictable usage spikes.
- Provide a reservation at 75% off the On-Demand price.
- Gives you the ability to launch instances when you need them.
- Reduced price as you need to commit to one or three-year terms and decide if you will pay All Upfront, Partial Upfront, or No Upfront.
- Request spare AWS EC2 computing capacity for up to 90% off the On-Demand price.
- Flexible start and end times.
- If you’re outbid the instance is terminated and you don’t pay for the hour.
- If you stop the instance you will pay for the hour.
- Good for those background jobs which aren’t critical.
- Provides capacity on dedicated physical servers.
- Good for when can’t share capacity due to regulatory reasons or for licensing requirements.
- Provides the benefits of Reserved Instances but with more flexibility.
- You will need to commit to a one or three year term but can change instance type within the same family while taking advantage of savings.
How do I manage costs?
AWS provides a Cost and Usage report containing a detailed dataset including metadata about AWS EC2 services, pricing, and reservations.
This can be delivered to an S3 bucket and can be used in conjunction with AWS Athena or simply downloaded as a CSV to ‘slice and dice’
The Free Tier offers 750 hours of t2 micro of EC2 compute services. If you exceed the limits the standard rates apply.
To learn more check out the 10-minute tutorials from AWS.