Microsoft Azure Advisor
Fala Pessoal!!!
Hoje vou falar sobre o "Azure Advisor" esse novo recurso no Microsoft Azure, mas qual a finalidade do Advisor? 
Azure Advisor analisa a telemetria e a configuração do uso dos recursos para detectar problemas, riscos e potencial. Em seguida, sugere as melhores práticas que o Azure pode recomendar para permitir a redução de custo e melhorar a segurança, desempenho e confiabilidade de seus aplicativos.
O Azure Advisor faz uma varredura em seu ambiente dentro do Microsoft Azure e verifica quatro pontos importantes:

  • High Availability: Azure Advisor pode inspecionar sua configuração de recurso e fornecer recomendações que melhoram a disponibilidade do seu aplicativo. Por exemplo, Azure Advisor recomendará que você mova sua única instância VMs em um conjunto de disponibilidade.
  • Security: Ele alerta e recomenda o que está vulnerável em seu ambiente para você resolver o problema de segurança e manter seu ambiente seguro.
  • Performace: Cada serviço Azure normalmente tem seu próprio conjunto de recomendações de otimização de desempenho. Por exemplo, o Redis Cache Advisor fornece recomendações de desempenho para clusters Redis. Você pode aproveitar o Azure Advisor para a exibição de todos os seus Redis, DB, SQL e Mysql e e recomendar o melhor cenário para sua webapps.
  • Cost:O Azure Advisor é muito importante para redução de custo, você pode ter uma máquina que está consumindo 5%  e na maioria do tempo ela fica ociosa, ele vai avisar que você pode desligar a máquina ou redimensionar o tamanho. Ele leva 14 dias para fazer um entendimento de cada máquina virtual.
Como utilizar o Azure Advisor?

Vá em procurar e digite "Azure Advisor" e clique nele.


Agora vamos verificar as seguintes informações:
  • Subscription: Selecione a assinatura que irá verificar fazer uma varredura.
  • Resource Group: Selecione os Resource Group que vai verificar, ele é personalizado então pode escolher resource groups específicos.
  • Active or Snnozed: Verificar serviços ativos e ociosos. 
Em seguida clique em "Get Recommendation" para verificar seu ambiente.


No meu laboratório ele identificou um problema "High" de segurança. 

Como ele está identificando que o problema é critico, clique em "High" para verificar.


O Azure Advisor está me alertando sobre alguns recursos com problemas no meu ambiente e me recomendando a melhores praticas para sanar esses problemas. 



Obrigado pessoal e até o próximo post.

Auto Shutdown no Micosoft Azure

Fala Pessoal!!!

Hoje vou demostrar a vocês como configurar o Auto Shutdown no Microsoft Azure. Nossa agora sim eu vou poder substituir meu Automation?
Não, esse recurso foi disponibilizado no inicio apenas para VMs de "VS Dev e Test Labs" com o intuito de que o usuário não ficasse com a VM ligada 24/7 e pagando o valor cheio sem utilizar. Com esse recurso ele deixa ela programada para desligar todos os dias no mesmo horário, caso ligue ela de manhã. Mas porque esse recurso não substitui meu Automation? Pelo seguinte, o Automation é para ambientes em produção, onde você vai desligar e ligar sua VM conforme sua necessidade. Eu posso configurar minha VM para desligar todos os dias as 18:30 e ligar as 08:00 da manhã todos os dias de segunda a sexta.
No Auto Shutdown você consegue configurar uma "Webhook" para notificar o desligamento da VM.
Mas o que significa "Webhook"?
A WebHook é um conceito chamado de "Retorno de chamada web" ou "HTTP Push API", é um aplicativo para fornecer outras aplicações com informações em tempo real. A webhook fornece dados para outras aplicações, significando que você obter dados imediatamente. Ao contrário de APIs típicos onde você precisa para pesquisar para os dados com muita freqüência, a fim de obtê-lo em tempo real.

