Transferindo máquinas virtuais entre duas assinaturas do Azure

Esse post foi migrado do blog antigo. A publicação original foi no dia 17/04/2014

Algumas imagens desse post foram perdidas na migração :(

E aí! Recentemente, eu tive que transferir máquinas virtuais entre duas assinaturas. A operação parece simples, certo?

Quero mover a máquina 123 da assinatura X para a assinatura Z.

Não é tão simples assim. Na verdade, não existe suporte no portal ou em SDK’s para que isso seja feito. Então temos que improvisar!

O jeito não tão fácil

Toda máquina virtual tem um disco principal. Todos os discos são arquivos .vhd que ficam dentro de uma conta de Armazenamento.

Image for post

Bom, se todas as imagens estão disponíveis para download, então basta você fazer download da imagem (~127gb) e fazer upload na outra assinatura.

NÃO!

Infelizmente, isso é um impeditivo pra gente que mora no brasil e, sinceramente, um desperdício de recursos pra qualquer pessoa no mundo.

O jeito certo :)

O time de Storage do Azure indica uma ferramente chamada AzCopy.

Essa ferramenta possibilita que você transfira os arquivos direto de uma assinatura para outra, sem passar pelo seu computador! Isso melhora o tempo de transferência absurdamente. E, se as duas contas de armazenamento ficarem na mesma região, a transferência é praticamente instântanea (eu transferi 360gb em menos de 2 segundos).

Depois de instalar o AzCopy (C:\Program Files (x86)\Microsoft SDKs\Windows Azure\AzCopy), basta rodar o seguinte comando no terminal:

c:\> AzCopy  
https://<sourceaccount>.blob.core.windows.net/<sourcecontainer>/
https://<destaccount>.blob.core.windows.net/<destcontainer>/
/sourcekey:<sourcekey>
/destkey:<destkey>
/S
<sourceaccount>: nome da conta onde estão os arquivos (origem)
<sourcecontainer>: container da conta onde estão os arquivos (origem)
<destaccount>: nome da conta para onde os arquivos irão (destino)
<destcontainer>: container da conta para onde os arquivos irão (destino)
<sourcekey>: chave de acesso da conta de origem
<destkey>: chave de acesso da conta de destino

Para conseguir a chave de acesso, siga esses passos:

Image for post

Armazenamento > Sua conta de armazenamento > Gerenciar chaves de acesso

Image for post

Você precisa do nome da conta e da chave primária

Pronto! Depois de apertar enter, você vai ver quantos arquivos estão sendo copiados e qual a taxa de transferência. Infelizmente, a ferramenta não mostra a porcentagem já transferida.

Recriando a máquina virtual

Depois de ter os arquivos na conta de armazenamento da assinatura correta, basta criar um disco a partir do vhd e uma máquina a partir de um disco.

Criando um disco

Image for post
Image for post

Nesse passo, você vai selecionar o arquivo .vhd da conta de storage que você transferiu com o AzCopy.

Criando VM com o disco

Image for post

A partir daqui, o procedimento é o mesmo deste post.

E aí? O que achou? Não é trivial, mas é simples e, melhor ainda: pode ser automatizado! \o/

Até a próxima!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store