miércoles, 27 de agosto de 2014

No puedo entrar en mi VM de Azure (y de cómo solucionarlo)

Estaba yo creando una regla nueva en el firewall de una de mis VMs de azure y se me fue un pelín la mano a la hora de bloquear IPs... y bloqueé TODO el tráfico.

¿Qué hacer?

  • Mi primer pensamiento fue bajarme la máquina, hacer el cambio en local y subirla otra vez... pero son 250GB.
  • Intenté cambiar la regla del firewall por powershell desde la suscripción de azure pero el Get-AzureWinRMUri no funcionaba.
  • Finalmente, tras preguntar a un amigo que le preguntó a un amigo suyo me dijeron que podía editar el registro de un disco de sistema operativo windows desde otro windows. ¡Increible! ¡Esa era la respuesta!


De hecho, una vez que sabía qué hacer, encontré un post muy detallado sobre cómo hacerlo.

Así que borré mi amada máquina virtual, adjunté el VHD de SO a otra máquina y desde el editor de registro borré la regla del firewall que estaba bloqueando todo el tráfico.

Entonces desconecté el VHD, me creé una máquina nueva con él y listo. Ya teníamos la máquina funcionando y accesible.

martes, 29 de julio de 2014

Snapshots en Máquinas Virtuales de Azure más fáciles todavía

He estado pensando en hacer y restaurar snapshots de mis máquinas virtuales de Azure un montón de tiempo pero nunca he tenido tiempo para hacerlo... hasta hoy.

Es muy facil cuando sabes cómo hacerlo pero puede ser un poco lioso cuando tienes que empezar desde cero y como tengo que escribir un post explicándolo y hace mil años que no posteaba aquí he pensado que sería buena idea hacerlo en mi blog.

Empecemos por el principio:



Con un poco de suerte ya lo tendrás funcionando.
Ahora al grano. Chris Clayton ha creado un paquete de scripts que funcionan maravillosamente para administrar screenshots de MV de azure que son los que yo estoy usando ahora. Si eres demasiado flojo como para ir a su página también puedes descargarte los scripts de aquí.

Lo único que necesitas configurar es el fichero Subscriptions.csv. Es un fuchero CSV por lo que en la primera línea tienes los nombres de las columnas y en las siguientes los datos de las suscripciones que quieras configurar. Tiene esta pinta:
SubscriptionName,SubscriptionId,CertificateThumbprint
"IT","XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
Este fichero nos ayudará a ejecutar los comandos más fácilmente ya que contiene toda la información de las suscripciones que vamos a usar. Si, vale, pero... ¿De dónde saco los datos? Mira.

Primero, para obtener toda la información sobr nuestra suscripción podemos correr en PowerShell esto:
Get-AzureSubscription
Y obtendremos una pantalla como esta:
Esos son los parametros que necesitas rellenar. Fácil.

Por último para correr los comandos necesitarás dar datos sobre qué suscripción usar y sobre qué máquina virtual dentro de esa suscripción. Para ello puedes ver la lista de MVs ejecutando Get-AzureVM. Te saldrá una pantalla como esta:


Ahora tenemos todos los parámetros que necesitamos. Podemos lanzar, a modo de prueba, el script para ver la lista de snapshots que tenemos tomados de una máquina:


./GetSnapshotList.ps1 -subscriptionName "NombreDeLaSuscripción" -cloudServiceName "NombreDelServicio" -virtualMachineName "Nombre" -maximumDays 15
Where:
  • -subscriptionName es el SubscriptionName que obtuviste de Get-AzureSubscription y escribiste luego en el fichero Subscriptions.csv
  • -cloudServiceNameeste es la columna ServiceName que puedes ver en Get-AzureVM
  • -virtualMachineName  es la columna Name que puedes ver en Get-AzureVM

Y eso es todo.

Cosas para recordar:
  • La máquina virtual debe de estar apagada antes de tomar el snapshot (hay un parametro para eso en el comando de PowerShell)
  • Los datos en tus discos "Temporary Storage" no se van a salvar ni a restaurar porque son temporales. Sí, yo ya sabía que iba a funcionar de esta forma, pero no pude resistirme a probar.

Para terminar de probarlo todo hice un snapshot de una de mis máquinas de desarrollo de SharePoint, luego hice algunos cambios en ella, después restauré el snapshot y los cambios se deshicieron, exactamente como era de esperar. Y además fué más rápido de lo que yo esperaba.