How To Create Key Pair In AWS Using Terraform ?
Last Updated :
02 Apr, 2024
In cloud infrastructure management, secure admittance to instances is central. While working with Amazon Web Services (AWS) utilizing Terraform, creating key pairs is fundamental for secure access to EC2 instances. Key pairs comprise of a public key and a private key, where the public key is utilized to encrypt data, and the private key is utilized to decrypt it.
This guide gives a step-by-step instructional exercise on the most proficient method to create key pairs in AWS utilizing Terraform. Terraform, infrastructure as a code tool, considers the declarative configuration of resources, making it ideal for managing cloud infrastructure in a reliable, scalable, and repeatable manner.
Primary Terminologies:
- Key Pair: A set of cryptographic keys containing a public key and a private key. Utilized for secure correspondence and verification. Key pairs are secure login information for your instances/virtual machines. To connect to the instances we use key pairs that contain a public key and a private key
- Private Key: A secret key that is safely put away and utilized for decoding information encoded with the comparing public key. It ought to never be imparted to any other individual.
- Public Key: A key that is openly dispersed and utilized for encrypting information. It is imparted to different gatherings to speak with the proprietor of the key pair safely.
- Amazon Web Services (AWS): AWS stands for Amazon Web Services. AWS is a platform that provides on-demand resources for hosting web services, storage, networking, databases, and other resources over the internet with a pay-as-you-go pricing. A far-reaching cloud computing platform given by Amazon, offering a great many services including computing power, storage, databases, and so on.
- EC2 (Elastic Compute Cloud): A web service given by AWS that permits clients to lease virtual PCs (instances) on which they can run their own applications.
- Terraform: Terraform is an open-source infrastructure as a code tool created by HashiCorp, utilized for building, changing, and forming infrastructure proficiently. It empowers users to define infrastructure in declarative configuration files.
What is meant by Key Pair?
A key pair is a set of cryptographic keys utilized for secure communication between systems. It normally comprises two parts: a public key and a private key.
- Public Key: The public key is shared freely and is utilized for encrypting data. Dispersed to different groups need to discuss safely with the proprietor of the key pair.
- Private Key: The private key is kept secret and safely put away by the owner. It is utilized for decrypting data that has been encrypted with the comparing public key. The private key should to never be imparted to any other individual.
Key pairs are normally utilized in different security protocols, like SSH (Secure Shell), SSL/TLS (Secure Socket Layer/Transport Layer Security), and digital signatures. With regards to AWS, key pairs are utilized for safely getting to EC2 instances, where the public key is utilized to encrypt login credentials, and the private key is utilized to decrypt them.
Step-by-step process to create key pair in AWS using Terraform
Step 1: Launch an Instance
Launch EC2 instance with Amazon Linux2 Kernel 5.10(AMI) along with port numbers set SSH – 22, HTTP 8o, select storage t2.micro and select existing security group.

Now connect with git bash or any terminal like Putty, PowerShell, visual studio code, and so on.

Step 2: Install Terraform
Now install terraform to our local machine by using following commands or go to official page of terraform and copy commands
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo
sudo yum -y install terraform

Step 3: Create a file to create key pair
Create a file with " .tf " extension like <filename.tf>. Inside this file we are configuring our infrastructure with script
Provider section
In this provider section we are defining which region to mention
# Specify provider
provider "aws" {
region = "eu-west-1" # Change this to your desired region
}
Keypair Resource
In this Keypair resource section we defining keypair name and key pair path to store our key
# Define key pair resource
resource "aws_key_pair" "my_key_pair" {
key_name = "my-key-pair" # Name for your key pair
public_key = file("~/.ssh/id_rsa.pub") # Path to your public key file
}

Step 4: Generate Keys
In this step we are generating keys generation because our terraform infrastructure keypair need a path to store key ID
Default default path of public key is /home/ec2-user/.ssh/id_rsa.pub
Generate key_generation by using following command
ssh-keygen

