DataLife Engine / Первый шаг в работе с AWS Web Services. Создание VPC с помощью Terraform.

Первый шаг в работе с AWS Web Services. Создание VPC с помощью Terraform.


Terraform — это инструмент для управления инфраструктурой как кодом (Infrastructure as Code, IaC). Вместо того чтобы вручную создавать ресурсы в AWS Console, вы описываете их в виде конфигурационных файлов.

Такой подход позволяет:


В этой статье мы создадим первый ресурс в AWS — VPC (Virtual Private Cloud) с помощью Terraform.

1. Файл main.tf — провайдер AWS
terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
}

provider "aws" {
  region = var.aws_region
}

2. Файл network_core.tf — создание VPC
# Create VPC
resource "aws_vpc" "vpc" {
  cidr_block = "${var.vpc_params["network"]}/${var.vpc_params["cidr"]}"
  tags = {
    Name   = "${upper(var.contour_environment["region"])}-${var.contour_environment["company"]}"
    Region = "${upper(var.contour_environment["region"])}"
  }
}

3. Файл outputs.tf — вывод ID VPC
output "vpc_id" {
  value       = aws_vpc.vpc.id
  description = "The ID of VPC"
}

4. Файл terraform.tfvars — значения переменных
aws_region   = "eu-north-1"

contour_environment = {
  "company"           = "SysOps"
  "region"            = "eu"
}

vpc_params = {
  network             = "10.1.0.0"
  cidr                = "16"
}

5. Файл variables.tf — описание переменных
variable "aws_region" {
  description = "AWS region"
  type        = string
  default     = ""
}

variable "contour_environment" {
  description = "Company information"
  type = object({
    company           = string
    region            = string
  })
}

variable "vpc_params" {
  description = "VPC parameters"
  type = object({
    network             = string
    cidr                = string
  })
}

6. Применение конфигурации
terraform init
terraform plan
terraform apply
Вчера, 23:01
Вернуться назад