Amazon EC2 - Elastic Compute Cloud
Table of Contents
What is Amazon EC2?
Amazon Elastic Compute Cloud (AWS EC2) is a cloud-based platform that enables extensive, seamless control over your resources. Deploy the EC2 interface or the application programming interface (API) to securely scale capacity with straight forward features while running reliably on Amazon’s trusted cloud computing environment.
The EC2 platform boasts deep and broad analyses with the option of processor, storage, networking, operating system, and purchase models. With its nimble, rapid server power, AWS EC2 brings 100Gbps Ethernet networking to the cloud.
AWS EC2 lets you obtain and deploy new server instances in minutes, ensuring convenient, predictable scaling opportunities for hefty workloads. EC2 provides developers with the tools to build failure-free applications designed to withstand common disasters, such as service outages.
Why Amazon EC2?
Amazon EC2 opens an avenue for growth with the comprehensive control you’ll have over your resources and its high-speed processing power. With security and durability at the forefront, AWS EC2 is the optimal choice for operating instances of all sizes.
Elastic web-scale computing
On other cloud platforms, it can take hours or even days to scale capacity. With AWS EC2, users can increase and decrease workloads in minutes; allowing an immediate reaction to sudden changes all the while avoiding the expense of unneeded, underused resources.
Many cloud platforms don’t give you entire access over your instances. EC2 grants you root passage to each instance so that you can interact with them as you would any machine.
Never use more capacity than necessary; simply alternate resources during peak periods and scale them down when the demand is low through the EC2 web interface or an API.
Flexible cloud hosting
Developers don’t have to worry about limited instance options, operating systems, and software packages. With Amazon EC2, users can allocate memory, CPU, instance storage, and the boot partition size according to their specific operating system and application.
Some cloud platforms struggle with the fallibility of replacement options for developers during outages or a spike in demand for resources. EC2 fulfils the promise for rapid and reliable commission instances at the requisite magnitude and moment.
Amazon EC2 works in synergy with Amazon Virtual Private Cloud (VPC) to provide secure, resilient network functionality for processing resources. Users decide which instances remain private or public with a vast range of IP capabilities.
Amazon EC2 instances
EC2 instances are virtual servers inside Amazon’s Elastic Compute Cloud that are designed for running applications on the cloud and are isolated from the underlying base OS.
Amazon EC2 instance types
Amazon EC2 supports an array of instance types which break down into five classes based on the different use cases and instance sizes.
General purpose instance types offer extensive throughput, memory and networking resources. Typically, general purpose instances are used for workloads with equal proportions, such as web servers and code repositories.
A1, T4g, T3, T3a, T2, M6g, M5, M5a, M5n, and M4.
Compute optimized instance types offer dedicated support for high maintenance processors and are ideal from compute-bound applications. These instances support workloads that require batch processing, media transcoding, speedy web servers, gaming servers, and other compute excessive applications.
C6g, C5, C5a, C5n, and C4.
Instances which fall under the memory optimized category, deliver accelerated performance for jobs that demand fast processing for memory-intensive data sets.
R6g, R5, R5a, R5n, R4, X1e, X1, High Memory, and z1d.
Accelerated computing instances perform functions, such as floating point number calculations, and graphics processing using hardware accelerators and coprocessors.
P3, P2, Inf1, G4, G3, and F1.
Storage optimized instances are designed for local storages that have high, sequential read and write access with very large data sets. These instances can deliver tens of thousands of low-latency, random I/O operations per second.
I3, I3en, D2, and H1.
Managing your Amazon EC2 instances
Monitoring is an important part of maintaining highly functional EC2 instances. Using AWS CloudWatch, engineers can easily monitor and automate their instance capacity with real-time analytics at their disposal.
Using Amazon VPC, developers can adjust their instance IP addresses with support for both IPv4 and IPv6.
Leveraging Amazon Identity and Access Management (IAM), you can adjust permissions seamlessly so that certain users only have access to particular services, applications, etc.
Amazon provides exceptional storage options for your instances, and when integrated with Elastic Block Storage, you get block level storage volumes.
Amazon EC2 integrated features and services
AWS EC2 has an abundance of integrated features and services tailored toward building scalable, enterprise-class applications. Adopt a few of these features to optimize the effectiveness and production of your virtual cloud-based servers.
Bare Metal instances
With Bare Metal instances, applications get direct access to the processor and memory of the underlying server. Bare metal is ideal for workloads that require access to hardware features, or for applications that operate in on-premises environments.
Amazon EC2 Fleet
Take advantage of AWS EC2 Fleet to optimize compute performance and cut costs by sending a single API call and provision capacity for different EC2 instance types, Availability Zones, and purchase models.
Amazon EC2 Auto Scaling
With auto scaling, programmers can effortlessly increase and decrease their capacity according to pre-defined specifications. Auto scaling is popular for applications where demand fluctuates at certain times.
GPU compute instances
Users who require intensive floating point processing power will benefit from GPU compute instances, like P3 with up to 8 NVIDIA® V100 Tensor Core GPUs.
GPU graphics instances
Amazon EC2 offers instances, such as G3, which provide high graphics capabilities with access to NVIDIA Tesla M60 GPUs. These GPU graphics instances are primarily suited for 3D visualizations, 3D rendering, application streaming, video encoding, and more.
Optimized CPU instances
Gain greater control over your EC2 instances on two fronts with the Optimize CPUs feature. First, specify a custom number of vCPUs. Second, disable multi-threading for workloads that perform well with single-threaded CPUs.
Instances have multi-region configuration capabilities with a wide range of availability zones. Sometimes, there are outages in areas which would require developers to quickly change locations to avoid downtime. With the multiple location support, this is possible!
High Performance Computing (HPC) clusters
Massive workloads can achieve the same high-volume analytic networking functionality as custom-built infrastructure while taking advantage of the deliverability and cost of Amazon EC2.
Amazon EC2 Enhanced Networking
Enhanced Networking enables cloud-computists to benefit from low network capabilities and latency while getting a higher pack per second (PPS). This feature leverages a network visualization stack that provides higher I/O performance and reduced CPU utilization.
EC2 vs S3
Amazon EC2 offers cloud-based virtual servers, while Amazon Simple Storage Service (S3) offers storage. Although not compatible in all situations, when used together, they can create amazing synergy.
• Many users leverage EC2 for hosting websites or web apps. Users can easily integrate EC2 with S3 for hosting the static data from the website or web app.
• For backing up EC2 instances, programmers can make use of S3 buckets and also share data between instances.
Amazon EC2 Pricing
AWS EC2 instances are free of cost for first time users, while offering price-based models designed for different use cases.
AWS Free Tier for EC2 includes 750 hours of Linux and Windows t2.micro instances every month for a year.
Depending on which instances you run, pay either for compute by the hour or by the second with no upfront contracts or payments required – the only cost is for what you use.
Spot instances enable you to request spare AWS EC2 compute capacity for up to 90% off the On-demand price. Prices are set by EC2 and adjust incrementally based on long term supply and demand for instance capacity.
By using a savings plan on AWS EC2, you get a flexible, low cost pricing model in exchange for a 1-3 year commitment of a specified usage and measured by $/hour.
Reserved instances offer discounts of up to 75% compared to on-demand pricing. This plan is assigned to a specific Availability Zone, provides a capacity reservation, and helps you launch with confidence, as you only pay for the instances as-needed.
Leverage your existing server bound licenses, such as Windows Server, SQL Server, and SUSE Linux Enterprise Server for a significant drop in your costs.
Engineers use the EC2 cost perf calculator to configure an estimate that suits their unique business or personal needs. Create a quote for your instances and determine the optimal pricing option for your organization.
Amazon EC2 cost saving tips
Terminate unused instances
To optimize your EC2 budget, start by eliminating any unemployed instances. With services like Elastic Beanstalk, developers can deploy and redeploy instances as-needed to avoid racking up unnecessary charges.
Choose the proper instance type
Make sure that you are running the correct instances, as different instances have different pricing structures. Consider your personal use case when determining the instance that’s best for you – don’t just base your decision on what somebody else is using!
Use Reserved instances
Using a reserved instance will save you money in the long run. If you plan to be operational and scale your business, which you surely do, leverage reserved instances and save up to 75% of your hourly rate by accessing a 1-3 year contract.
Get started with Amazon EC2
1. Log in
Log in or sign up to the AWS Management Console and set up your root account. First time members get access to the free tier which grants them access to 12 months free of 750 hours/month of select EC2 instances.
2. Launch your instance
Next, identify the optimal instance type that will run your workload. Try starting with the t2.micro, which is covered by the free tier.
Open the Amazon EC2 dashboard and choose “Launch instance” to create your virtual machine.
3. Configure your instance
Consider these guidelines for configuring your first instance:
• Security: Build firewall rules from zero, or select the default VPC security group.
• Storage: EC2 offers magnetic disk and SSD storage. Use EBS gp2 volumes to begin.
4. Connect your instance
After the instance has launched, it’s time to connect. Depending on the operating system, there are several ways to connect to the console, like EC2 Instance Connect.
• Select the instance you created and choose “Connect”.
• Click “EC2 Instance Connect”.
• Select “Connect” and you will be immediately connected to your instance and directed to a new window.
5. Terminate your instance
Make sure to terminate your instance if not in use; otherwise, your account will continue to tack on charges.
• Select the EC2 instance and choose “Actions”, select “Instance State”, and “Terminate”.
Amazon EC2 tutorials
For devs who need an extra boost, AWS offers various hands-on tutorials and tips designed to get you up and running on the spot. Follow some of the training below to get started.
Run commands on an EC2 instance remotely
Amazon EC2 help
Need some extra help optimizing your AWS EC2 instances for peak performance? AllCode is an AWS Select Consulting Partner with 10+ years of experience developing cloud-based solutions for enterprise-scale applications.
Amazon trusts and recommends our services to businesses who need a hand or who are looking to cloudsource their technology stack. We are the experts to guide you down the path for successful use of cloud services.
Share on social media!
Related services to AWS EC2