Zonas de aterrizaje de Azure: consideraciones de diseño de módulos de Bicep

En este artículo se describen las consideraciones de diseño de la solución modular Zonas de aterrizaje de azure(ALZ): Bicep que puede usar para implementar y administrar las funcionalidades principales de la arquitectura conceptual de zonas de aterrizaje de Azure, como se detalla en Cloud Adoption Framework (CAF).

Bicep es un lenguaje específico de dominio (DSL) que usa una sintaxis declarativa para implementar recursos de Azure. Tiene una sintaxis concisa, seguridad de tipos confiable y compatibilidad con la reutilización de código.

GitHub logo Una implementación de esta arquitectura está disponible en GitHub: Zonas de aterrizaje de Azure (ALZ): implementación de Bicep. Puede usarla como punto de partida y configurarla según sus necesidades.

Nota

Hay implementaciones para varias tecnologías de implementación, como las basadas en el portal, plantillas de ARM y módulos de Terraform. La elección de la tecnología de implementación no debe influir en la implementación resultante de las zonas de aterrizaje de Azure.

Acelerador ALZ Bicep

Puede encontrar instrucciones paso a paso sobre la implementación, la automatización y el mantenimiento del módulo ALZ Bicep con el Acelerador ALZ Bicep.

El marco del acelerador ALZ Bicep se desarrolló para proporcionar a los usuarios finales compatibilidad con la incorporación y la implementación de ALZ Bicep mediante canalizaciones de CI/CD completas, compatibilidad con acciones de GitHub y canalizaciones de Azure DevOps, marco dedicado para mantenerse sincronizado con las nuevas versiones de ALZ Bicep y modificar o agregar módulos personalizados, y proporciona una guía sobre estrategias de creación de ramas y canalizaciones de solicitud de cambios para linting y validación de módulos de Bicep.

Diseño

Diagram showing the bicep modules for deploying Azure landing zones.

La arquitectura aprovecha la naturaleza modular de Bicep en Azure y se compone de un número de módulos. Cada módulo encapsula una funcionalidad básica de la arquitectura conceptual de zonas de aterrizaje de Azure. Los módulos se pueden implementar de manera individual, pero hay dependencias que se deben tener en cuenta.

La arquitectura propone la inclusión de módulos de orquestador para simplificar la experiencia de implementación. Los módulos de orquestador se pueden usar para automatizar la implementación de los módulos y para encapsular otras topologías de implementación.

Módulos

Un concepto básico en Bicep es el uso de módulos. Los módulos permiten organizar las implementaciones en agrupaciones lógicas. Con los módulos, mejora la legibilidad de los archivos de Bicep mediante la encapsulación de detalles complejos de la implementación. También puede reutilizar fácilmente módulos para distintas implementaciones.

La capacidad de volver a usar módulos ofrece una ventaja real al definir e implementar zonas de aterrizaje. Permite entornos repetibles y coherentes en el código, a la vez que reduce el esfuerzo necesario para realizar la implementación a gran escala.

Capas y almacenamiento provisional

Además de los módulos, la arquitectura de zona de aterrizaje de Bicep se estructura mediante un concepto de capas. Las capas son grupos de módulos de Bicep que están diseñados para implementarse de forma conjunta. Estos grupos forman fases lógicas de la implementación.

Diagram showing the deployment layers.

Una ventaja de este enfoque por capas es la capacidad de ampliar el entorno de forma incremental en el tiempo. Por ejemplo, puede empezar con un pequeño número de capas. Puede agregar las capas restantes en una fase posterior cuando esté listo.

Descripciones de los módulos

En esta sección se proporciona información general de los módulos principales de esta arquitectura.

Nivel Módulo Description Vínculos útiles
Core Grupos de administración Los grupos de administración son los recursos de nivel más alto de un inquilino de Azure. Los grupos de administración le permiten administrar más fácilmente los recursos. Puede aplicar la directiva en el nivel de grupo de administración y los recursos de nivel inferior la heredarán. En concreto, puede aplicar los siguientes elementos en el nivel de grupo de administración para que los hereden las suscripciones del grupo de administración:
  • Directivas de Azure
  • Asignaciones de roles de controles de acceso basado en rol (RBAC) de Azure
  • Controles de costos

Este módulo implementa la jerarquía de grupos de administración tal y como se define en la arquitectura conceptual de zonas de aterrizaje de Azure.
Core Definiciones de directiva personalizadas Las directivas DeployIfNotExists (DINE) o Modify ayudan a garantizar que las suscripciones y los recursos que componen las zonas de aterrizaje son compatibles. Las directivas también facilitan la administración de las zonas de aterrizaje.

En este módulo se implementan definiciones de directiva personalizadas en grupos de administración. No todos los clientes pueden usar directivas DINE o Modify. Si es así, en la guía de CAF sobre directivas personalizadas se proporcionan instrucciones.
Core Definiciones de roles personalizados El control de acceso basado en rol (RBAC) simplifica la administración de los derechos de usuario dentro de un sistema. En lugar de administrar los derechos de cada individuo, determina los derechos necesarios para diferentes roles del sistema. RBAC de Azure tiene varios roles integrados. Las definiciones de roles personalizados permiten crear roles personalizados para el entorno.

En este módulo se implementan definiciones de roles personalizados. El módulo debe seguir las instrucciones de CAF sobre el control de acceso basado en rol de Azure.
Administración Registro, Automatización y Sentinel Azure Monitor, Azure Automation y Microsoft Sentinel permiten supervisar y administrar la infraestructura y las cargas de trabajo. Azure Monitor es una solución que permite recopilar, analizar y actuar sobre la telemetría del entorno.

Microsoft Sentinel es una solución de administración de eventos e información de seguridad (SIEM) nativa de nube. Eso le permite lo siguiente:
  • Recopilar: recopilación de datos en toda la infraestructura
  • Detectar: detección de amenazas que no se han detectado anteriormente
  • Responder: respuesta a amenazas legítimas con orquestación integrada
  • Investigar: investigación de amenazas con inteligencia artificial

Azure Automation es un sistema de automatización basado en la nube. Incluye:
  • Administración de configuración: inventario y seguimiento de los cambios de las máquinas virtuales Linux y Windows, y administración de la configuración de estado deseado
  • Administración de actualizaciones: evalúe el cumplimiento del sistema de Windows y Linux, y cree implementaciones programadas para satisfacer el cumplimiento
  • Automatización de procesos: automatización de tareas de administración

En este módulo se implementan las herramientas necesarias para supervisar, administrar y acceder a amenazas en el entorno. Estas herramientas deben incluir Azure Monitor, Azure Automation y Microsoft Sentinel.
Conectividad Redes La topología de red es una consideración clave en las implementaciones de zonas de aterrizaje de Azure. CAF se centra en dos enfoques de red principales:
  • Topologías basadas en Azure Virtual WAN
  • Topologías tradicionales

En estos módulos se implementa la topología de red que elija.
Identidad Asignaciones de roles La administración de identidad y acceso (IAM) es el límite de seguridad principal de la informática en la nube pública. RBAC de Azure permite realizar asignaciones de roles integrados o definiciones de roles personalizados a entidades de seguridad.

En este módulo se implementan asignaciones de roles en entidades de servicio, identidades administradas o grupos de seguridad en grupos de administración y suscripciones. El módulo debe seguir las instrucciones de CAF sobre la administración de identidad y acceso de Azure.
Principal Ubicación de la suscripción Las suscripciones asignadas a un grupo de administración heredan lo siguiente:
  • Directivas de Azure
  • Asignaciones de roles de controles de acceso basado en rol (RBAC) de Azure
  • Controles de costos

En este módulo se mueven las suscripciones al grupo de administración adecuado.
Core Asignaciones de directivas integradas y personalizadas En este módulo se implementan las asignaciones de Azure Policy de la zona de aterrizaje de Azure predeterminada en grupos de administración. También se crean asignaciones de roles para identidades administradas asignadas por el sistema creadas por directivas.
Administración Módulos de Orchestrator Los módulos de Orchestrator pueden mejorar considerablemente la experiencia de implementación. Estos módulos encapsulan la implementación de varios módulos en uno solo. Esto oculta la complejidad al usuario final.

Personalización de la implementación de Bicep

Las implementaciones de zonas de aterrizaje de Azure proporcionadas como parte de Cloud Adoption Framework se adaptan a una amplia variedad de requisitos y casos de uso. Pero a menudo hay escenarios en los que se necesita personalización para satisfacer necesidades empresariales específicas.

Una vez implementada la zona de aterrizaje de la plataforma, el siguiente paso es implementar zonas de aterrizaje de aplicaciones que habilitan a los equipos de aplicación en el grupo de administración landing zones con las barreras de protección que requieren los administradores de TI central o PlatformOps. El grupo de administración corp es para aplicaciones conectadas corporativas, mientras que el grupo de administración online es para aplicaciones orientadas principalmente al público, pero que pueden conectarse a aplicaciones corporativas a través de redes centrales en algunos escenarios.

La implementación de zonas de aterrizaje de Azure de Bicep se puede usar como base de la implementación personalizada. Proporciona una manera de acelerar la implementación mediante la eliminación de la necesidad de empezar desde cero debido a un cambio necesario específico que establece una opción lista para usar.

GitHub logoLa información sobre cómo personalizar los módulos está disponible en la wiki de repositorios de GitHub GitHub: Zonas de aterrizaje de Azure (ALZ) Bicep - Wiki- Guía del consumidor. Puede usarla como punto de partida y configurarla según sus necesidades.