Added DNS resources

This commit is contained in:
Sławek Koszewski 2025-03-28 22:51:02 +01:00
parent 1e99b84730
commit 166f8f9d17

98
main.tf
View File

@ -160,6 +160,104 @@ resource "google_compute_route" "rt_to_on_prem" {
next_hop_vpn_tunnel = google_compute_vpn_tunnel.to_lazurowa.id
}
# DNS
resource "google_dns_managed_zone" "koszewscy_internal" {
name = "koszewscy-internal"
dns_name = "koszewscy.internal."
visibility = "private"
private_visibility_config {
networks {
network_url = google_compute_network.vpc_hub.id
}
}
}
resource "google_dns_record_set" "vm_hub" {
name = "vm-hub.koszewscy.internal."
managed_zone = google_dns_managed_zone.koszewscy_internal.name
type = "A"
ttl = 60
rrdatas = [google_compute_instance.vm_hub.network_interface[0].network_ip]
depends_on = [google_compute_instance.vm_hub]
}
resource "google_dns_record_set" "vm_spoke" {
name = "vm-spoke.koszewscy.internal."
managed_zone = google_dns_managed_zone.koszewscy_internal.name
type = "A"
ttl = 60
rrdatas = [google_compute_instance.vm_spoke.network_interface[0].network_ip]
depends_on = [google_compute_instance.vm_spoke]
}
resource "google_dns_managed_zone" "koszewscy_external" {
name = "koszewscy-external"
dns_name = "koszewscy.waw.pl."
visibility = "private"
private_visibility_config {
networks {
network_url = google_compute_network.vpc_hub.id
}
}
forwarding_config {
target_name_servers {
ipv4_address = "192.168.2.5"
}
}
}
resource "google_dns_managed_zone" "koszewscy_internal_spoke" {
name = "koszewscy-internal"
dns_name = "koszewscy.internal."
project = "spoke-network"
visibility = "private"
private_visibility_config {
networks {
network_url = google_compute_network.vpc_spoke.id
}
}
peering_config {
target_network {
network_url = google_compute_network.vpc_hub.id
}
}
depends_on = [ google_dns_managed_zone.koszewscy_internal ]
}
resource "google_dns_managed_zone" "koszewscy_external_spoke" {
name = "koszewscy-external"
dns_name = "koszewscy.waw.pl."
project = "spoke-network"
visibility = "private"
private_visibility_config {
networks {
network_url = google_compute_network.vpc_spoke.id
}
}
peering_config {
target_network {
network_url = google_compute_network.vpc_hub.id
}
}
depends_on = [ google_dns_managed_zone.koszewscy_external ]
}
# Virtual Machines
resource "google_compute_instance" "vm_hub" {
name = "vm-hub"
machine_type = "e2-micro"