Crear máquina virtual Linux, con Apache instalado, mediante un Script en PowerShell
¿Qué es ARM?
- Azure Resource Manager es el servicio de implementación y administración de Azure (ARM), mediante este servicio, podemos administrar recursos de nuestra cuenta. Gracias a este servicio, podemos parametrizar y automatizar la creación y despliegue de toda la infraestructura Azure necesaria en un proyecto
¿Qué es JSON?
- JSON (JavaScript Object Notation) es un formato que almacena información estructurada (similar al XML pero más simple)
Un objeto JSON comienza y termina con llaves {}. Puede tener dos o más pares de claves/valor dentro, con una coma para separarlos. Así mismo, cada key es seguida por dos puntos para distinguirla del valor
Hay dos elementos centrales en un objeto JSON: claves (Keys) y valores (Values).
- Las Keys deben ser cadenas de caracteres (strings). Como su nombre en español lo indica, estas contienen una secuencia de caracteres rodeados de comillas.
- Los Values son un tipo de datos JSON válido. Puede tener la forma de un arreglo (array), objeto, cadena (string), booleano, número o nulo.
- Ejemplo
{«name»: «vm1-vnet1-s1», «type»: «Microsoft.Compute/virtualMachines»}
¿Qué son las plantillas ARM?
Las plantillas de Azure Resource Manager son archivos JSON que definen tanto la infraestructura como la configuración de un proyecto. La plantilla usa sintaxis declarativa, lo que permite establecer lo que pretende implementar sin tener que escribir la secuencia de comandos de programación para crearla. En la plantilla se especifican los recursos que se van a implementar y las propiedades de esos recursos.
Básicamente es el almacén donde se guarda la configuración de los recursos de un proyecto.
Ventajas de usar plantillas ARM:
– Despliegue muy rápido de recursos en Azure
– Fácil edición modificando parámetros
– Se pueden usar las mismas siempre siguiendo un patrón
En esta práctica voy a desplegar mediante una plantilla ARM, una máquina virtual Ubuntu con el servidor web Apache mediante un Script en powershell
Esto se consigue añadiendo un script de instalación de Apache en la plantilla
apt-get update && apt-get install -y apache2 -y
“Apt-get update” : actualiza la lista de paquetes disponibles y sus versiones, pero no instala o actualiza ningún paquete. Esta lista la coge de los servidores con repositorios que tenemos definidos en el sources.list
“&&” : ejecuta la siguiente sentencia
“apt-get install” : instala el paquete que le pasamos posteriormente
“-y” : instala dependencias si fuera necesario
“apache2”: paquete a instalar
“-y”: no pide confirmación para la instalación
El script que uso para el despliegue se compone de cuatro partes:
1 – Conectar con la cuenta de Azure
2 – Comprobar si existe el grupo de recursos (para borrarlo o crearlo)
3 – Despliegue de la plantilla (instalación de la máquina Ubuntu e instalación de Apache )
4 – Subir los ficheros de la web
Autor: Jorge Rodríguez García
Curso: Administración de Sistemas MultiCloud Azure y AWS
Centro: Tajamar
Año académico: 2021-2022
Linkedin: www.linkedin.com/in/jrgrodgar