Correo electrónico | nube@criptonube.com

Terraform en Huawei Cloud

Infraestructura como Código

Antes de comenzar a hablar sobre terraform y sus funcionalidades dentro Huawei Cloud, es importante conocer el concepto de “Infraestructura como código”, se trata de la gestión y provisión de infraestructura a través de código en lugar de procesos manuales. Se crean archivos de configuración que contienen las especificaciones de su infraestructura, lo que facilita la edición y distribución de configuraciones.

Terraform

Terraform es una herramienta que permite la gestión de recursos en diferentes proveedores de nube, implementando la Infraestructura como Código a través de archivos fáciles de editar y entender. Para que estos archivos de configuración funcionen, terraform utiliza APIs para comunicarse con los proveedores y que los recursos especificados en dichos archivos comiencen a configurarse sin necesidad de ingresar a la consola.

Hacer uso de Terraform ofrece muchos beneficios, como el control de versiones sobre nuestros archivos de configuración, tener formatos definidos para cuando se necesiten levantar nuevos recursos o la automatización de los cambios que se desean implementar sin tener que escribir específicamente los pasos a seguir para realizar dicha acción.

Security groups en Huawei Cloud

El día de hoy se va a abordar el uso de Terraform para configurar/editar los security groups, pero primero un breve recordatorio sobre este concepto. Un security group es similar a un firewall, es un grupo lógico que se utiliza para controlar el acceso a la red. Se pueden definir reglas de acceso o salida para proteger los servidores (ECS) que se agregan a estos grupos.

  • Las reglas de entrada permiten que el tráfico de la red externa se envíe a los ECS del security group.
  • Las reglas de salida permiten que el tráfico de red de los ECS del security group se envíe fuera de este.

Configuración de plantilla Terraform 

Primero se debe especificar que proveedor de nube es el que se esta usando, junto con las credenciales necesarias para completar la acción.

Justo después de la palabra “provider” se debe colocar el proveedor de nube, en este caso “huaweicloud”.

  • Region: la región en la que se desea trabajar.
  • Acces_key: la llave de acceso del usuario.
  • Secret_key: la llave secreta del usuario.

Si no se tiene un security group existente se puede crear también con el uso de Terraform.

Se especifica que tipo de recurso se desea configurar luego de la palabra “resource”, en este caso se necesita crear un security group. 

  • Name: un nombre único para el security group
  • Description: una pequeña descripción acerca del security group (opcional).

Para agregar nuevas reglas de entrada y salida a un security group se debe contar con su ID.

Como se puede observar acá se manejan muchos más parámetros para indicar la función que tendrá la regla de seguridad. Al igual que las otras plantillas se debe especificar el recurso que se desea crear seguido de algún nombre o indicador, en este caso es una regla que permite ingreso SSH.

  • Security_group_id: el id del security group al que se desea agregar una regla de seguridad.
  • Direction: indica si es una regla de tráfico entrante o de salida.
  • Ethertype: la versión del protocolo IP que se va a utilizar.
  • Protocol: el protocolo que se desea utilizar.
  • Port_range_min: el inicio del rango de puertos que serán afectados por la regla.
  • Port_range_max: el final del rango de puertos que serán afectados por la regla.
  • Remote_ip_prefix: el rango de IPs que aceptadas por la regla.

El uso de Terraform puede agilizar el proceso de crear security groups gracias al uso de sus plantillas, este ejemplo solamente se creo una regla de seguridad, pero en el mismo archivo de configuración se puede adjuntar más de una.

Autor: Jose Marcos Garcia

Más temas que te pueden interesar: