Crear una máquina virtual en Azure
Cuando se habla de IasS se tiene que hablar de maquinas virtuales (VM) que la base de toda infraestructura, en este post hablaremos de que recursos constituyen una máquina virtual en Azure y cómo crearlos.
Cuando se crea una máquina virtual (VM) en Azure se crean varios servicios alrededor de esta VM
- Una máquina con CPU y recursos
- Una Azure Storage para sostener los discos virtuales
- Un disco virtual para sostener el sistema operativo
- Una red virtual (VNET) para conectar la VM y servicios adicionales
- Una interfaz de red para comunicarse con la VNET
- Opcionalmente una dirección IP pública para acceder a la VM
Requerimientos
Crear el grupo de recursos
Un grupo de recursos (Resource Group) es una forma de agrupar recursos, y un recurso siempre debe de estar dentro de un grupo, espor eso que para iniciar es necesario crear uno.
$ az group create
--name myResourceGroup
--location eastus
Crear la máquina virtual
Elegir la imagen a instalar
Azure tiene un set sistemas operativos Linux y Windows,
para ver la lista podemos utilizar el comando az vm image list
para este ejemplo utilizaremos --image UbuntuLTS
$ az vm image list
--output table
Offer | Publisher | Sku | Urn | UrnAlias | Version |
---|---|---|---|---|---|
CentOS | Open Logic | 7.5 | OpenLogic: CentOS: 7.5: latest | CentOS | latest |
CoreOS | Core OS | Stable | CoreOS: CoreOS: Stable: latest | CoreOS | latest |
debian-10 | Debian | 10 | Debian: debian-10: 10: latest | Debian | latest |
openSUSE-Leap | SUSE | 42.3 | SUSE: openSUSE-Leap: 42.3: latest | openSUSE-Leap | latest |
RHEL | Red Hat | 7-LVM | RedHat: RHEL: 7-LVM :latest | RHEL | latest |
SLES | SUSE | 15 | SUSE: SLES: 15: latest | SLES | latest |
UbuntuServer | Canonical | 18.04-LTS | Canonical: UbuntuServer: 18.04-LTS: latest | UbuntuLTS | latest |
WindowsServer | Microsoft WindowsServer | 2019-Datacenter | MicrosoftWindowsServer: WindowsServer: 2019-Datacenter:latest | Win2019Datacenter | latest |
WindowsServer | Microsoft WindowsServer | 2016-Datacenter | MicrosoftWindowsServer: WindowsServer: 2016-Datacenter:latest | Win2016Datacenter | latest |
WindowsServer | Microsoft WindowsServer | 2012-R2-Datacenter | MicrosoftWindowsServer: WindowsServer: 2012-R2-Datacenter:latest | Win2012R2Datacenter | latest |
WindowsServer | Microsoft WindowsServer | 2012-Datacenter | MicrosoftWindowsServer: WindowsServer: 2012-Datacenter:latest | Win2012Datacenter | latest |
WindowsServer | Microsoft WindowsServer | 2008-R2-SP1 | MicrosoftWindowsServer: WindowsServer: 2008-R2-SP1:latest | Win2008R2SP1 | latest |
Que capacidad
Azure tiene la siguiente clasificación, para nuestro caso utilizaremos uno de propósito general --size Standard_B2s
Type | Common sizes | Description |
---|---|---|
General purpose | B, Dsv3, Dv3, DSv2, Dv2, Av2, DC | Balanced CPU-to-memory. Ideal for dev / test and small to medium applications and data solutions. |
Compute optimized | Fsv2 | High CPU-to-memory. Good for medium traffic applications, network appliances, and batch processes. |
Memory optimized | Esv3, Ev3, M, DSv2, Dv2 | High memory-to-core. Great for relational databases, medium to large caches, and in-memory analytics. |
Storage optimized | Lsv2, Ls | High disk throughput and IO. Ideal for Big Data, SQL, and NoSQL databases. |
GPU | NV, NVv2, NC, NCv2, NCv3, ND | Specialized VMs targeted for heavy graphic rendering and video editing. |
High performance | H | Our most powerful CPU VMs with optional high-throughput network interfaces (RDMA). |
Si queremos saber más acerca de las capacidades de cada una podemos hacerlo vía az vm list-sizes
$ az vm list-sizes
--output table
--location eastus
Max Data Disk Count | Memory In Mb | Name | Number Of Cores | Os Disk Size In Mb | Resource Disk Size In Mb |
---|---|---|---|---|---|
2 | 512 | Standard_B1ls | 1 | 1047552 | 1024 |
2 | 2048 | Standard_B1ms | 1 | 1047552 | 4096 |
2 | 1024 | Standard_B1s | 1 | 1047552 | 2048 |
4 | 8192 | Standard_B2ms | 2 | 1047552 | 16384 |
4 | 4096 | Standard_B2s | 2 | 1047552 | 8192 |
8 | 16384 | Standard_B4ms | 4 | 1047552 | 32768 |
16 | 32768 | Standard_B8ms | 8 | 1047552 | 65536 |
16 | 49152 | Standard_B12ms | 12 | 1047552 | 98304 |
32 | 65536 | Standard_B16ms | 16 | 1047552 | 131072 |
32 | 81920 | Standard_B20ms | 20 | 1047552 | 163840 |
4 | 3584 | Standard_DS1_v2 | 1 | 1047552 | 7168 |
Crear la máquina virtual
Donde
az vm create: es el comando para crear una máquina virtual
Parámetros
–resource-group myResourcegroup: nombre del grupo de recursos donde se creara la MV
–admin-user azureusr: usuario
–size Standard_B2s: tamaño de la MV
–image UbuntuLTS: imagen a utilizar
–generate-ssh-keys: indica que la autenticacion sera por ssh
–name myvm01: nombre de la máquina virtual
$ az vm create --resource-group myResourceGroup --name myVM01 --admin-user azureusr --size Standard_B2s --image UbuntuLTS --generate-ssh-keys
Imagen 2.1: recursos creados
Cuando se crea una máquina virtual se crean
- Máquina virtual
- Unidad de disco
- Grupo de seguridad
- Dirección IP Pública
- Interfaz de red
- red virtual
Ingresar a la VM creada
Del recurso Dirección IP Pública se obtiene la dirección pública con la cual se puede ingresar via SSH Ingresamos via SSH con el usuario azureusr y a la ip pública
$ ssh azureusr@52.168.148.83
Warning: Permanently added '52.168.148.83' (ECDSA) to the list of known hosts.
Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 5.0.0-1018-azure x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System load: 0.03 Processes: 125
Usage of /: 4.2% of 28.90GB Users logged in: 0
Memory usage: 8% IP address for eth0: 10.0.0.4
Swap usage: 0%
7 packages can be updated.
7 updates are security updates.
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
azureusr@myVM01:~$