AWS proporciona un servicio virtual de nube privada (VPC) para crear una red virtual aislada lógicamente en la nube. Aquí, podemos lanzar instancias EC2 y RDS y crear grupos de seguridad y otros recursos. Como muchas otras tareas, también podemos crear un VPC usando Terraform.
Lo que cubriremos
Esta guía mostrará cómo crear un AWS VPC (Virtual Private Cloud) usando Terraform.
Que necesitarás
Creación de AWS VPC usando Terraform
Ahora que hemos instalado Terraform en nuestra máquina local, podemos continuar nuestra tarea de trabajar con VPC. Aquí, hemos esbozado la configuración de VPC para nuestro caso:
Tenemos una subred privada y una pública con su tabla de ruta correspondiente. La subred pública también tiene una puerta de enlace nat conectada a ella. La configuración de Terraform para diferentes componentes se almacena en diferentes archivos como:
Como se mencionó anteriormente, Terraform utiliza varios archivos de configuración para aprovisionar los recursos, y cada uno de estos archivos debe residir en su respectiva carpeta/directorio de trabajo. Creemos un directorio para este propósito:
Paso 1. Cree una carpeta que mantenga sus archivos de configuración y luego navegue a esta carpeta:
1 | $ mkdir linuxhint-teraform && cd linuxhint-terraform |
Paso 2. Permítanos crear nuestro primer archivo de configuración, "Variables.tf ”, que contendrá información sobre nuestra región de AWS y el tipo de instancia que queremos usar:
1 | $ nano variables.TF |
Ahora, coloque el siguiente texto dentro y guarde el archivo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dieciséis 17 | variable "aws_region" |
Paso 3. Crear VPC.TF:
1 | $ nano vpc.TF |
Ahora, coloque el siguiente texto dentro y guarde el archivo:
1 2 3 4 5 | Recurso "AWS_VPC" "MY-VPC" |
Etapa 4. Crear puerta de enlace.Archivo TF y definir Internet Gateway y Nat Gateway aquí:
1 | $ Nano Gateway.TF |
Ahora, coloque el siguiente texto dentro y guarde el archivo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dieciséis 17 18 19 | # Crear recurso de puerta de enlace de Internet y adjuntarlo a la VPC |
Paso 5. Crear subredes.TF para las subredes privadas y públicas dentro de la VPC:
1 | Subredes de $ nano.TF |
Ahora, coloque el siguiente texto dentro y guarde el archivo:
1 2 3 4 5 6 7 8 9 | recursos "aws_subnet" "myprivatesubnet" |
Paso 6. Crear mesa de ruta.TF para subredes privados y públicos:
1 | $ Nano Route-Table.TF |
Ahora, coloque el siguiente texto dentro y guarde el archivo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dieciséis 17 18 19 20 21 22 23 24 25 26 27 28 | # Creación de RT para subred privada |
Paso 7. Hacer un "principal.Archivo TF "que contendrá la definición de nuestra infraestructura:
1 | $ nano principal.TF |
Ahora, coloque la siguiente configuración dentro:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dieciséis 17 18 19 20 21 | Terraform |
Modificar el "Nombre de usuario"En el código anterior con el nombre de usuario en su caso. Veamos un poco sobre los parámetros utilizados en los archivos anteriores:
Inicializando el directorio de Terraform
Para descargar e instalar el proveedor que definimos en nuestra configuración y otros archivos, necesitamos inicializar el directorio que contiene este archivo:
1 | $ Terraform init |
Construyendo la infraestructura
Para aplicar los cambios que planeamos anteriormente, ejecute el siguiente comando:
1 | $ Terraform se aplica |
Ingrese "Sí" en el terminal cuando se le solicite.
Verificar el procedimiento
Ahora, verifiquemos si se crea o no el VPC deseado. Dirígete a la consola VPC y verifique los VPC disponibles:
Podemos ver que nuestro VPC se crea con éxito.
Después de haber realizado esta tarea, elimine los recursos para evitar cargos innecesarios:
1 | $ Terraform Destro |
Ingrese "Sí" para aplicar la acción.
Conclusión
En esta guía, hemos aprendido sobre la creación de un VPC en AWS usando Terraform. Lo siguiente que puede hacer es tratar de aprovisionar una instancia de RDS o EC2 usando Terraform.