🌐 Повний посібник зі створення VPC з публічними та приватними підмережами за допомогою AWS та Terraform 🌟

Коли створюєш безпечну та масштабовану хмарну інфраструктуру, налаштування Virtual Private Cloud (VPC) з публічними та приватними підмережами є важливим кроком. Цей посібник поєднує ручні кроки через AWS Management Console та автоматизацію процесу за допомогою Terraform, потужного інструменту для Інфраструктури як Код (IaC). 🚀

🛠 Крок 1: Ручне налаштування в AWS Management Console 🖱️

🔑 Увійдіть до AWS
Відкрийте браузер, перейдіть на AWS Management Console та увійдіть.

🌐 Створення VPC

  • Перейдіть до VPC DashboardYour VPCsCreate VPC.
  • Введіть:
  • Name tag: MyVPC
  • CIDR block: 10.0.0.0/16

🌉 Створення підмереж

Перейдіть до SubnetsCreate subnet.

  • Створіть публічну підмережу з:
  • Name tag: PublicSubnet
  • CIDR block: 10.0.0.0/24
  • Створіть приватну підмережу з:
  • Name tag: PrivateSubnet
  • CIDR block: 10.0.1.0/24

🌐 Приєднайте Інтернет-шлюз

  • Перейдіть до Internet GatewaysCreate Internet Gateway → Назва: MyInternetGateway.
  • Приєднайте його до вашого VPC.

📜 Створення таблиці маршрутів

  • Перейдіть до Route TablesCreate Route Table → Назва: PublicRouteTable.
  • Додайте маршрут:
  • Destination: 0.0.0.0/0
  • Target: Виберіть ваш Internet Gateway.
  • Ассоціюйте PublicRouteTable з публічною підмережею.

🤖 Крок 2: Автоматизація налаштування за допомогою Terraform

Хоча ручне налаштування добре для навчання, автоматизація інфраструктури за допомогою Terraform забезпечує повторюваність, узгодженість та економить час. 🕒 Ось код Terraform для досягнення того самого результату:

Terraform конфігураційний файл (Налаштування VPC) 🧑‍💻

. 🚀 Ініціалізація конфігурації Terraform
Визначте провайдера AWS та необхідну версію.

terraform {  
 required_providers {  
 aws = {  
 source = "hashicorp/aws"  
 version = "~> 5.0"  
 }  
 }  
}
  • 🌍 Провайдер AWS
    Встановіть регіон AWS для розгортання ресурсів.
provider "aws" {  
 region = "eu-west-1"  
}

🌐 Створення VPC

resource "aws_vpc" "demo_vpc" {  
 cidr_block = "10.0.0.0/16"  

 tags = {  
 Name = "Terraform VPC"  
 }  
}

📊 Додавання підмереж

resource "aws_subnet" "public_subnet" {  
 vpc_id = aws_vpc.demo_vpc.id  
 cidr_block = "10.0.0.0/24"  
}  

resource "aws_subnet" "private_subnet" {  
 vpc_id = aws_vpc.demo_vpc.id  
 cidr_block = "10.0.1.0/24"  
}

🌉 Приєднання Інтернет-шлюза

resource "aws_internet_gateway" "igw" {  
 vpc_id = aws_vpc.demo_vpc.id  
}

📜 Таблиця маршрутів для публічної підмережі

resource "aws_route_table" "public_rtb" {  
 vpc_id = aws_vpc.demo_vpc.id  

 route {  
 cidr_block = "0.0.0.0/0"  
 gateway_id = aws_internet_gateway.igw.id  
 }  
}

🔗 Ассоціація таблиці маршрутів

resource "aws_route_table_association" "public_subnet" {  
 subnet_id = aws_subnet.public_subnet.id  
 route_table_id = aws_route_table.public_rtb.id  
}

pic

🏆 Переваги використання Terraform 🌟

  1. 🚀 Автоматизація
    Terraform автоматизує створення ресурсів, заощаджуючи час та зменшуючи ручні зусилля.
  2. 🔄 Узгодженість
    Конфігураційні файли забезпечують ідентичність кожного розгортання, уникнення людських помилок.
  3. 📜 Контроль версій
    Файли Terraform можна зберігати в Git, що дозволяє здійснювати версіонування та легке відслідковування змін.
  4. 👥 Співпраця
    Команди можуть ефективно співпрацювати, використовуючи єдине джерело правди (код).
  5. 📦 Підтримка мультихмарних середовищ
    Terraform підтримує AWS, Azure, GCP та інші, що робить його універсальним інструментом для сучасної інфраструктури.
  6. 💥 Масштабованість
    Ресурси можна додавати або оновлювати, модифікуючи код — не потрібно клікати через інтерфейс користувача.
    7.
    🌍 Відтворюваність
    З Terraform ви можете легко відтворити всю інфраструктуру в різних середовищах (наприклад, Dev, Staging, Production).

🚀 Висновок

Незалежно від того, чи керуєте ви одним середовищем, чи масштабуєте хмарне рішення в різних регіонах, Terraform є змінником гри для ефективного та автоматизованого управління інфраструктурою. Хоча AWS Management Console є відмінною точкою для початку, перехід до Terraform відкриває незрівнянну потужність, узгодженість і співпрацю для команд DevOps. 💡

💾 Додаткові ресурси:
Ознайомтесь з документацією AWS Terraform Provider для більше деталей та прикладів.

Не соромтесь ділитися своїми думками та питаннями в коментарях нижче! 👇 😊

Перекладено з: 🌐 A Comprehensive Guide to Setting Up a VPC with Public and Private Subnets Using AWS and Terraform 🌟

Leave a Reply

Your email address will not be published. Required fields are marked *