Restringir la creación de máquinas virtuales en Azure a ciertos tipos con Azure Policy

En el artículo de hoy, vamos a hablar de como restringir a través de Azure Policy que solo se creen ciertos tipos de máquinas virtuales. Esto es muy importante para el control de los costes, porque por ejemplo:

No es lo mismo crear una VM de tipo D2 v3 que vale 0,191€ la hora , que te equivoques y crees una de tipo EC96ads que vale 10,30 € la hora (jajaja).

Además, por poner otro ejemplo que suele pasar mucho, en el caso de que te roben unas credenciales de un service principal con permisos de creación de recursos. Pues te pueden hacer un roto importante, como por ejemplo levantar máquinas con un alto coste para hacer minería de BitCoin.

Pero antes de ver como podemos restringir la creación a ciertos de tipos de máquinas virtuales, vamos a hablar brevemente de que es Azure Policy.

Azure Policy es un servicio de Azure que te ayuda a la gobernanza de tus recursos en Azure. Diciendolo en palabras más simples , nos ayuda a crear, aplicar una serie de políticas que nuestros recursos en Azure deben de cumplir.

Ejemplos de políticas que podemos aplicar (aparte de la que vamos a aplicar en este post) son:

  • Crear solo los recursos en ciertas regiones de Azure, por ejemplo solo permitir crear recursos en West Europe.
  • Los Azure KeyVault deben tener habilitada la protección contra eliminación
  • Los grupos de recursos deben cumplir un nombrado específico

Decir también, que Azure Policy ya tiene muchas definiciones de políticas que podemos usar desde el primer momento. Pero además nosotros mismos podemos crear nuevas para que se ajuste a nuestras necesidades.

Si queréis profundizar más en el tema de Azure Policy, podéis ver la documentación oficial en este enlace:

https://learn.microsoft.com/en-us/azure/governance/policy/

Bueno y ahora ya sí, vamos a ver como podemos asignar una política para solo permitir ciertos tipos de máquinas virtuales.

Pongamos el siguiente ejemplo:

“Yo solo quiero crear máquinas virtuales de tipo B2s y D3v2”

Los pasos que deberíamos seguir es:

  1. Vamos al portal de Azure y buscamos Policy.



  2. Una vez dentro, pulsar en Assignments.



  3. Luego pulsar en Assign policy.



  4. Ahora vamos a seleccionar el ámbito donde va a aplicar esta política, en nuestro caso a nivel de una suscripción.



  5. Seleccionamos la suscripción y luego pulsamos Select.



  6. Ahora vamos a buscar nuestra Policy definition.



  7. Buscar Allowed virtual machine size SKUs y la seleccionamos.



  8. Pulsar en Add.



  9. Nos da un nombre por defecto para el Assignment name (pero vamos que podemos cambiarlo jajaja) y le damos una descripción.



  10. Dejamos Policy enforcement en Enabled, porque queremos que aplique de inmediato nuestra asignación de política.



  11. Pulsamos en la pestaña Parameters.



  12. Buscamos y seleccionamos los tipos de máquinas virtuales que vamos a permitir, en nuestro caso Standard_B2s y Standard_D3_v2



  13. Pulsamos en Review + create



  14. Revisamos que hemos definido bien la asignación….



  15. Pulsamos en Create



  16. Un mensaje nos aparecerá diciendo que se esta creando. Y al poco tiempo, aparecerá otro mensaje diciendo que la deficición se ha creado y que puede tardar la definición en aplicarse entre 5 y 15 minutos.



  17. Y ahora, si vamos a crear una nueva máquina virtual, al seleccionar un tipo de máquina virtual que no permitimos, aparecerá esto:



  18. En cambio, si elegimos un tipo de máquina virtual permitido:



Espero os haya gustado el artículo.