Open In App

Create EC2 Instance in AWS (Amazon): Complete Tutorial

Last Updated : 08 May, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

Amazon EC2 (Elastic Compute Cloud) is a cloud computing service provided by AWS that allows users to rent virtual machines (VMs) to run applications on-demand. EC2 Offers a scalable, cost-efficient, and flexible computing environment without the need for users to manage physical hardware. ]

Users can customize their instances by configuring CPU, memory, and storage according to specific requirements. Additionally, EC2 supports secure configurations using Virtual Private Clouds (VPCs), subnets, and security groups. With auto-scaling capabilities, EC2 instances can automatically scale up or down based on application traffic, ensuring optimal resource usage.

How to Create EC2 Instance in AWS (Amazon)

Follow the below steps to create an EC2 instance in AWS (Amazon):

Step 1: Login and Navigate to EC2 Dashboard

First, log into your AWS account and click on "services" present on the left of the AWS management console, i.e. the primary screen. From the drop-down menu of options, tap on "EC2". To create an AWS free tier account refer to Amazon Web Services (AWS) – Free Tier Account Set up.AWS Console

Under Resources >> Click on "Instances running" -- It will show if any EC2 instances are running or not.

Step 2: Launch a New Instance

  • Click on the launch instance, and you will be redirected to a launch page where we can create an instance.
  • Enter a name for the instance and select required configurations.
Launch Instance
Naming instance

Step 3: Choose Amazon Machine Image

Select AMI - Required operating system from the available. There are different types of OS available select the OS as per your requirement.

Select the OS
Selecting AMI

Step 4: Select Instance Type

By default, it selects a free tier of storage. (IF YOU ARE ELIGIBLE FOR THE FREE TIER). From the available storage specifications, select a free tier-eligible storage service. The instance type includes the no.of CPUs required and the Memory required for your application. By default, the instance type is "t2.micro" which is a free tier-eligible service. Do not select any other which leads to the billing amount. To know more about instance types refer to Amazon EC2 – Instance Types.

Instance type
Select instance type

Step 5: Configure Key Pair

Now, create a key-value pair, by clicking on "Create new key pair". A window will pop up for creating key pair as shown below. The key value pair plays a major role while connecting to the EC2-Instance it will act as an SSH-Key to connect to the instance. Create Key-Pair Enter name>>Select ".pem" and create. Automatically key pair which was created will be downloaded. Select the created key pair.

Key-Pair
Creating key pair

Step 6: Network and Storage Configuration

Keep the network settings as default settings and make changes if required. Storage As mentioned in the picture, Free tier eligible can get up to 30 GB of EBS Storage. Keep it as default.

Configuring Storage

Step 7: Review and Launch

Launching Instance At last, Check if all the selected are eligible for a free tier or not and click on "Launch instance".That's it, an instance will be created.

Launching instance

How To Connect Terminal Using SSH-Key

Once your instance is launched, secure access is essential. Follow the below steps to know how to connect using a terminal and your key pair.

Step 1: Locate Connection Details

Select the server to which you want to connect and click on the connect button at the top of that instance as shown in the image below.

EC2-Instance.

Step 2: Copy the SSH Command

Copy the SSH key which is right following the example it will acct as a key-pair to connect to EC2-Instance.

Select the SSH key

Step 3: Use Terminal

Open the terminal and go to the folder where your .pem file is located and paste the key that you have copied in AWS and paste it in the terminal.

TERMINAL

To know whether you connected to EC2-Instance perfectly or not you can check the IP-Address of the instance if the IP is displaying then you have connected successfully.

How do I create AWS Resources Using Ansible?

Ansible provides set of built-in modules which are used to configure the AWS resources. BU using this ansible modules you can configure AWS resources like EC2 instance,S3 buckets, load balancer and autoscaling and son on.

Follow the steps mentioned below to create EC2 instance using Ansible

Step 1: Install the required modules in ansible to configure the AWS resources. You can install by using the following command.

ansible-galaxy install

Step 2: Create an playbook by using the yaml file and mention the configurations required to create AWS ec2 instance following is the sample YAML file to create AWS EC2 instance.

---
- hosts: localhost
tasks:
- name: Create an EC2 instance
ec2:
instance_type: t2.micro
ami: ami-0b7927eb9e3372e28
state: present
tags:
Name: MyEC2Instance

AWS EC2 Instance Types

Different Amazon EC2 instance types are designed for certain activities. Consider the unique requirements of your workloads and applications when choosing an instance type. This might include needs for computing, memory, or storage. To Know more about Ec2 instance types refer to the Amazon EC2 instance types.

Creating AWS EC2 Snapshot

EBS Snapshots are point-in-time images or copies of your EBS Volume. These are stored on S3, which can be accessed through Elastic Cloud Computing APIs or AWS Console. While EBS volumes are availability zone (AZ’s) specific but, Snapshots are Region-specific. Your Snapshot size must be either same or larger than the size of the original volume from which the snapshot is taken. As per Amazon, each AWS account can have a maximum of up to 5000 images or copies Volumes and up to 10,000 EBS Snapshots created. A snapshot, when created, shows a ‘pending ‘ status, which then converts into ‘complete’ once the snapshot creation is successful. To know more about AWS EC2 snapshot refer to the How to create AWS snapshot.

