In this AWS article, we will be discussing AWS EC2, Amazon Elastic Compute Cloud, an AWS service that allows users to determine resources, and audit and evaluate them.
You will be able to learn more about AWS EC2 CLI, AWS EC2 Instance Types, and much more related to these topics.
This article will be discussing:
- What is the AWS EC2 service by Amazon?
- What is an AWS EC2 instance?
- What are AWS EC2 benefits?
- Frequently Asked Questions (FAQs)
Keep reading this article about AWS EC2 to find out more details about these useful Amazon Web Services.
What is the AWS EC2 service by Amazon?
|Server Type||Virtual private server|
|Initial By||August 25, 2006; 15 years ago (public beta)|
|Supported OS||Linux Microsoft Windows FreeBSD macOS|
|Licensed By||Proprietary software|
Amazon Elastic Compute Cloud Service provides developers with flexibility with resizable cloud computing capacity to deploy and build applications. Amazon EC2 is a virtual server machine that can be used in place or a physical server to deploy and run applications.
The AWS EC2 service by Amazon reduces the need for a physical server or machine to build and run applications and allows to save costs and space.
Auto Scaling Groups are a unique and new feature of the AWS EC2 which is primary for the operations to run optimally. This feature allows developers ease of mind and can automatically add additional computing power to the processes as the system’s demand increases.
Most operating systems are supported easily by platforms such as Windows, Linux, and even custom OS. This adaptability has enabled limitless possibilities for running an application using the AWS EC2.
What is an AWS EC2 instance?
An AWS EC2 instance is a virtual server on the Amazon cloud. When you launch an instance, the copy of the AMI (Amazon Machine Image), consisting of the software configuration you specified, is launched for your use.
Many types of instances can be launched from one AMI, but the type of instance you choose will determine the hardware of the computer that would be used for your instance. Every instance is different and offers various memory and computational abilities.
There are various AWS EC2 instance types suited to different storage and computational needs. You should choose an instance type that suits your computational and memory needs. There are six basic types of AWS EC2 instance types, divided on the basis of target application profiles.
1. General Purpose
AWS EC2 general-purpose instances provide a stable balance of storage, computing, and networking resources.
These instances are called general purpose because they can be utilized for a variety of workloads and diverse applications. General-purpose instances work best for applications that utilize memory, networking, and computing resources in similar proportions.
2. Compute Optimized
Compute-optimized instances work best for applications that require high performance from the processing unit.
3. Memory Optimized
Memory-optimized instances provide spectacular performance on workloads that need fast computing with massive data sets in the memory.
4. Accelerated Computing
Accelerated computing instances utilize co-processors and hardware accelerators to perform operations much more efficiently and quickly.
5. Storage Optimized
Storage-optimized instances are perfect for operations that need excellent input and output performances on massive sets of data stored locally.
How do you create an instance?
We can create an EC2 instance through mainly 2 ways, which are as below:
- AWS Console: Login to the console and search for EC2 and follow the step-by-step guidelines to set up an EC2 instance.
- Cloudformation: We can pass on all the parameters in the cloud formation template and deploy it in AWS which in turn will create an EC2 instance as per the parameters specified.
- Third party tools such as terraform or others to create the instance.
What are AWS EC2 benefits?
There are many AWS EC2 benefits when you choose it for your cloud computing needs.
AWS EC2- Reliability
Amazon EC2 is an extremely dependable environment where developers can easily and quickly commission replacement instances. This service lies within Amazon’s network infrastructure and data centers.
AWS EC2 Pricing, Cost-Effectiveness
Amazon EC2 ensures you give only a small fee for the computing capacity you use. Different instance price structures can cater to different workloads such as dedicated hosts, spot instances, reserved instances, and on-demand instances.
AWS EC2- Security
One of the best AWS EC2 benefits is that it collaborates with Amazon VPC to provide sturdy functionality for networking and security for your computational resources.
You can specify an IP range for your Virtual Private Cloud and choose which instances are private and public on the internet.
AWS EC2- Full Control
You are in total control of all your instances. You can choose to interact with anyone with the root access that you possess. You can stop, restart, reboot, and control the console output of the instances.
Quick steps for setting up an EC2?
Follow along to set up an EC2 instance, here we will be doing it from the AWS Console. So, let’s begin:
Step 1: Open the console and navigate to the EC2 page. Below is the screenshot of the start page where we can see a lot of options along with the overview of all the resources created related to our instances.
Step 2: Click on the launch instance button and click on the launch instance to initiate the process to start creating an EC2 machine.
Step 3: Choose the type of AMI that you would like to have in your EC2 instance. You can see a lot of options available but here we are going with the free available AMI’s for the demo. Anyone from the below option is fine only difference is the Linux kernel version in them.
Step 4: You will get a lot of options to select the instance type, which is based on the purpose of the EC2 machine, that’s why they have different CPU, Memory, Storage, and Performance. We are doing a demo so we will go with the basic instance t2.micro and of course its free.
Step 5: This is the place where all the configurations like VPC, and Subnets can be selected but we are going with the default VPC as we are doing a setup for Demo.
Step 6: In this part also we have different config settings for the EC2 machine which also includes User Data, here we can pass any bootstrap script which we would like to be executed once our machine is up and running.
Step 7: This is the place where you can add or modify the storage capacity of the machine. You can either increase the storage or add additional storage to the machine.
Adding additional EBS volume in the machine and here we are not selecting Delete on Termination option, that means even if we terminate this machine our volume and data in it is safe.
We can choose the type of volume based on the requirement of performance along with the option of enabling encryption on these volumes.
Step 8: Give a tag to your machine based on the purpose for easy identification of the machine.
Step 9: This is a very important point because this will decide the level and type of access to your EC2 machine. Creating and attaching a proper Security Group is one of the most important steps for protecting your machine from unauthorized access.
Step 10: This is the final confirmation page which shows all the options selected for the machine. Review the configurations and click on launch.
Step 11: Key Pair helps you ssh into your instance, so either create a new one or use the one if you already have it. Important point is to keep it safe in fact very safe. Download the Key pair and hit launch instance.
Step 12: Congrats you have created your first EC2 instance.
How to increase root volume in AWS EC2
We cannot increase the root volume of an EC2 instance when it is in a running state. But of course, we can provide a higher value of the root volume at the time of provisioning the instance while adding the storage.
We can add additional EBS volumes to an EC2 while creating and even after it’s created and running.
Select the Attach Volume from the dropdown as shown in the figure and select the EC2 you would like the volume to be attached and we are good to go.
how to ssh into AWS eC2 instance?
Follow along with me on the steps for AWS EC2 Login from windows using ssh.
Step 1: Download Putty and Puttygen.
Step 2: Open Puttygen load the pem file and save it as ppk file as shown below.
Step 3: Open the console select the instance and hit connect.
Step 4: Copy the information which is highlighted below.
Step 5: Open Putty and paste the copied data in the Host Name
Step 6: Go to Auth and Select the ppk file created in Puttygen
Step 7: Go back to Session and give a name in Saved Sessions and click Save.
Step 8: Click open in putty and you could see the below prompt, Accept there.
Step 9: Yay!! You have successfully logged into your EC2 using the public ip address.
AWS EC2 vs fargate
We have the option of running containers in AWS which is popularly known as Elastic Container Service (ECS) with EC2 or with Fargate. Let’s check out the difference while running ECS between EC2 and Fargate:
|ECS backed by EC2||ECS backed by Fargate|
|Runs on EC2 instances||Serverless|
|User-managed instances. User has to manually scale, secure, and provision the instances||No manual provision of instances as its serverless|
|More granular control over the infrastructure||Fargate manages, runs, and configures the infrastructure|
|Users can choose the type of EC2 hardware they want to run.||The user just specifies the CPU and memory rest is managed by Fargate|
|More cost||Time-saving and three times more cost|
AWS EC2 vs lightsail
Now, it’s time to compare EC2 and Lightsail on the basis of hosting websites and related facilities in them. So, let’s jump in:
|A lot of configurations are required and other services combined for deploying a website.||Quick and easy to deploy a website.|
|Configurations can be altered to boost performance||Less configurable as it has a preset of options in them|
|Compute capacity can be increased to a lot.||Limited compute capacity|
|Storage capacity can be increased as much as required||Limited storage range of 20 GB to 640 GB|
|Load balancers for websites have to be configured separately||Handles load balancing automatically|
|DB has to be configured separately for websites||It comes with a database|
AWS EC2 vs Azure VM
As we all know AWS and Azure are the key players in the market providing cloud services. So, let’s check out the difference between their compute service which is AWS EC2 and Azure VM:
|AWS EC2||Azure VM|
|Many options are available based on the user requirement||Same here as well, options available based on user preferences|
|Pricing is competitive||Pricing is competitive|
|AWS provides Predictive Scaling of Instances||Doesn’t provide that facility|
|AWS gives the option to hibernate the Instance||Do not have the option of VM hibernation|
|Saving Plan billing model that saves cost||Does not have that billing model as of now|
AWS EC2 vs elastic beanstalk
Let’s try to find the difference between these 2 services of AWS:
|Standalone instance in the cloud||Its an environment in the cloud that can contain a number of EC2 instances, DB as well as Load Balancers|
|More control over the instance configuration||It manages the underlying AWS Services|
|Pay as per the plan availed.||Pay for all the underlying services provisioned|
|Autoscaling has to be configured separately||Autoscaling of application up and down|
|Fairly complex as all the setup has to be done manually||Simple to deploy the application in Beanstalk|
AWS EC2 vs ECS
|EC2 is a virtual machine in the cloud||A logical collection of multiple EC2 instances in the cloud|
|Applications can be run inside an EC2 instance alone||ECS is nothing without at least one or more EC2 instances in it|
AWS EC2 vs Lambda
As we all know AWS EC2 and Lambda are two computer services from AWS, let us find out how they are different:
|Virtual Machines which are also called Instances||This is a serverless service from AWS|
|More control over the system where the application is running||Do not have any control as its hidden and managed automatically by AWS|
|Once an Instance is created it keeps running till stopped even though there is no load on the instance||Being serverless it triggers when there is an event, it processes the task and stops automatically|
|Scaling horizontally and vertically has to be configured||Scales seamlessly on its own based on the events configured|
|Pay for the time EC2 is running even though with no work||Pay for each trigger, time taken to run, memory consumed|
|Setup and configurations has to be done manually||Just publish the code in Lambda and AWS will take care of the rest|
|The ideal of long-running task like machine learning and huge data processing||Best for shorter running event-based workloads|
How to delete AWS EC2 instance?
To Stop or Terminate an EC2 instance based on the requirement refer to the screenshot below:
The point to be noted here is Stop and Terminate, are not the same. Use wisely the options.
The pricing of EC2 depends on various factors.
- Type of the instance. Spot, on-demand, and dedicated instances have different pricing catalog
- The price of the EC2 also depends on the size i.e. computing and storage capacity of the machine.
FAQs: On AWS EC2
Q1. What Is The Most Reliable Resource For AWS EC2 Documentation?
The complete documentation for AWS EC2 can be found on the AWS website here. Here, you will be able to learn about AWS EC2 Instances, best practices, and find troubleshooting advice.
Q2. Where Can I Find A Good AWS EC2 Tutorial?
Q3. What Is AWS EC2 CLI?
Amazon Web Services CLI (Command Line Interface) is an integrated tool that allows users to manage their subscribed AWS services.
With the AWS CLI tool alone, you can control a variety of AWS services from the command line and even automate some of them using scripts. Multiple features of Amazon EC2 can be accessed by using the AWS CLI.
Q: AWS EC2 Images?
To Spin up an EC2 instance in AWS, we are provided with a preconfigured template which is popularly known as an Amazon Machine Image or AMI which can be used to create an instance faster and with ease.
Q: AWS EC2 Cloudformation?
EC2 Cloudformation is a template with all the details for creating the instance automatically by just uploading the template in AWS.
The benefit of doing this is to avoid user mistakes when doing multiple deployments in the same or different environments.
Q: How to host a website on AWS EC2?
AWS EC2 has the flexibility of hosting a website in it, for the detailed step-by-step process click here.
Q: Is AWS EC2 run on VM?
EC2 is a VM itself in the cloud provided by AWS
Q: AWS EC2 fall under Paas or IaaS?
EC2 falls under Infrastructure as a Service which is IaaS.
YOu may also like to explore below AWS Blogs.
- AWS CI/CD Services
- Activate AWS Free Credits
- How To Connect And Install AWS CLI
- What Is AWS Well-Architected Framework
We hope that you found the article helpful and were able to learn in-depth about AWS EC2 Instance types, AWS EC2. This article covers discussions about the following topics
- What is the AWS EC2 service by Amazon?
- What is an AWS EC2 instance?
- What are AWS EC2 benefits?
- Frequently Asked Questions (FAQs)
We hope that with the help of this article; you were able to understand AWS EC2 much more easily. Keep Clouding!!
I am an Amazon Web Services Professional, having more than 11 years of experience in AWS and other technologies. Extensively working in various AWS tools like S3, Lambda, API, Kinesis, Load Balancers, EKS, ECS, and many more. Working as a Solution Architect and Technology Lead for Architecting and implementing the same for different clients. He provides expert solutions around the world and especially in countries like the United States, Canada, United Kingdom, Australia, New Zealand, etc. Check out the complete profile on About us.