Verne academy

VERNE ACADEMY > BLOG > ARTíCULOS SOBRE CLOUD > AZURE LANDING ZONES: DISEñANDO UNA ARQUITECTURA SóLIDA Y SU DESPLIEGUE PASO A PASO

Azure Landing Zones: diseñando una Arquitectura Sólida y su despliegue paso a paso

Contenidos del Post

En el vertiginoso mundo de la nube, la correcta organización, gestión y operación de tus recursos puede ser la diferencia entre un proyecto exitoso y uno que enfrenta constantes desafíos. Es aquí donde las Azure Landing Zones (ALZ) emergen como un faro de guía y eficiencia.

¿Qué son las Azure Landing Zones?

Las Azure Landing Zones no son meramente herramientas o servicios en Azure, son una estrategia. Representan un conjunto de directrices, prácticas recomendadas y recursos que garantizan una base sólida para desplegar soluciones en Azure de manera eficiente y segura.

Algunas ventajas clave de empezar con una base sólida:

  • Reducir la Complejidad: Azure es un mundo en sí mismo y, sin una guía clara, es fácil perderse. Las ALZ ofrecen un mapa y una estructura para navegar por este entorno.
  • Rápida Implementación: Con los recursos y directrices ya configurados en las ALZ, puedes desplegar soluciones más rápidamente, lo que significa un tiempo de valorización más corto.
  • Adherencia a las Mejores Prácticas: Azure Landing Zones están diseñadas siguiendo las mejores prácticas de Microsoft. Esto asegura que, desde el inicio, estás en el camino correcto.

Desde Verne Tech podemos ayudarte a implementar tu propia Azure Landing Zone.

Habla con uno de nuestros técnicos y cuéntanos las necesidades de tu empresa.

Desplegar Azure Landing Zones paso a paso

Ahora que ya hemos tocado un poco la teoría, pasemos a la práctica. Aquí os proporcionamos una guía rápida para desplegar ALZ Lite en lenguaje Terraform para aquellos que se inician en Azure o para entornos pequeños.

1. Necesidades y componentes del ALZ Lite

Antes de la implementación, es crucial comprender los recursos y servicios que se van a desplegar. Para la ALZ Lite de esta publicación, se va a necesitar una suscripción activa solamente (en otras ALZ con más recursos, se usan diferentes subscripciones para organizar los recursos de forma más eficiente). En cuanto a los componentes, se desplegarán los siguientes:

a. Nivel Managements groups

Los Management groups son contenedores de alto nivel que permiten gestionar el acceso, las políticas y el cumplimiento normativo a través de varias suscripciones. Todos los ajustes aplicados a un Grupo de Administración se heredan automáticamente por todas las suscripciones que están dentro de ese grupo. En esta ALZ, desplegaremos la estructura de Management groups ideal para poder seguir creciendo, aunque al principio sólo usaremos uno. Tendrá la siguiente estructura:

Management groups

A nivel de management group desplegaremos las definiciones de varias políticas, las comentaremos más abajo.

b. Nivel Suscripción

Como ya comentamos antes, en esta ALZ usaremos una sola suscripción para el despliegue. En esta suscripción, desplegaremos 3 grupos de recursos:

  • i. rg-wk01-network-01: Grupo de recursos para las redes de la carga de trabajo 1. Se despliega una vnet y un nsg que está asociado a las subnets de la vnet.
  • ii. rg-wk01-management-001: Grupo de recursos para la administración de la carga de trabajo 1. Se despliega un log analytics y un automation account.
  • iii. rg-wk01-workload-001: Grupo de recursos para almacenar los recursos relacionados con la carga de trabajo 1. En este caso, sólo desplegaremos un storage account.

El diagrama sería este:

Diagrama Landing Zone Subscription

c. Políticas de Azure