Creating AWS EC2 AMI

An Amazon Machine Image(AMI) which contains the information to launch the Amazon EC2 instance. This AMI includes all the things which are required for the application like operating system, software and settings to create your own customized EMI. Creating your own customized AMI will makes it easier to deploy the application in the EC2 instance. To know more about how to create AWS AMI refer to the Amazon Web Services – Creating an Amazon Machine Image(AMI).

EC2 Instance All-State in AWS

The common EC2 instance states are Pending, Running, Stopping, Stopped, Terminated, Shutting Down, and Rebooted. It is important to keep track of the state of your EC2 instances so that you can manage them properly. You can view the state of your instances in the EC2 Console, AWS CLI, or AWS SDKs. In AWS, EC2 (Elastic Compute Cloud) instances can have different states, which indicate what operations can be performed on them. Here are some of the common EC2 instance states:

  1. Pending: When you launch an EC2 instance, it enters the pending state. This means that AWS is in the process of creating the instance and initializing all of the necessary components, such as the virtual machine and the associated networking resources. During this time, you won't be able to access the instance, as it is not yet ready to be used.
  2. Running: Once an EC2 instance has finished initializing, it enters the running state. This means that the instance is up and running and is ready to be used. In this state, you can log in to the instance and start using it to run your applications and services.
  3. Stopping: If you manually stop an EC2 instance, or if it is part of an auto-scaling group and is being terminated, it enters the stopping state. During this state, AWS prepares the instance for shutdown by stopping any processes or applications running on the instance and disconnecting it from the network. However, the instance's configuration and data are preserved, so you can start the instance again later if you need to.
  4. Stopped: Once an EC2 instance has been stopped, it enters the stopped state. In this state, the instance is not running and is not available for use. However, the instance's configuration and data are preserved, so you can start the instance again later if you need to. You might stop an instance if you don't need it for a period of time but don't want to terminate it entirely.
  5. Terminated: If you manually terminate an EC2 instance, or if it is part of an auto-scaling group and is being terminated, it enters the terminated state. In this state, the instance is permanently deleted, and all of its configuration and data are lost. You might terminate an instance if you no longer need it, or if you want to replace it with a new instance.
  6. Shutting-down: If AWS is retiring an instance, it goes into the "Shutting-down" state for a brief period before the instance is terminated. During this time, the instance is no longer available for use, and the data and configuration are preserved. This state is similar to the stopping state but with an added step of preparing the instance for retirement.
  7. Rebooting: If you choose to reboot an EC2 instance, it enters the rebooting state. During this state, the instance's operating system is shut down and then restarted, but the instance's configuration and data are preserved. You might reboot an instance if you need to apply updates or make changes to the instance's configuration.

You can view the state of your EC2 instances in the EC2 Console, AWS CLI, or AWS SDKs. It is important to keep track of the state of your instances so that you can manage them properly, such as starting, stopping, or terminating instances as needed. When you use Amazon Web Services (AWS) to run virtual servers or instances, these instances can be in different states depending on what's happening with them. For example, an instance might be "running" when it's up and running properly, or "stopped" when it's not currently being used. AWS CloudWatch to monitor your EC2 instances and their associated resources in real time. CloudWatch provides a wealth of data on your instances, including CPU usage, disk activity, and network traffic, which can help you identify performance issues and other problems before they have a chance to impact your users.

Advantages of AWS EC2-Instances

  • EC2 instances can be easily scaled up or down as per the requirement, providing a highly scalable and flexible infrastructure.
  • EC2 instances are charged based on usage, making it cost-effective as you only pay for what you use.
  • It can be easily deployed and managed using Amazon Web Services (AWS) management console, APIs, or CLI.
  • It can be deployed in multiple availability zones to ensure high availability and data durability.
  • It can be customized with different operating systems, applications, and network configurations.

Disadvantages of AWS EC2-Instances

  • EC2 instances have limited customization options, which may not be sufficient for some applications.
  • it can be expensive, especially when scaling up, and it can be challenging to control costs.
  •  This is vulnerable to security risks, such as unauthorized access, data breaches, and cyberattacks.
  • EC2 instances can be complex to set up and manage, especially for non-technical users.
  • It may experience latency due to the location of the instances and the data center, which can affect application performance.

Conclusion

Another important aspect of managing EC2 instances is understanding the various instance types available in AWS. Different instance types have different performance characteristics and are optimized for different types of workloads. For example, some instances are optimized for CPU-intensive workloads, while others are better suited for memory-intensive applications. By choosing the right instance type for your workload, you can ensure that your applications are running efficiently and cost-effectively. Overall, understanding the different states of EC2 instances in AWS is just one aspect of effectively managing your infrastructure in the cloud. By taking advantage of tools like AWS CloudWatch, choosing the right instance types for your workloads, and following best practices for security and maintenance, you can ensure that your applications and services are always available to your users and that you're getting the most out of your investment in the cloud.


Next Article

Similar Reads