-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprovider.tf
More file actions
132 lines (114 loc) · 3.47 KB
/
provider.tf
File metadata and controls
132 lines (114 loc) · 3.47 KB
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#parte en la que configuramos el contenedor
provider "google" {
credentials = "${file("master-devops-5114db387441.json")}"
project = "master-devops"
region = "europe-west2"
}
#red padre mysql
resource "google_compute_network" "red-mysql" {
name = "networkmysql"
auto_create_subnetworks = false
}
#red padre wordpress
resource "google_compute_network" "red-wordpress" {
name = "networkwordpress"
auto_create_subnetworks = false
}
#conexion de nuestras redes
resource "google_compute_network_peering" "peeringdevops1" {
name = "peeringdevops1"
network = "${google_compute_network.red-wordpress.self_link}"
peer_network = "${google_compute_network.red-mysql.self_link}"
auto_create_routes = true
}
resource "google_compute_network_peering" "peeringdevops2" {
name = "peeringdevops2"
network = "${google_compute_network.red-mysql.self_link}"
peer_network = "${google_compute_network.red-wordpress.self_link}"
auto_create_routes = true
}
#subred
resource "google_compute_subnetwork" "network-for-mysql" {
name = "test-subnetwork-mysql"
#rango subred
ip_cidr_range = "10.1.1.0/24"
#region
region = "europe-west2"
network = "${google_compute_network.red-mysql.self_link}"
}
resource "google_compute_subnetwork" "network-for-wordpress" {
name = "test-subnetwork-wordpress"
#rango subred
ip_cidr_range = "10.2.1.0/24"
#region
region = "europe-west2"
network = "${google_compute_network.red-wordpress.self_link}"
}
#configuracion de firewall para el acceso externo
resource "google_compute_firewall" "allow-http" {
name = "openportsforwordpress"
network = "${google_compute_network.red-wordpress.self_link}"
allow {
protocol = "icmp"
}
allow {
protocol = "tcp"
#puertos en los que se aceptan peticiones (ssh y html)
ports = ["80","22"]
}
#rango en las peticiones seran aceptadas
source_ranges = ["0.0.0.0/0"]
}
resource "google_compute_firewall" "allow-mysql" {
name = "openportsformysql"
network = "${google_compute_network.red-mysql.self_link}"
allow {
protocol = "icmp"
}
allow {
protocol = "tcp"
#puertos en los que se aceptan peticiones (ssh y html)
ports = ["3306","22"]
}
#rango en las peticiones seran aceptadas
source_ranges = ["10.2.1.0/24"]
}
#configuracion de la instancia de mysql
resource "google_compute_instance" "mysql" {
#nombre
name = "mysql-devops"
#zona en la que se desplegara la maquina
zone = "europe-west2-c"
#tipo de maquina en google cloud, sirve para la capacidad (ram y micro)
machine_type = "f1-micro"
#indicamos parametros para iniciar nuestra maquina con imagenes (que hemos creado con packer)
boot_disk {
initialize_params {
image = "mysql"
}
}
#seleccionamos la la interfaz de red de la maquina
network_interface {
network = "${google_compute_network.red-mysql.self_link}"
network_ip = "10.1.1.5"
subnetwork = "test-subnetwork-mysql"
}
}
#maquina wordpress
resource "google_compute_instance" "wordpress" {
name = "wordpress-devops"
zone = "europe-west2-c"
machine_type = "f1-micro"
boot_disk {
initialize_params {
image = "wordpress"
}
}
network_interface {
network = "${google_compute_network.red-wordpress.self_link}"
subnetwork = "test-subnetwork-wordpress"
#indicamos que necesitamos una ip experna
access_config {
}
}
}