Establecen y refuerzan reglas en tus recursos, garantizando el cumplimiento con estándares corporativos y regulaciones. Para esta ALZ, desplegaremos las siguientes:

  • i. pol-neu-01-denyRDP-CustomDef: Esta política niega cualquier regla de seguridad de red que permita el acceso RDP desde Internet.
  • ii. pol-neu-02-nomRG-CustomDef: Esta política describe las reglas de nomenclatura para los grupos de recursos. Cada grupo de recursos debe empezar por “rg-“.
  • iii. pol-neu-03-inhrTagsSubscription-CustomDef: Hablita la herencia de las etiquetas que estén puestas en la subscripción.
  • iv. pol-neu-04-sqltls: Establecer la versión de TLS en 1.2 en las Azure SQL Database.
  • v. pol-neu-05-reslocallow: Esta directiva le permite restringir las ubicaciones que su organización puede especificar al implementar los recursos. (En este caso se ha puesto Norte y Oeste de Europa)
  • vi. pol-neu-06-rglocallow: Esta directiva le permite restringir las ubicaciones que su organización puede especificar al implementar los grupos de recursos. (En este caso se ha puesto Norte y Oeste de Europa)

2. Preparación del Entorno

Asegúrate de tener una suscripción activa de Azure, de configurar tu entorno Azure CLI o Azure PowerShell y de tener instalado Terraform.

Para poder hacer despliegues a nivel de tenant necesitarás tener habilitado unos permisos específicos sobre el usuario/identidad que hará el despliegue. Esto está explicado en el siguiente enlace: ALZ Setup azure · Azure/Enterprise-Scale Wiki · GitHub

3. Implementación del Template

Clona o descarga el template específico para ALZ Lite desde nuestro repositorio en GitHub. Ejecuta el script de implementación personalizando las variables necesarias.

URL al repositorio: https://github.com/ccondev/alzlite

4. Configuración de las variables del archivo Terraform.tfvars

Establece los valores correctos en las variables del archivo terraform.tfvars. Esto incluye valores como el id del Management root y los nombres de los recursos que se desplegarán.

5. Validación y Pruebas

Una vez preparado el entorno y descargado el Código, podremos hacer el despliegue. En mi caso, he instalado Terraform en VS Code y he lanzado el despliegue desde ahí:

  • Iniciamos terraform con el comando “Terraform init”:
Terraform init - Verne Academy
  • Una vez iniciado, validamos el código con el comando “Terraform validate”:
Terraform validate
  • Tras validarlo, ejecutaremos el comando “Terraform plan -var-file=”terraform.tfvars“”. Este comando validará también el código y nos mostrará los recursos que se van a desplegar.
Terraform plan -var-file="terraform.tfvars 1
Terraform plan -var-file="terraform.tfvars 2

(He puesto una captura del inicio y otra del final del output, para no poner muchas capturas de lo mismo)

  • Si el comando anterior se ha ejecutado correctamente, ejecutaremos el comando de despliegue “Terraform apply -auto-approve”:
Terraform apply -auto-approve
Terraform apply -auto-approve

(La salida es similar al anterior comando, pero con la diferencia de que irá indicando los recursos que va desplegando)

  • e. En el caso de que queráis eliminar los recursos que se han desplegado, podéis hacerlo con el siguiente comando “Terraform destroy -auto-approve”:
Terraform destroy -auto-approve

(La salida es similar al anterior comando, pero con la diferencia de que irá indicando los recursos que va desplegando)

Curso Avanzado de Azure Cloud

Fórmate de administrador a arquitecto en la nube de Azure y crea tu propio proyecto tutorizado aplicado a tu empresa. ¡Obtendrás las certificaciones oficiales de Microsoft AZ-104, AZ-305 y AZ-400!
Facebook
Twitter
LinkedIn
Picture of Cristian Conde
Cristian Conde
Data & Cloud Architect en Verne TECH
Deja una respuesta

Artículos Recomendados

DevOps aplicado a proyectos
Artículos sobre Cloud

DevOps: Aplicándolo en mis proyectos

¡Descubre todo lo que puede ofrecerte DevOps! Ha llegado para ayudarte, conseguir la mejor calidad de tus productos y llegar a los plazos establecidos.

Leer más »

¿Buscas formación para

ti o para tu empresa?

Desarrolla tu talento o el de tu equipo con formaciones prácticas impartidas por expertos de la industria. Tú eliges la modalidad: formación privada, clases públicas online en directo o cursos on-demand (formación en video). Durante los cursos trabajamos sobre casos reales y soluciones aplicadas en proyectos, basadas en nuestros años de experiencia. ¿Hablamos? 😉

Carrito0
Aún no agregaste productos.
Seguir viendo
0