1
0
Fork 0

Compare commits

...

2 commits

Author SHA1 Message Date
0108fd0e57 split files 2024-10-21 00:24:33 +03:00
1893495d1b add doc links to readme 2024-10-21 00:24:24 +03:00
6 changed files with 81 additions and 81 deletions

View file

@ -5,3 +5,7 @@
./mkinv 127.0.0.1 127.0.0.2 ./mkinv 127.0.0.1 127.0.0.2
ansible-playbook nginx_setup.yml -bi ./inventory.ini ansible-playbook nginx_setup.yml -bi ./inventory.ini
``` ```
## doc links
https://terraform-provider.yandexcloud.net/
https://yandex.cloud/ru/docs/tutorials/infrastructure-management/terraform-quickstart

35
lb.tf Normal file
View file

@ -0,0 +1,35 @@
resource "yandex_lb_target_group" "group1" {
name = "group1"
target {
subnet_id = yandex_vpc_subnet.subnet1.id
address = yandex_compute_instance.vm[0].network_interface.0.ip_address
}
target {
subnet_id = yandex_vpc_subnet.subnet1.id
address = yandex_compute_instance.vm[1].network_interface.0.ip_address
}
}
resource "yandex_lb_network_load_balancer" "balancer1" {
name = "balancer1"
deletion_protection = "false"
listener {
name = "my-lb1"
port = 80
external_address_spec {
ip_version = "ipv4"
}
}
attached_target_group {
target_group_id = yandex_lb_target_group.group1.id
healthcheck {
name = "http"
http_options {
port = 80
path = "/"
}
}
}
}

81
main.tf
View file

@ -9,84 +9,3 @@ terraform {
provider "yandex" { provider "yandex" {
zone = "ru-central1-b" zone = "ru-central1-b"
} }
resource "yandex_compute_instance" "vm" {
count = 2
name = "vm${count.index}"
platform_id = "standard-v1"
boot_disk {
initialize_params {
image_id = "fd87j6d92jlrbjqbl32q" # ubuntu 22.04
size = 8
}
}
network_interface {
subnet_id = yandex_vpc_subnet.subnet1.id
nat = true
}
resources {
core_fraction = 5
cores = 2
memory = 2
}
metadata = { user-data = "${file("users.yml")}" }
}
resource "yandex_vpc_network" "network1" {
name = "network1"
}
resource "yandex_vpc_subnet" "subnet1" {
name = "subnet1"
v4_cidr_blocks = [ "172.24.8.0/24" ]
network_id = yandex_vpc_network.network1.id
}
resource "yandex_lb_target_group" "group1" {
name = "group1"
target {
subnet_id = yandex_vpc_subnet.subnet1.id
address = yandex_compute_instance.vm[0].network_interface.0.ip_address
}
target {
subnet_id = yandex_vpc_subnet.subnet1.id
address = yandex_compute_instance.vm[1].network_interface.0.ip_address
}
}
resource "yandex_lb_network_load_balancer" "balancer1" {
name = "balancer1"
deletion_protection = "false"
listener {
name = "my-lb1"
port = 80
external_address_spec {
ip_version = "ipv4"
}
}
attached_target_group {
target_group_id = yandex_lb_target_group.group1.id
healthcheck {
name = "http"
http_options {
port = 80
path = "/"
}
}
}
}
output "lb-ip" {
value = yandex_lb_network_load_balancer.balancer1.listener
}
output "vm-ips" {
value = tomap({
for name, vm in yandex_compute_instance.vm : name => vm.network_interface.0.nat_ip_address
})
}

9
outputs.tf Normal file
View file

@ -0,0 +1,9 @@
output "lb-ip" {
value = yandex_lb_network_load_balancer.balancer1.listener
}
output "vm-ips" {
value = tomap({
for name, vm in yandex_compute_instance.vm : name => vm.network_interface.0.nat_ip_address
})
}

24
vms.tf Normal file
View file

@ -0,0 +1,24 @@
resource "yandex_compute_instance" "vm" {
count = 2
name = "vm${count.index}"
platform_id = "standard-v1"
boot_disk {
initialize_params {
image_id = "fd87j6d92jlrbjqbl32q" # ubuntu 22.04
size = 8
}
}
network_interface {
subnet_id = yandex_vpc_subnet.subnet1.id
nat = true
}
resources {
core_fraction = 5
cores = 2
memory = 2
}
metadata = { user-data = "${file("users.yml")}" }
}

9
vpc.tf Normal file
View file

@ -0,0 +1,9 @@
resource "yandex_vpc_network" "network1" {
name = "network1"
}
resource "yandex_vpc_subnet" "subnet1" {
name = "subnet1"
v4_cidr_blocks = [ "172.24.8.0/24" ]
network_id = yandex_vpc_network.network1.id
}