Instructions To Create Azure Virtual Machines From Macos

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 10

DownloadInstructions To Create Azure Virtual Machines From Macos
Open PDF In BrowserView PDF
Instructions to create azure virtual machines
from macos
Juan Casado Ballesteros
10/05/2019

Contents
DOWNLOAD AND LOGIN

2

CREATE AN UBUNTU VM
Open port 80 for web trafic . . . . . . . . . . . . . . . . . . . . . . . .
Intall webserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cleanup resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2
2
2
2

Create Windows VM
Open port 80 for web trafic . . . . . . . . . . . . . . . . . . . . . . . .
Conect to the virtual machine . . . . . . . . . . . . . . . . . . . . . . .
Cleanup Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3
3
3
5

Crear un proceso en powershell
Crear el proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Comprobar la creación de la máquina virtual . . . . . . . . . . . . . .
Conexión a la maquina virtual creada . . . . . . . . . . . . . . . . . .

5
5
5
5

Crear un recurso compartido
Crear una cuenta de almacenamiento . . . . . . . . . . . . . . . . . . .
Creación del recurso . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conectarnos al recurso compartido desde Windows . . . . . . . . . . .

6
6
7
7

Visual Studio

8

Escalabilidad horizontal y
Creación de la aplicación
Subir la aplicación . . . .
Escalar la aplicación . . .
Borrar recursos . . . . . .

vertical
. . . . . .
. . . . . .
. . . . . .
. . . . . .

Power BI con datos en Azure

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

8
8
9
9
10
10

1

DOWNLOAD AND LOGIN
brew update && brew install azure-cli
az login

CREATE AN UBUNTU VM
az group create --name vmUbuntu --location northeurope
az vm create \
--resource-group vmUbuntu \
--name vmUbuntu1 \
--image UbuntuLTS \
--admin-username juancasado \
--generate-ssh-keys
Al ejecutar este comando debemos guardar la IP pública que se nos genera para
usarla posteriormente.

Open port 80 for web trafic
az vm open-port --port 80 \
--resource-group vmUbuntu --name vmUbuntu1

Intall webserver
ssh juancasado@${publicIPUbuntu}
sudo apt-get -y update
sudo apt-get -y install nginx
With the public IP of the webserver you will be able to see from the browser the
server

Cleanup resources
Esta instrucción está desactualizada en la documentación web, en ella se utiliza
el tag -name para indicar el nombre del grupo de recursos, se debe utilizar
–resource-group en su lugar
az group delete --resource-group vmUbuntu

2

Figure 1: vm_ubuntu_nginx_webserver

Create Windows VM
az group create --name vmWindows --location northeurope
az vm create \
--resource-group vmWindows \
--name vmWindows1 \
--image win2016datacenter \
--admin-username juancasado \
--admin-password safePassword123

Open port 80 for web trafic
az vm open-port --port 80 \
--resource-group vmWindows --name vmWindows1
Tenemos que cuardar la ip que obtengamos al ejecutar este comando.

Conect to the virtual machine
#Need to run in PowerShell
mstsc /v:${publicIPWindows}
Para hacer el login debemos seleccionar otra cuenta y usar las credenciales que
hemos establecido al crear la máquina virtual.

3

Figure 2: vm_windows_server

4

Cleanup Resources
az group delete --name vmWindows

Crear un proceso en powershell
Para ellos desde la página de azure activamos el uso de power shell en la barra
superior a la derecha. Se nos solicitará crear un cloud drive para poderla usar lo
cual se hará de forma automática.

Crear el proceso
El proceso que vamos a crear desde esta powershell será una máquina virtual
windows en azure. Debemos usar una contraseña de más de 8 caractres con
números, mayúsculas y letras y al menos un caracter especial.
New-AzResourceGroup -Name powerShellProcess -Location northeurope
$cred = Get-Credential -Message "username and password for the vm"
$vmParams = @{
ResourceGroupName = 'powerShellProcess'
Name = 'wVMprocess'
Location = 'northeurope'
ImageName = 'Win2016Datacenter'
PublicIpAddressName = 'wVMprocessIP'
Credential = $cred
OpenPorts = 3389
}
$newVM1 = New-AzVM @vmParams

Comprobar la creación de la máquina virtual
Podremos ver las características de la vm.
$newVM1
$newVM1.OSProfile | Select-Object ComputerName,AdminUserName
$newVM1 | Get-AzNetworkInterface |
Select-Object -ExpandProperty IpConfigurations |
Select-Object Name,PrivateIpAddress

Conexión a la maquina virtual creada
Obtenemos la IP de nuestra máquina virtual

5

$publicIp = Get-AzPublicIpAddress -Name wVMprocessIP |
-ResourceGroupName powerShellProcess
$publicIp | Select-Object Name,IpAddress,@{label='FQDN';expression={$_.DnsSettings.Fqdn}}
Ahora desde el panel de azure buscamos nuestra máquina virtual, la seleccionamos
y hacemos click en connect. Se nos descargará un archivo .rdp que podremos
usar para entrar en nuestra máquina virtual con las credenciales que indicamos
anteriormenter.

