Movendo Network, VM e Storage de ASM para ARM no Microsoft Azure

Fala Pessoal!!!
No ultimo artigo demostrei a vocês como migrar um VHD do ambiente ASM para ARM, hoje vou demostrar como mover sua VM, Network e Storage para o ambiente ARM mundando a arquitetura de para Azure Resource Manager. 
A migração é feita em duas etapas, primeiro movemos a rede e a vm depois o storage. Para mover precisa desligar a vm para não ter nenhum problema durante o processo.

Efetuando Login no Azure

Vamos logar nos dois ambientes ARM e ASM, vamos começar pelo ARM execute o seguinte comando.

Login-AzureRmAccount



Em seguida vamos verificar a assinatura que iremos utilizar, execute o seguinte comando.

Get-AzureRmSubscription



Agora vamos selecionar a assinatura que iremos executar a migração, execute o seguinte comando.

Select-AzureRmSubscription -SubscriptionName "Lab Jatoba"


Pronto estamos logados, agora vamos adicionar a mesma conta no ambiente "Classico", execute o seguinte comando.

Add-AzureAccount



Em seguida vamos selecionar a mesma assinatura, execute o seguinte comando.

Select-AzureSubscription "Lab Jatoba"


Pronto estamos com acesso na assinatura que iremos migrar.

Registro da Infraestrutura

Para que a migração funcione corretamente temos que registrar o " Microsoft.ClassicInfrastructureMigrate", se não estiver registrado ele vai dar erro “BadRequest : Subscription is not registered for migration”. Então esse processo é muito importante para que a migração funcione.
Execute o seguinte comando para registrar.

Register-AzureRmResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate


Agora vamos verificar se o realmente está registrado, ele tem que retornar "Registered"

Get-AzureRmResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate


Pronto minha infraestrutura classic está registrada para a migração.

Migração VM e Rede

Agora vamos preparar a máquina que será movida, nesse processo vamos atribuir uma variável.

$vnetName = "vnet-az-02"



Agora iremos preparar a máquina virtual que será movida.

Move-AzureVirtualNetwork -Prepare -VirtualNetworkName $vnetName


Agora ela está pronta para ser movida.



Agora para validar a migração do ambiente iremos executar o comando "Commit" caso queria abordar essa migração utilize o comando "Abort", lembrando que após o commit não é mais possível abortar.

Move-AzureVirtualNetwork -Commit -VirtualNetworkName $vnetName


Aguarde o retorno da operação "Sussceeded"



Pronto a rede virtual e a máquina foi movida com sucesso.

Migração Storage

O move do storage segue o mesmo processo da máquina virtual e rede. Vamos atribuir a variável.

$storageAccountName = "strlabjatoba"



Agora vamos preparar o storage para mover.

Move-AzureStorageAccount -Prepare -StorageAccountName $storageAccountName


Agora ela está pronta para ser movida.


Após a validação vamos executar o commit para ela mova seu storage.

Move-AzureStorageAccount -Commit -StorageAccountName $storageAccountName


Pronto seu ambiente foi movido com sucesso para ARM.



Caso queria abortar antes de executar o commit, execute o seguinte comando.

Abortar e fazer o roll back da preparação.

Move-AzureVirtualNetwork -Abort -VirtualNetworkName $vnetName

Move-AzureStorageAccount -Abort -StorageAccountName $storageAccountName

Obrigado galera e até o próximo post.

Migrando VHD Existente de ASM para ARM no Microsoft Azure
Olá pessoal!!!
Hoje vou demostrar a vocês como migrar sua máquina virtual de ASM (Azure Service Management) para o ambiente em ARM (Azure Resource Manager) utilizando apenas a imagem do VHD. Nessa nova estrutura o serviço de IAAS ficou mais completo e maleável na criação, você pode criar uma máquina virtual com duas placas de rede e mover essa mesma placa de rede para outra máquina, sem ter que criar tudo novamente. Essa liberdade de movimentação de recurso entre as máquinas virtuais tem facilitado muito o serviço de administração do Azure.
O modelo de ASM era muito fechado ao contrario do modelo em ARM, como podemos ver na figura abaixo:



Para iniciar o processo de migração vamos precisar de uma ferramenta chamada "Microsoft Azure Storage Explorer", para fazer o download clique aqui. Essa ferramenta você loga com seu usuário adminstrador de seu ambiente e por lá você vai ver todos os storages. Ela vai servir para fazer a movimentação dos VHDs.

Após a instalação do Microsoft Azure Storage Explorer, vamos escolher a máquina virtual que iremos migrar.
Vou escolher a máquina DC-07.


