برنامه نویسی

استقرار یک نمونه 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 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 را تأیید کنیم

git --version
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

خروجی:

تأیید git
همچنین می توانید ابزارهای دیگری را بر اساس نیازهای خود نصب کنید ، به عنوان مثال Docker ، Docker Compose و غیره ، و همچنین در صورت ترجیح منطقه دیگری ، می توانید کد را تغییر داده و منطقه را تغییر دهید.

عالی ، بعد از هر کاری که ما فقط باید داشته باشیم exit از نمونه EC2 و استفاده از آن استفاده کنید terrafrom destroy -auto-aprove

tf destroy -auto-approve
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

زیرساخت ها را نابود کنید

پایان

با دنبال کردن این مراحل ، شما با استفاده از Terraform یک نمونه EC2 را با موفقیت مستقر کرده اید ، یک جفت کلید SSH را برای دسترسی ایمن ایجاد کرده و نرم افزار لازم را در داخل دستگاه نصب کرده اید. اگر با چالش هایی روبرو هستید ، احساس راحتی کنید که نظر دهید یا سؤال کنید.

پیوند به کد

برنامه نویسی مبارک! 🚀

Ref:
هاشیکورپ

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا