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.
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
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.
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:
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:
Azure Automation es un sistema de automatización basado en la nube. Incluye:
En este módulo se implementan las herramientas necesarias para supervisar, administrar y evaluar las amenazas en su 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:
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. |
|
Core | Ubicación de la suscripción | Las suscripciones asignadas a un grupo de administración heredan lo siguiente:
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.
Sugerencia
Para más información, consulte Adaptación de la arquitectura de zona de aterrizaje de Azure para cumplir los requisitos.
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.
La 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.