Executando Sysprep e Captura de Imagem

Em seguida vamos executar o "Sysprep" logue no servidor e abra o "CMD" como administrador execute o seguinte comando.

%windir%\system32\sysprep


Agora execute o "Sysprep"


Após executar o sysprep no "System Cleanup Action", selecione o "Enter System Out-of-Box Experience (OOBE)" e marque o "Generalize" e o "ShutDown".

Aguarde o termino do sysprep.

Após a finalização do sysprep a máquina virtual vai se encontrar desligada, agora vamos capturar a imagem. Clique em "Capturar" 


Agora vamos dar um nome para essa imagem que foi criada e clique em ok, aguarde o processo de captura da máquina.


Depois da captura vamos verificar se a imagem foi realmente capturada, vá em imagens.


Pronto, a imagem foi criada.

Copiando VHD entre Storage

Agora vamos utilizar o "Microsoft Azure Storage Explorer" para migrar o VHD entre os Storages no ambiente em ASM para ARM, após logar na ferramenta iremos ir até o Storage que está a imagem que geramos.
Agora vamos Copiar o VHD do Storage em ASM.


Em seguida vamos Colar o VHD no Storage em ARM, o tempo de copia vai depender do tamanho de cada VHD.


aguarde o tempo da copia. 


Pronto o VHD foi copiado com sucesso entre os Storages.


Criando Placa de Rede

Agora vamos criar uma placa de rede para adicionar na máquina virtual, como estamos migrando o VHD vamos adicionar essa máquina dentro de uma rede valida. 
Agora vamos escolher o "Resource Group" onde vamos configurar a placa de rede, clique em "Add"


Agora vamos escolher a "Interface Network" .


Agora clique em "Create".

Agora vamos criar a placa de rede com os seguintes parâmetros:
  • 1 - Vamos adicionar um nome para a placa de rede, para ficar com um padrão correto coloque o nome da placa de rede com o mesmo no do servidor.
  • 2 - Selecione sua Virtual Network.
  • 3 - Selecione sua Subnet, caso tenha outras Subnet FrontEnd, BackEnd, DMZ.
  • 4 - Caso queria fixar o IP da sua rede privada pode fixar, por default ele fica como dinâmico.
  • 5 - Caso tenha algum grupo de segurança já configura pode selecionar.
  • 6 - Selecione a assinatura que está utilizando no seu ambiente.
  • 7 - Selecione o Resource Group que a máquina virtual vai ser implementada.
  • 8 - Após selecionar todas as opções, clique em create.


Assim que finalizar a criação da placa de rede, vamos na "Properties" da placa de rede e iremos copiar o "Resource ID" para utilizar ele no script de implantação. 


Pronto já estamos com a placa de rede criada.

Criando Template Deployment 

Agora vamos configurar o script para fazer o deploy da máquina virtual, dentro do "Resource Group"  procure o "Template Deployment" 


Em seguida clique em Create.


Agora vamos editar o template e "Edit Template".


Agora vamos adicionar o script abaixo, para baixar o script clique aqui.


Observação: Altere os parâmetros em vermelho, em seguida clique em "Save"

{
  "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/VM_IP.json", 
  "contentVersion": "1.0.0.0",
  "parameters": {
    "vmName": {
      "type": "string"
    },
    "vmSize": {
      "type": "string",
      "defaultValue": "Standard_A3" #Selecione qual a VM e o tamanho.
    },
    "adminUserName": {
      "type": "string"
    },
    "adminPassword": {
      "type": "securestring"
    },
    "networkInterfaceId": {
      "type": "string"
    }
  },
  "resources": [
    {
      "apiVersion": "2016-03-30",
      "properties": {
        "hardwareProfile": {
          "vmSize": "[parameters('vmSize')]"
        },
        "storageProfile": {
          "osDisk": {
            "osType": "Windows", #Selecione se Windows ou Linux.
            "name": "DC-07-OS", #Coloque o nome da VM.
            "createOption": "FromImage",
            "image": {
              "uri": "https://strjatoba.blob.core.windows.net/vhds/DC-07-Migracao-os-2016-10-02-1A89A570.vhd" #Caminho do Storage com a Imagem que foi criada.
            },
            "vhd": {
              "uri": "https://strjatoba.blob.core.windows.net/vhds/DC-07-OS.vhd" #Caminho do Storage com o nome do disco, coloque o mesmo nome da VM.
            },
            "caching": "ReadWrite"
          } 
        },
        "osProfile": {
          "computerName": "[parameters('vmName')]",
          "adminUsername": "[parameters('adminUsername')]",
          "adminPassword": "[parameters('adminPassword')]"
        },
        "networkProfile": {"networkInterfaces":[{"id":"[parameters('networkInterfaceId')]"}]},
        "diagnosticsProfile": {
          "bootDiagnostics": {
            "enabled": true,
            "storageUri": "https://strjatoba.blob.core.windows.net" #Caminho do Storage.
          }
        },
        "provisioningState": 0
      },
      "name": "[parameters('vmName')]",
      "type": "Microsoft.Compute/virtualMachines",
      "location": "eastus2"
    }
  ]
}