Como Configurar o Auto Shutdown

Para configurar o Auto Shutdown acesse sua máquina virtual, na barra overview clique em "Auto Shutdown".


Em Seguida clique em "On"


Agora vamos adicionar o horário que a VM vai ser desligada, o Time Zone da sua região e caso tenha alguma Webhook clique em "yes" para adiciona-la em seguida clique em "Save".


Pronto a minha máquina virtual foi desligada através do Auto Shutdown.


Obrigado galera e até o próximo post.


Azure Virtual Network Peering via Powershell no Microsoft Azure

Fala Pessoal!!! 

O que é Azure Virtual Network Peering? 


O Virtual Network Peering significa que a organização pode ter várias VNETs na mesma região e conectar a elas sem utilizar o VPN Site-to-Site. O "Peering" permite conectar em outras VNETs usando o Backbone do Azure sem utilizar uma VPN Site-to-Site. Com ele você consegue expor a largura de banda total entre as VMs.


Detalhes VNet Peering 

Permite a conexão direta de VNet sem necessidade de qualquer gateways.
  • Permite o tráfego entre Vnets para outra VNet;
  • Fornece alta largura de banda baixa latência para comunicação de rede;
  • Redes virtuais devem ser na mesma região;
  • Eles podem ser nas mesmas ou diferentes assinaturas;
  • Eles não devem usar a sobreposição de intervalos IP;
  • Peering não é transitiva. Se rede virtual 1 é conectado à rede virtual de rede virtual 2 e a 2 está ligado à rede virtual 3, então rede virtual 1 não tem nenhuma conectividade de rede virtual 3 e um ponto direto entre a rede virtual 1 e rede virtual 3 é necessário;

Referencia:
 https://azure.microsoft.com/en-us/documentation/articles/virtual-network-peering-overview/

Configurando Peering via Powershell

Vamos conectar no Azure via powershell, execute o seguinte comando.

Login-AzureRmAccount


Em seguida verifique qual a assinatura que vai utilizar com seguinte comando.

Get-AzureRmSubscription


Agora vamos selecionar a assinatura que vamos fazer a configuração.

Select-AzureRmSubscription -SubscriptionName "Lab Jatoba"


Com a assinatura selecionada, vamos registrar o "Microsoft.Network". Execute o seguinte comando.

Register-AzureRmProviderFeature -FeatureName AllowVnetPeering -ProviderNamespace Microsoft.Network


Vamos confirmar se a "Microsoft.Network" foi registrada, execute o comando.

Register-AzureRmResourceProvider -ProviderNamespace Microsoft.Network


Pronto, agora vamos atribuir duas variáveis e dentro delas iremos validar as duas VNets que iremos configurar, os nomes das VNets que irei utilizar será "VNET-AZ e VNET-AZ-01".

$vnet1 = Get-AzureRmVirtualNetwork -ResourceGroupName Ambiente_Teste -Name VNET-AZ
$vnet2 = Get-AzureRmVirtualNetwork -ResourceGroupName Ambiente_Teste -Name VNET-AZ-01


Após a validação vamos adicionar um nome para o Network Peering, em iremos configurar da seguinte maneira  (Vnet1 --> Vnet2, Vnet2 --> Vnet1).
Execute o seguinte comando para adicionar Vnet1 para Vnet2.

Add-AzureRmVirtualNetworkPeering -name VNet1ToVNet2 -VirtualNetwork $vnet1 -RemoteVirtualNetworkId $vnet2.id


Agora adicionar Vnet2 para Vnet1 com o seguinte comando.

Add-AzureRmVirtualNetworkPeering -name VNet2ToVNet1 -VirtualNetwork $vnet2 -RemoteVirtualNetworkId $vnet1.id 


Pronto o Network Peering está configurado, agora só habilitar as os tipos de acessos que precisa de uma VNet para outra.


Obrigado galera até o próximo post.

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.