DPZC-aws/zad_4_1_hetz/main.tf
Bartosz Karwacki 886a763d21 Hetzner
2022-01-05 00:43:50 +01:00

75 lines
1.6 KiB
HCL

terraform {
required_providers {
hcloud = {
source = "hetznercloud/hcloud"
version = "1.32.1"
}
}
}
variable "token" {
type = string
}
provider "hcloud" {
token = var.token
}
resource "hcloud_server" "ubuntu_server" {
count = 2
name = "bk-terraform-server-${count.index}"
image = "ubuntu-20.04"
server_type = "cx11"
network {
network_id = hcloud_network.network.id
}
user_data = file("user_data")
}
resource "hcloud_network" "network" {
name = "bk-terraform-network"
ip_range = "10.0.1.0/24"
}
resource "hcloud_network_subnet" "subnet" {
network_id = hcloud_network.network.id
type = "cloud"
network_zone = "eu-central"
ip_range = "10.0.1.0/24"
}
resource "hcloud_load_balancer" "load_balancer" {
name = "bk-terraform-balancer"
load_balancer_type = "lb11"
location = "hel1"
}
resource "hcloud_load_balancer_service" "load_balancer_service" {
load_balancer_id = hcloud_load_balancer.load_balancer.id
protocol = "tcp"
listen_port = 8080
destination_port = 8080
}
resource "hcloud_load_balancer_network" "srvnetwork" {
load_balancer_id = hcloud_load_balancer.load_balancer.id
network_id = hcloud_network.network.id
ip = "10.0.1.25"
}
resource "hcloud_load_balancer_target" "load_balancer_target" {
count = 2
type = "server"
load_balancer_id = hcloud_load_balancer.load_balancer.id
server_id = hcloud_server.ubuntu_server[count.index].id
}
output "link" {
value = "http://${hcloud_load_balancer.load_balancer.ipv4}:8080/"
}