-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathnat.tf
98 lines (81 loc) · 2.34 KB
/
nat.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
resource "google_compute_instance" "nat-instance-pri" {
name = "${var.env_prefix}-nat-gateway-pri"
machine_type = "${var.nat_machine_type}"
zone = "${element(var.zones, 0)}"
tags = ["nat-traverse", "${var.env_prefix}-nat-instance"]
can_ip_forward = true
timeouts {
create = "10m"
}
boot_disk {
initialize_params {
image = "ubuntu-os-cloud/ubuntu-1404-lts"
}
}
network_interface {
subnetwork = "${google_compute_subnetwork.infrastructure-subnet.name}"
address = "${cidrhost(var.infrastructure_cidr, 2)}"
access_config {
// Ephemeral IP
}
}
metadata_startup_script = <<SCRIPT
#! /bin/bash
sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
SCRIPT
}
resource "google_compute_instance" "nat-instance-sec" {
name = "${var.env_prefix}-nat-gateway-sec"
machine_type = "${var.nat_machine_type}"
zone = "${element(var.zones, 1)}"
tags = ["nat-traverse", "${var.env_prefix}-nat-instance"]
can_ip_forward = true
timeouts {
create = "10m"
}
boot_disk {
initialize_params {
image = "ubuntu-os-cloud/ubuntu-1404-lts"
}
}
network_interface {
subnetwork = "${google_compute_subnetwork.infrastructure-subnet.name}"
address = "${cidrhost(var.infrastructure_cidr, 3)}"
access_config {
// Ephemeral IP
}
}
metadata_startup_script = <<SCRIPT
#! /bin/bash
sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
SCRIPT
}
resource "google_compute_instance" "nat-instance-ter" {
name = "${var.env_prefix}-nat-gateway-ter"
machine_type = "${var.nat_machine_type}"
zone = "${element(var.zones, 2)}"
tags = ["nat-traverse", "${var.env_prefix}-nat-instance"]
can_ip_forward = true
timeouts {
create = "10m"
}
boot_disk {
initialize_params {
image = "ubuntu-os-cloud/ubuntu-1404-lts"
}
}
network_interface {
subnetwork = "${google_compute_subnetwork.infrastructure-subnet.name}"
address = "${cidrhost(var.infrastructure_cidr, 4)}"
access_config {
// Ephemeral IP
}
}
metadata_startup_script = <<SCRIPT
#! /bin/bash
sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
SCRIPT
}