Create EC2 Instance in AWS (Amazon): Complete Tutorial
EC2 stands for Elastic Compute Cloud. EC2 is an on-demand computing service on the AWS cloud platform. Under computing, it includes all the services a computing device can offer to you along with the flexibility of a virtual environment. It also allows the user to configure their instances as per their requirements i.e. allocate the RAM, ROM, and storage according to the need of the current task.
Amazon EC2 is a short form of Elastic Compute Cloud (ECC) it is a cloud computing service offered by the Cloud Service Provider AWS. You can deploy your applications in EC2 servers without worrying about the underlying infrastructure. You configure the EC2-Instance in a very secure manner by using the VPC, Subnets, and Security groups. You can scale the configuration of the EC2 instance you have configured based on the demand of the application by attaching the autoscaling group to the EC2 instance. You can scale up and scale down the instance based on the incoming traffic of the application.
Create EC2 Instance in AWS (Amazon)
The following are the steps for creating an EC2 instance in AWS (Amazon):
Step 1: 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.
Under Resources >> Click on “Instances running” — It will show if any EC2 instances are running or not.
Step 2: Click on the launch instance click on the launch instance, after clicking on it you will be redirected to a launch page where we can create an instance. Configure all the requirements to Create a new instance like the name of the instance as shown in the figure below.
Naming instance
Step 3: Select AMI – Required operating system from the available. There are different types of OS available select the OS as per your requirement.
Selecting AMI
Step 4: 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.
Select instance type
Step 4: 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-PairEnter name>>Select “.pem” and create. Automatically key pair which was created will be downloaded. Select the created key pair.
Creating key pair
Step 5: Keep the network settings as default settings and make changes if required.StorageAs mentioned in the picture, Free tier eligible can get up to 30 GB of EBS Storage. Keep it as default.
Step 6: 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.
Steps To Connect Terminal Using SSH-Key
Step 1: 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.
Step 2: Copy the SSH key which is right following the example it will acct as a key-pair to connect to EC2-Instance.
Step 3: 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.
To know whether you connected to EC2-Instance perfectly or not you can check the IP-Adrees 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:
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
Use cases of AWS EC2- Instances
- EC2 instances can be used to host websites, applications, and APIs in the cloud.
- It can be used to process large amounts of data using tools like Apache Hadoop and Apache Spark.
- It can be used to perform demanding computing tasks, such as scientific simulations and financial modeling.
- EC2 instances can be used to develop, test, and deploy software, allowing teams to quickly spin up resources as needed.
Best Practices For Amazon EC2 Instances
The best practices for launching or choosing the Amazon EC2-Instance are mentioned below:
- Choosing the Right OS: While launching the EC2-instance you need to select the OS that suits your requirements which is where you want to deploy your application in which OS like Windows, Linux, and MacO.
- Cost saving: When you are going to launch an instance you need to consider the cost and try to reduce the cost for the organization choose the type of instance wisely depending on the requirement.
- Attach Autoscaling: When are you creating the EC2-Instance make sure that you attach it to the Autoscaling group by this if there is sudden traffic EC2-Instance will scale automatically depending on the load.
- Secure Instance: Secure the EC2-instance by configuring it in the VPC and managing the inbound and outbound rules and also managing the incoming traffic to the EC2-Instance with the help of traffic routing.
- Snapshots: Take automatic snapshots of the EBS volume automatically for certain intervals of time so you can back up the data without losing it.
- Attach EBS: Attach the EBS volume to EC2-Instance without depending on the root volume of the server if anything happened to the root then your data will be safe in the EBS volume.
- Attach Elastic LoadBalancer: Attach the Elastic load balancer to the EC2-Instances when there is sudden traffic the traffic will be distributed across multiple instances which will decrease the load.
Conclusion On Creating EC2 Instance in AWS (Amazon)
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.
FAQs on AWS EC2 Create EC2 Instance in AWS (Amazon)
1. What Is The Difference Between S3 And EC2?
S3 and EC2 are the two diffrent service offered by the Amazon Web Services one is to store the data in the form of objects and another is to deploy the Web Application.
2. Is EC2 a PAAS or IaaS?
EC2 belongs to Infrastructure as a service where the underlaying infrastructure is taken care by AWS.
3. Is EC2 a Virtual Machine?
Yes EC2 is an virtual machine where you can deploy the web applications.
Contact Us