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.

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:

Armazenamento > Sua conta de armazenamento > Gerenciar chaves de acesso

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

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

Criando VM com o disco

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!

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.