Figure 3: pws_process

Crear un recurso compartido
Crearemos el recurso desde azure cli.

Crear una cuenta de almacenamiento
Primero deberemos crearnos una cuenta de almacenamiento para poder crear el
recurso compartido en ella.
az group create \
--name crearRecursoCompartido \
--location westus
az storage account create \
--name cuentarcompartido \
--resource-group crearRecursoCompartido \
6

--location westus \
--sku Standard_RAGRS \
--kind StorageV2

Creación del recurso
Crearemos el recurso desde azure cli
current_env_conn_string=$(az storage account show-connection-string \
-n cuentarcompartido -g crearRecursoCompartido \
--query 'connectionString' -o tsv)
if [[ $current_env_conn_string == "" ]]; then
echo "Couldn't retrieve the connection string."
fi
az storage share create --name sharedfile --quota 2048 \
--connection-string ${current_env_conn_string}

Conectarnos al recurso compartido desde Windows
Montamos el recurso en un disco nuevo de modo que podemos acceder a él
creando un mapa de red a la dirección que se nos proporciona al haberlo creado.
Para poder acceder a él debemos de estar fuera de la red de eduroam.

Test-NetConnection -ComputerName \
cuentarcompartido.file.core.windows.net -Port 445
# Save the password so the drive will persist on reboot
Invoke-Expression -Command "cmdkey /add:cuentarcompartido.file.core.windows.net \
/user:Azure\cuentarcompartido /pass:sxSZrZtlEizk38a2+oQvaAUV5/zsrD+5YrCfIAW4xWGdXIoWyY/m8hqM
# Mount the drive
New-PSDrive -Name A -PSProvider FileSystem\
-Root "\\cuentarcompartido.file.core.windows.net\sharedfile"

Figure 4: shared_resource

7

Visual Studio
Necesitamos crear un grupo de recursos con una máquina virtual en él. En la
máquina habilitamos los puertos HTTP y RDP para poder acceder. Posteriormente creamos una virtual Network con una IP pública para poder acceder a
ella desde fuera.
Una vez la máquina virtual ha sido creado y se ha instalado el visual studio 2017
accedemos a ella por rmd y comprobamos la instalación abriendo visual studio.

Figure 5: visual_studio

Escalabilidad horizontal y vertical
La realizaremos desde App Services.

Creación de la aplicación
Para ello descargamos el zip con una aplicación de ejemplo desde azure
https://github.com/Azure-Samples/nodejs-docs-hello-world/archive/master.zip
Probamos la aplicación con
npm start
Posteriormente creamos un .zip con los archivos.
8

zip -r myAppFiles.zip .

Subir la aplicación
Creamos un grupo de recursos y un plan desde el que servir la aplicación.
az group create --name appScaleResources \
--location "South Central US"
az appservice plan create --name appScale \
--resource-group appScaleResources --sku FREE
az webapp create --resource-group appScaleResources \
--plan appScale --name appScaleApp
az webapp config appsettings set --resource-group appScaleResources \
--name appScaleApp --settings WEBSITE_NODE_DEFAULT_VERSION=10.14.1
Accedemos ahora a https://appscaleapp.scm.azurewebsites.net/ZipDeployUI
donde podremos subir el zip que hemos creado previamente. Accesiendo ahora a
http://appscaleapp.azurewebsites.net podremos ver nuestra aplicación.

Escalar la aplicación
Podremos acceder ahora desde el panel de azure a las opciones de eslacalado de
nuestra aplicación las cuales estarán restrigidas en función del plan que hayamos
elegido para ella.
• Scale up realiza el escalado vertical: dar más poder de cómputo a nuestra
aplicación.
• Scale out realiza el escalado horizonatal: crear más instancias que se
banlaceen de forma automática a nuestra aplicación.

Figure 6: appscale

9

Borrar recursos
Podremos borrar los recursos que hemos creado borrando el grupo de recursos.
az group delete --name appScaleResources

Power BI con datos en Azure
Descargamos la aplicación de Power BI desktop para Windows.
Creamos una base de datos SQL desde azure en un nuevo grupo de recursos.
Desde power BI nos connectamos al servidor en modo base de datos SQL azure.
Nos proporcionará una ip que debemos aplicar a la base de datos en azure.
Tomamos los datos que se crean por defecto en la base de datos para crear una
representación gráfica de ellos. En PowerBI seleccionamos algunos de eosos datos
y con ellos cremos una representación gráfica.

Figure 7: powerbi

10



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Page Count                      : 10
Page Mode                       : UseOutlines
Author                          : Juan Casado Ballesteros
Title                           : Instructions to create azure virtual machines from macos
Subject                         : 
Creator                         : LaTeX via pandoc
Producer                        : pdfTeX-1.40.18
Create Date                     : 2019:05:24 20:23:03+02:00
Modify Date                     : 2019:05:24 20:23:03+02:00
Trapped                         : False
PTEX Fullbanner                 : This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) kpathsea version 6.2.3
EXIF Metadata provided by EXIF.tools

Navigation menu