with out this step we cannot create a key pair while executing terraform validate we face a error. Like shown in below figure

Step 5: Execute Terraform Commands
Now initialize terraform by using following command. When we execute this it automatically install some packages required to terraform
terraform init

Now execute terraform execution flow commands when we execute this commands terraform build a our infrastructure
terraform fmt
terraform validate
terraform plan

Now execute terraform apply command
terraform apply --auto-approve

Resources created after successfully terraform apply completed

Conclusion
By understanding how to create key pairs in AWS using Terraform is crucial for keeping up with secure access to cloud resources. By following the steps framed in this guide, users can successfully oversee cryptographic keys and ensure secure correspondence between systems inside their AWS infrastructure.
Key Pairs assume an imperative part in securing down access to EC2 instances, and Terraform gives a convenient method for automate the creation and the management of these key pairs. By utilizing Terraforms infrastructure as code capacities, users can define key pair resources in a declarative way, ensuring consistency and unwavering quality across their infrastructure deployments.
Besides, by integrating key pair creation into their Terraform work processes, clients can smooth out their infrastructure management processes and authorize security best practices reliably across their AWS environments.
Similar Reads
Non-linear Components
In electrical circuits, Non-linear Components are electronic devices that need an external power source to operate actively. Non-Linear Components are those that are changed with respect to the voltage and current. Elements that do not follow ohm's law are called Non-linear Components. Non-linear Co
11 min read
Class Diagram | Unified Modeling Language (UML)
A UML class diagram is a visual tool that represents the structure of a system by showing its classes, attributes, methods, and the relationships between them. It helps everyone involved in a projectâlike developers and designersâunderstand how the system is organized and how its components interact
12 min read
Spring Boot Tutorial
Spring Boot is a Java framework that makes it easier to create and run Java applications. It simplifies the configuration and setup process, allowing developers to focus more on writing code for their applications. This Spring Boot Tutorial is a comprehensive guide that covers both basic and advance
10 min read
AVL Tree Data Structure
An AVL tree defined as a self-balancing Binary Search Tree (BST) where the difference between heights of left and right subtrees for any node cannot be more than one. The absolute difference between the heights of the left subtree and the right subtree for any node is known as the balance factor of
4 min read
Backpropagation in Neural Network
Backpropagation is also known as "Backward Propagation of Errors" and it is a method used to train neural network . Its goal is to reduce the difference between the modelâs predicted output and the actual output by adjusting the weights and biases in the network. In this article we will explore what
10 min read
What Is Cloud Computing ? Types, Architecture, Examples and Benefits
Nowadays, Cloud computing is adopted by every company, whether it is an MNC or a startup many are still migrating towards it because of the cost-cutting, lesser maintenance, and the increased capacity of the data with the help of servers maintained by the cloud providers. Cloud Computing means stori
15 min read
What is Vacuum Circuit Breaker?
A vacuum circuit breaker is a type of breaker that utilizes a vacuum as the medium to extinguish electrical arcs. Within this circuit breaker, there is a vacuum interrupter that houses the stationary and mobile contacts in a permanently sealed enclosure. When the contacts are separated in a high vac
13 min read
3-Phase Inverter
An inverter is a fundamental electrical device designed primarily for the conversion of direct current into alternating current . This versatile device , also known as a variable frequency drive , plays a vital role in a wide range of applications , including variable frequency drives and high power
13 min read
Polymorphism in Java
Polymorphism in Java is one of the core concepts in object-oriented programming (OOP) that allows objects to behave differently based on their specific class type. The word polymorphism means having many forms, and it comes from the Greek words poly (many) and morph (forms), this means one entity ca
7 min read
Random Forest Algorithm in Machine Learning
A Random Forest is a collection of decision trees that work together to make predictions. In this article, we'll explain how the Random Forest algorithm works and how to use it. Understanding Intuition for Random Forest AlgorithmRandom Forest algorithm is a powerful tree learning technique in Machin
7 min read