En este post, vamos a compartir con vosotros unas buenas práctica en el diseño por niveles o Tiers.
Nuestro caso de negocio, será un cliente que quiere explorar el beneficio de la nube y, como parte de su proyecto de migración, quiere mover una aplicación web existente diseñada en 3 niveles.
La aplicación web de Azure se compondrá de los siguientes componentes:
Computo
- La aplicación se hospedará en el conjunto de escalado de máquinas virtuales de Azure con un mínimo de 2 máquinas virtuales en 2 zonas de disponibilidad.
- La máquina virtual debe usar una imagen aprobada que esté protegida en función de los procedimientos recomendados de seguridad.
- A modo de ejemplo, el NIST proporciona directrices para proteger el servidor de aplicaciones web. https://csrc.nist.gov/pubs/sp/800/44/ver2/final
Red
- Cada nivel de las aplicaciones web estará en su subred y cada subred se configurará con grupos de seguridad que restringen el tráfico de red.
- Se usará un equilibrador de carga de aplicaciones para atender el tráfico a los servidores front-end
- Se usará un equilibrador de carga de red para el tráfico del servidor al nivel de back-end.
- Usaremos la integración de VNET para poder conectarnos a servidores postgrel de forma privada en la misma VNET que los servidores backend.
- Se usará un vínculo privado para la conectividad de almacenamiento de Azure con los servidores front-end.
- DNS: Se configuran dos zonas privadas para Postgrel y Azure Storage, la entrada DNS se resuelve en IP privada en la subred Postgrel y el punto de conexión privado para Azure Storage.
Almacenamiento
- Los datos de la aplicación se almacenarán en servidores SQL Postgrel con moderación en 2 zonas de disponibilidad.
- Los archivos multimedia usados por la aplicación se almacenarán en el almacenamiento con redundancia de zona de Azure Blob Containers.
Identidad
- Se creará un inquilino de Azure mediante una cuenta local en Azure AD con un plan para integrarse con Active Directory local.
- Azure AD se considerará como proveedor de identidades para aplicaciones empresariales.
Seguridad
- La máquina virtual de la aplicación se protegerá mediante Azure Defender para punto de conexión, que proporciona una solución antimalware y EDR integrada con el tejido de seguridad de Microsoft.
- Se configurará un WAF en el perímetro para inspeccionar el tráfico entrante a la aplicación web
- Azure Firewall se usará para inspeccionar el tráfico saliente a Internet.
- IAM se usará para controlar el acceso a los recursos de Azure y a las cuentas de Azure Storage.
- Los datos en reposo y en tránsito se cifrarán mediante Azure KMS.
- Azure Defender for Cloud se tendrá en cuenta para CSPM.
- Azure Bastion se usará para las máquinas virtuales administradas durante la fase de prueba.
Operaciones: monitorización y copias de seguridad
- Azure Monitor y Azure Backup se aprovecharán para supervisar la infraestructura y realizar copias de seguridad.
A continuación vemos el posible diseño a alto nivel, con los recursos necesarios según los criterios marcados con anterioridad.
Os animamos a compartir con nosotros vuestras opiniones en X: @mundoazure