In questo parte del libro vengono trattate le Windows Azure Virtual Machines. Questo estratto contiene una parte dellle informazioni necessarie per migrare una macchina virtuale on-premises su Windows Azure.

Fino ad ora abbiamo creato tutto partendo direttamente dal Cloud. Potremmo però avere la necessità di portare una nostra macchina virtuale esistente on-premises sul Cloud. Supponiamo di avere su un nostro server Windows Server 2008 R2 con Hyper-V una macchina virtuale con Windows Server 2012 installato. Per effettuare la migrazione utilizzeremo i seguenti tool da riga di comando:

  • makecert.exe, contenuto all’interno dell’SDK di Windows e scaricabile a questo indirizzo http://www.microsoft.com/en-us/download/details.aspx?id=8279
  • csupload.exe, contenuto all’interno dell’SDK di Windows Azure
  • Windows Azure Powershell, che aggiunge alla Powershell i cmdlet specifici per Windows Azure

Prima cosa da fare è generare un certificato self-signed da caricare nel portale Windows Azure. Per farlo useremo il seguente comando:

makecert -sky exchange -r -n "CN=francedbooks" -pe -a sha1 -len 2048 -ss My "francedbooks.cer".

Il parametro –sky specificherà che si tratta di una chiave di scambio, -r che si tratta di un self-signed, -n specifica il nome, -pe specifica che la chiave privata è esportabile, -a specifica l’algoritmo di firma tra md5 e sha1, -len specifica la lunghezza della chiave, -ss specifica il nome del contenitore che memorizzerà il certificato.

clip_image002

Ora possiamo collegarci a https://manage.windowsazure.com alla voce SETTINGS/MANAGEMENT CERTIFICATES, selezionare l’upload del certificato e assegnarlo alla sottoscrizione che vogliamo utilizzare per la pubblicazione del nostro VHD.

clip_image004

Ora non mi resta che recuperare il thumbprint necessario per fare poi l’upload del file sullo storage di Windows Azure. Il thumbprint è recuperabile dalla pagina che ci permette di effettuare il caricamento del file.

Per effettuare l’upload del blob file su Windows Azure abbiamo la necessità di settare prima una connessione alla nostra sottoscrizione e poi fare l’upload del file. Per settare la connessione abbiamo anche necessità di copiare l’id della stessa, anche questo recuperabile dalla stessa pagina del portale.

csupload Set-Connection “SubscriptionID=[id];CertificateThumbprint=[id];ServiceManagementEndpoint=https://management.core.windows.net”

clip_image006

Il prossimo comando, per caricare il VHD sullo storage di Windows Azure, sfrutta l’opzione Add-Disk. È importante notare che ho specificato, tramite l’opzione –OS, che il VHD contiene un sistema operativo Windows.

csupload Add-Disk –Destination http://[name].blob.core.windows.net/vhds/ws2012.vhd -Label ws2012 -LiteralPath “V:\Virtual Hard Disks\WS2012.vhd” –Name ws2012.vhd –OS Windows

clip_image008

Una volta terminato l’upload potrò utilizzare il wizard di creazione di una macchina virtuale e, posizionandomi nella sezione MY DISKS, scegliere il VHD appena caricato:

clip_image010

Proseguo settando le risorse da assegnare alla macchina virtuale ed indicando se la macchina virtuale sarà standalone o collegata d un'altra VM:

clip_image012

clip_image014

clip_image016

Terminata l’operazione di creazione posso connettermi via Remote Desktop per gestire la mia macchina, ora presente su Windows Azure. Qualche accorgimento importante: prima di caricare l’immagine è importante che il VHD sia settato in fixed size (sono consentiti dischi per il sistema operativo fino a un massimo di 127GB), che la macchina possa ricevere l’indirizzo dal datacenter su Windows Azure tramite il DHCP e che il Remote Desktop sia abilitato per consentire l’amministrazione della macchina.

clip_image018

Francesco