Agora vamos editar os parâmetros.


Agora vamos adicionar as seguintes informações, nome da máquina virtual, o tamanho da máquina virtual, o usuário e senha do administrador da máquina e vamos adicionar o "Resource ID" da placa de rede que copiamos acima.

Clique em "Ok"


Agora selecione a assinatura, resource group e por ultimo aceite o termo do template deployment. 
Clique em "Create"


Agora é só aguardar o deploy da máquina virtual.


Pronto a máquina virtual foi criada com sucesso.


Obrigado pessoal até o próximo post.


Criando Rede Virtual via PowerShell em ARM no Microsoft Azure
Fala Pessoal!!!
Hoje vou demostrar a vocês como criar um Rede Virtual no Microsoft Azure via PowerShell, nesse artigo iremos focar na organização da criação de rede. Vamos criar uma rede com o nome BackEnd, FrontEnd, DC(Domain Controller) e Subnet de uma maneira fácil e organizada.
Antes de iniciar as configurações vamos organizar como iremos criar a rede, primeiro iremos criar um grupo de recurso com o nome "Network" em seguida criaremos a rede dentro desse grupo de recurso. Assim seu ambiente dentro do Azure cresce organizado, quando for criar uma rede nova pode criar dentro desse mesmo grupo de recurso.

Criação da Rede 

Abra o PowerShell logue com sua conta em seguida  selecione a assinatura que irá utilizar, execute o seguinte comando.

Login-AzureRmAccount

Select-AzureRmSubscription -SubscriptionName "Visual Studio Enterprise"

Agora vamos criar um grupo de recurso somente para armazenar as novas redes. Vamos dar um nome e escolha a localidade desejada. Execute o seguinte comando.

New-AzureRmResourceGroup -Name Network -Location "East US 2"


Agora vamos atribuir as seguintes variáveis para cada parâmetro de rede.
  • FrontEnd - Esta camada é responsável pela interface que o usuário irá encontrar ao navegar pelo seu site, incluindo: design da página, formulários de contato, códigos adicionais, todos os inputs no site
  • BackEnd - é o nível mais baixo de programação, Banco de Dados e Armazenamento de dados é o que não falta por aqui. MySQL, Oracle, MS-SQL, SAP e outros sistemas fazem parte do Back-end, que é responsável por todo processamento final dos dados recebidos do Front-end (inputs, formulários, requisições, etc).
  • DC - Espaço de rede para criar os servidores de Active Directory dentro do Azure.
  • Gateway Subnet -  Endereços de gateway, normalmente chamados a default gateway, são arbitrariamente atribuídos. Nas minhas redes que são quer numerada na parte inferior (1) ou a parte superior (-1) da faixa.
$SubnetList = @();
$SubnetList += New-AzureRmVirtualNetworkSubnetConfig -Name FrontEnd -AddressPrefix 172.16.100.0/26;
$SubnetList += New-AzureRmVirtualNetworkSubnetConfig -Name BackEnd -AddressPrefix 172.16.100.64/26;
$SubnetList += New-AzureRmVirtualNetworkSubnetConfig -Name DC -AddressPrefix 172.16.100.128/28;
$SubnetList += New-AzureRmVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -AddressPrefix 172.16.100.144/28;


Em seguida vamos dar o nome para a rede e localidade.

$VirtualNetwork = @{
    ResourceGroupName = 'Network';
    Name = 'VNET-AZ';
    Location = 'East US 2';
    AddressPrefix = '172.16.100.0/16';
    Subnet = $SubnetList;
    }

Agora que adicionamos todas as variáveis, execute o seguinte comando para criar a rede virtual.

New-AzureRmVirtualNetwork @VirtualNetwork


Caso você queria verificar a rede execute o seguinte comando.

Get-AzureRMVirtualNetwork

Agora vamos verificar no Portal Novo do Azure as configurações executadas acima.


Pronto sua rede virtual foi configurada com sucesso, mais uma maneira de criar utilizando o powershell.

Obrigado pessoal e até a próxima.