استقرار یک نمونه AWS EC2 با Terraform و SSH Access

مقدمه
استفاده از یک نمونه EC2 در AWS یک گام اساسی در تنظیم برنامه های مبتنی بر ابر است. این مقاله شما را با ایجاد یک نمونه EC2 با استفاده از Terraform ، تولید یک جفت کلید SSH برای دسترسی ایمن و نصب نرم افزار ضروری در داخل آن راهنمایی می کند. با خودکار سازی زیرساخت ها با Terraform ، قوام ، تکرارپذیری و کارآیی را تضمین می کنید.
پیش نیازهای
قبل از شروع ، اطمینان حاصل کنید که موارد زیر را روی دستگاه محلی خود نصب کرده اید:
پیکربندی Terraform
1. زیرساخت ها را تعریف کنید (main.tf
)
این پرونده شامل پیکربندی Terraform برای استقرار یک نمونه EC2 به همراه جفت کلید آن است.
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 4.0"
}
tls = {
source = "hashicorp/tls"
version = "~> 4.0"
}
}
required_version = ">= 1.2.0"
}
provider "aws" {
region = var.aws_region
}
resource "tls_private_key" "nb-keypair" {
algorithm = "RSA"
rsa_bits = 2048
}
resource "local_file" "private_key" {
content = tls_private_key.nb-keypair.private_key_pem
filename = "${path.root}/nb-key-pair.pem"
}
resource "aws_key_pair" "nb-keypair" {
key_name = "nb-key-pair"
public_key = tls_private_key.nb-keypair.public_key_openssh
}
resource "aws_instance" "demo-instance" {
ami = var.aws_ami_image
instance_type = var.aws_instance_type
key_name = aws_key_pair.nb-keypair.key_name
tags = {
Name = "Demo EC2 Instance"
}
}
2. متغیرها را تعریف کنید (variables.tf
)
این پرونده امکان شخصی سازی پارامترهای کلیدی را برای استقرار فراهم می کند
variable "aws_key_name" {
description = "The name of the AWS Key Pair to use"
type = string
default = "nb-key-pair"
}
variable "aws_ami_image" {
description = "The AWS AMI to use"
type = string
default = "ami-09042b2f6d07d164a"
}
variable "aws_region" {
description = "The AWS region to deploy resources"
type = string
default = "eu-central-1"
}
variable "aws_instance_type" {
description = "The AWS instance type to use"
type = string
default = "t2.micro"
}
3. خروجی ها را تعریف کنید (output.tf
)
این خروجی ها جزئیات اتصال مفیدی را ارائه می دهند.
output "public_ip" {
value = aws_instance.demo-instance.public_ip
}
output "ssh_command" {
value = "ssh -i ${path.root}/nb-key-pair.pem ec2-user@${aws_instance.demo-instance.public_ip}"
sensitive = true
}
اولیه سازی و استفاده از terraform
برای استقرار زیرساخت ها ، دستورات Terraform زیر را اجرا کنید:
اولیه سازی اولیه
terraform init
خروجی:
اعتبار سنجی
terraform validate
خروجی:
طرح
terraform plan
Terraform درخواست کنید
پس از استفاده ، Terraform IP عمومی نمونه EC2 شما و یک دستور SSH را برای اتصال به شما منتقل می کند.
terraform apply -auto-approve
خروجی:
اتصال به نمونه EC2
1. مجوزهای پرونده را تنظیم کنید
اطمینان حاصل کنید که پرونده کلید خصوصی شما دارای مجوزهای صحیح است:
chmod 400 nb-key-pair.pem
2. ssh به عنوان مثال
از خروجی Terraform ارائه شده برای SSH به عنوان مثال خود استفاده کنید:
ssh -i nb-key-pair.pem ubuntu@
نصب بسته های مورد نیاز
پس از اتصال به نمونه ، لیست بسته ها را به روز کنید و git را نصب کنید:
sudo apt update
sudo apt install -y git
خروجی:
و ما می توانیم با استفاده از نصب GIT را تأیید کنیم
git --version
خروجی:
همچنین می توانید ابزارهای دیگری را بر اساس نیازهای خود نصب کنید ، به عنوان مثال Docker ، Docker Compose و غیره ، و همچنین در صورت ترجیح منطقه دیگری ، می توانید کد را تغییر داده و منطقه را تغییر دهید.
عالی ، بعد از هر کاری که ما فقط باید داشته باشیم exit
از نمونه EC2 و استفاده از آن استفاده کنید terrafrom destroy -auto-aprove
tf destroy -auto-approve
پایان
با دنبال کردن این مراحل ، شما با استفاده از Terraform یک نمونه EC2 را با موفقیت مستقر کرده اید ، یک جفت کلید SSH را برای دسترسی ایمن ایجاد کرده و نرم افزار لازم را در داخل دستگاه نصب کرده اید. اگر با چالش هایی روبرو هستید ، احساس راحتی کنید که نظر دهید یا سؤال کنید.
پیوند به کد
برنامه نویسی مبارک! 🚀
Ref:
هاشیکورپ