Skip to content

Commit 6835768

Browse files
committed
added demos nuevos providers
1 parent ec34b21 commit 6835768

12 files changed

Lines changed: 356 additions & 6 deletions

File tree

41.4 KB
Loading
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<html>
2+
<head>
3+
<title>LemonLand Test Site</title>
4+
</head>
5+
<body style="background-color:#FFFFFF">
6+
<p style="text-align: center;">
7+
<img src="fruits.png" alt="YEAH!" style="margin-left:auto;margin-right:auto">
8+
</p>
9+
10+
</body>
11+
</html>

05-iac/00-terraform/04-incorporando-recursos/07-demo.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
77
```bash
88
cd lab/lc_web_app/
9-
terraform plan -out d1.tfplan
9+
terraform plan -out d2.tfplan
1010
terraform apply "d2.tfplan"
1111
```
1212

05-iac/00-terraform/04-incorporando-recursos/08-demo.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
77
```bash
88
cd lab/lc_web_app/
9-
terraform plan -out d1.tfplan
9+
terraform plan -out d2.tfplan
1010
terraform apply "d2.tfplan"
1111
```
1212

05-iac/00-terraform/04-incorporando-recursos/09-demo.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
77
```bash
88
cd lab/lc_web_app/
9-
terraform plan -out d1.tfplan
9+
terraform plan -out d2.tfplan
1010
terraform apply "d2.tfplan"
1111
```
1212

05-iac/00-terraform/04-incorporando-recursos/10-demo.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
77
```bash
88
cd lab/lc_web_app/
9-
terraform plan -out d1.tfplan
9+
terraform plan -out d2.tfplan
1010
terraform apply "d2.tfplan"
1111
```
1212

05-iac/00-terraform/04-incorporando-recursos/11-demo.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
77
```bash
88
cd lab/lc_web_app/
9-
terraform plan -out d1.tfplan
9+
terraform plan -out d2.tfplan
1010
terraform apply "d2.tfplan"
1111
```
1212

05-iac/00-terraform/04-incorporando-recursos/readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Actualizando nuestra configuración con más recursos
22

3-
Vamos a mejorar la arquitectura de la soluciñon actualmente tenemos una sola instancia de la misma. En este escenario, no podemos asegurar, una alta disponibilidad de la aplicación.
3+
Vamos a mejorar la arquitectura de la solución actualmente tenemos una sola instancia de la misma. En este escenario, no podemos asegurar, una alta disponibilidad de la aplicación.
44

55
* Añadir una segunda zona de disponibilidad
66
* Añadir una nueva instancia EC2
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
# Especificando Required Providers
2+
3+
## Pre requisitos
4+
5+
> Si has destruidfo el entorno recrealo
6+
7+
```bash
8+
cd lab/lc_web_app/
9+
terraform plan -out d3.tfplan
10+
terraform apply "d3.tfplan"
11+
```
12+
13+
## Pasos
14+
15+
### Paso 1. Visitando la documentación
16+
17+
Antes de incorporar `terraform` y el bloque `required_providers` a nuestra configuración, vamos a ver la documentación.
18+
19+
* [Official Docs](https://registry.terraform.io/) -> `Browse - Providers` --> `Select AWS` --> `Documentation tab`
20+
21+
Aquí podemos encontrar un [ejemplo de uso del provider](https://registry.terraform.io/providers/hashicorp/aws/latest/docs)
22+
23+
### Paso 2. Creamos el fichero para providers
24+
25+
Creamos el fichero `./lab/lc_web_app/providers.tf`
26+
27+
```tf
28+
terraform {
29+
required_providers {
30+
aws = {
31+
source = "hashicorp/aws"
32+
version = "~> 3.0"
33+
}
34+
}
35+
}
36+
37+
```
38+
39+
### Paso 3. Actualizando el paso de credenciales
40+
41+
Si nos fijamos en la documentación, podemos encontrar una sección a la derecha [Authentication](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#authentication)
42+
43+
Aquí podemos ver las distintas opciones que soporta el provider para autentificarnos.
44+
45+
Actualizamos `variables.tf`
46+
47+
```diff
48+
# PROVIDER
49+
- variable "aws_access_key" {
50+
- type = string
51+
- description = "AWS Access Key"
52+
- sensitive = true
53+
- }
54+
-
55+
- variable "aws_secret_key" {
56+
- type = string
57+
- description = "AWS Secret Key"
58+
- sensitive = true
59+
- }
60+
```
61+
62+
### Paso 4. Eliminando la configuración previa del Provider
63+
64+
Nuestro provider está definido en `network.tf`, vamos a quitarlo de aquí.
65+
66+
Actualizamos `network.tf`
67+
68+
```diff
69+
-# PROVIDERS
70+
- provider "aws" {
71+
- access_key = var.aws_access_key
72+
- secret_key = var.aws_secret_key
73+
- region = var.aws_region
74+
- }
75+
76+
```
77+
78+
Actualizamos `providers.tf`
79+
80+
```diff
81+
terraform {
82+
required_providers {
83+
aws = {
84+
source = "hashicorp/aws"
85+
version = "~> 3.0"
86+
}
87+
}
88+
}
89+
+
90+
+provider "aws" {
91+
+ region = var.aws_region
92+
+}
93+
+
94+
```
95+
96+
## Clean Up
97+
98+
```bash
99+
terraform destroy
100+
```
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# Incorporando el Proveedor Random
2+
3+
## Pre requisitos
4+
5+
> Si has destruidfo el entorno recrealo
6+
7+
```bash
8+
cd lab/lc_web_app/
9+
terraform plan -out d3.tfplan
10+
terraform apply "d3.tfplan"
11+
```
12+
13+
## Pasos
14+
15+
Vamos a usar el `random provider` y el recurso `random_integer`, para generar un ID único para los buckets de S3
16+
17+
### Paso 1. Buscar el random provider
18+
19+
[random provider docs](https://registry.terraform.io/providers/hashicorp/random/latest)
20+
21+
> EJERCICIO: Incluir el provider de tal forma que la versión que la major permanexca en 3, pero que acepte actualizaciones de la versión menor.
22+
23+
### Paso 2. Incorporar el Random Provider
24+
25+
Actualizamos `providers.tf`
26+
27+
```diff
28+
terraform {
29+
required_providers {
30+
aws = {
31+
source = "hashicorp/aws"
32+
version = "~> 3.0"
33+
}
34+
+
35+
+ random = {
36+
+ source = "hashicorp/random"
37+
+ version = "~> 3.0"
38+
+ }
39+
}
40+
}
41+
42+
provider "aws" {
43+
region = var.aws_region
44+
}
45+
46+
```
47+
48+
### Paso 3. Incluir en nuestra solución
49+
50+
> EJERCICIO: Añadir `random_integer resource` al fichero `locals.tf` en nuestra configuración, y establecer el mínimo en 10000 y el máximo en 99999. Como `name_label` usar `rand`
51+
52+
Actualizar `locals.tf`
53+
54+
```diff
55+
+resource "random_integer" "rand" {
56+
+ min = 10000
57+
+ max = 99999
58+
+}
59+
+
60+
locals {
61+
common_tags = {
62+
company = var.company
63+
project = "${var.company}-${var.project}"
64+
billing_code = var.billing_code
65+
}
66+
}
67+
68+
```
69+
70+
### Clean Up
71+
72+
```bash
73+
terraform destroy
74+
```

0 commit comments

Comments
 (0)