Home CloudAzure Remote Desktop Services Web Access & Gateway no Microsoft Azure com KEMP LoadMaster

Remote Desktop Services Web Access & Gateway no Microsoft Azure com KEMP LoadMaster

Microsoft Azure LogoRecentemente, a KEMP Technologies lançou seu KEMP LoadMaster para Azure gratuito. Tive oportunidade de escrever em meu blog sobre porquê isso é importante para você.

Desta vez quero escrever sobre um cenário específico, baseado em um laboratório que construí no Azure utilizando o balanceador de Carga da KEMP para Azure, em comparação com o balanceador de carga nativo do Azure.

RDS Remoto no Azure

Este cenário cria Serviços de Remote Desktop (ou Session-Based VDI) no Azure, suportado pela Microsoft desde a mudança no PUR em Julho de 2013

Meu ambiente de laboratório contém os seguintes servidores:

NomePapel
DC01Active Directory Domain Services
SQL01SQL Server 2012RD Connection Broker

RD Web Access

RDS01RD Session HostRD Gateway

RD Connection Broker

RD Web Access

RDS02RD Session HostRD Gateway

* Todos os servidores estão executando o Windows Server 2012 R2

Neste ambiente fiz a implementação RDS Standard Session-Based, na qual adicionei o RD Connection Broker em Alta Disponibilidade , resultando em um banco de dados armazenados centralmente no SQL01, que é utilizado pelo RD Connection Broker em execução no RDS01 no RDS02 em um cenário ativo-ativo.

O papel do RD Connection Broker já vem com um mecanismo de balanceamento de carga interno para balancear a carga dos servidores RD Session Host e permitir a reconexão de sessões desconectadas criando assim Alta Disponibilidade. No entanto, como você pode ver, eu também implementei o RD Web Access e o RD Gateway em múltiplos servidores. Como garantir que temos balanceamento de carga para isso também?

Estes dois papéis, necessitam ser publicados para o exterior, para que as pessoas acessem o ambiente RDS. Eles vão navegar para a página de Web de acesso RD, logon, selecionar o aplicativo remoto de Full Desktop, seguido de conexão ao RD Connection Broker, sendo depois direcionados para um Host de Sessão RD, tudo através da Gateway RD.

Uma vez que acessamos a estes dois papéis pelo lado de fora, precisamos de um mecanismo que nos permita publica-los de modo balanceado.

Balanceamento de Carga no Azure nos dias de hoje

Nos dias de hoje, o Azure tem um modo de balancear a carga de entre as várias máquinas que estão no Azure. Você pode fazê-lo através da configuração de um conjunto com carga balanceada. Funciona muito bem para a maioria dos sites comuns, no entanto, as opções de balanceamento de carga do Azure são uma caixa escura, e você não controla ou configura mais do que um protocolo e uma porta. Primeiro que tudo, você não pode configurar sessões persistentes (Sticky sessions) . Este serviço permite que os usuários não sejam redirecionados para diferentes servidores durante a mesma sessão. E sim, você pode argumentar que o fato de que se alguns serviços precisarem de sessões persistentes é problema desses serviços, no entanto a realidade, é que, em muitos cenários você simplesmente não vai longe com esse argumento. Também não pode fazer configurações de time out ou de peso por servidor de destino .

Existe, porém, um novo recurso que foi adicionado ao Azure muito recentemente chamado Windows Azure Traffic Manager. Este recurso permite ter mais controle sobre o balanceamento de carga. Com o Windows Azure Traffic Manager você pode escolher entre diferentes mecanismos de balanceamento de carga, como Round Robin, Desempenho e Failover. No entanto não é possível criar de rotas de tráfego para os serviços através do Traffic Manager. Em caso de “Round Robin”, o computador do usuário chama o serviço de nuvem diretamente e Windows Azure Traffic Manager resolve a DNS do domínio da empresa para o endereço IP do serviço de nuvem. O método “Proximidade” localiza a origem do tráfego e o encaminha para o serviço de nuvem mais próxima. “Desempenho” é determinada pelo  desempenho da rede. Ambos os cenários são baseados em Time-to-Live DNS (TTL), ou seja os clientes vão continuar a usar um determinado serviço em nuvem até seu cache DNS local expire. Assim não existe uma real persistência de sessão, apenas pode confiar no TTL de DNS ( que você pode ajustar para 24 horas por exemplo).

Com ambos os métodos atualmente disponíveis no Azure (Conjuntos com Carga Balanceada & Windows Azure Traffic Manager) é já possível configurar balanceamento de carga básico, porém os recursos mais avançados, como peso, real persistência de sessão e estatísticas de balanceamento de carga ainda estão desaparecidas. É aqui que o KEMP agrega valor extra.

Para os papeis que estão sendo publicados para o exterior, RD Web Access fica  óptimo sem persistência de sessão,  e você pode configurá-lo com  o balanceamento de carga nativo do Azure .

No entanto, neste caso iremos balancear o também o RD Web Access com o KEMP LoadMaster para Azure fazendo uso dos recursos adicionais que acabamos de descrever.


 

Uma história totalmente diferente: RD Gateway

A história é no entanto diferente para outro papel:  RD Gateway. Porquê?

Antes do Windows Server 2012, o RD Gateway utilizava um único canal. Com o Windows Server 2012 (e seguintes), o RD Gateway usa agora um novo método baseado em dois canais HTTP (um para entrada e outro para saída). Esses dois canais precisam ser roteados através do mesmo RD Gateway. Para isso nós precisamos de um mecanismo de balanceamento de carga que possa fazer persistência de sessão por IP, por cookie, ou ainda baseada em SSL-ID. Isso significa que o Conjunto de Carga Balanceada e o Traffic Manager não totalmente compatíveis com o balanceamento de carga necessário para a RD Gateway 2012 R2. Por isso vamos utilizar o KEMP LoadMaster para este cenário.

Como disse anteriormente, a KEMP Technologies tem uma versão do LoadMaster para Azure gratuita mediante o pedido no site e liberando um arquivo .VHD

Como configurar o LoadMaster para Azure

Vou explicar rapidamente o processo para obter um LoadMaster para Azure utilizando Poweshell. Pode também instalar directamente através do VMDepot  .  Para mais detalhes sobre a instalação via VMDepot pode assistir o Video de Instalação que a KEMP proporciona.

Após baixar o arquivo VHD, precisa instalar o Windows Azure PowerShell, que você pode baixar aqui. Em seguida, entre no portal de Gerenciamento Azure usando as credencias de sua conta Azure  e abra o console como indicado em Como instalar o PowerShell no Azure.

Digite o comando Get-AzurePublishSettingsFile para obter o arquivo de Configurações de Perfil de Publicação específico para sua assinatura Azure.

Agora precisamos para executar os seguintes comandos do PowerShell para carregar o VHD para o Azure e criar uma imagem:

  1. Execute o comando abaixo apontando para as configurações de publicação do arquivo que você baixou anteriormente:

Import-AzurePublishSettingsFile C:\Download\MySettings.publishsettings

  1. Agora execute o comando abaixo apontando para o arquivo .vhd que você baixou anteriormente e seu ambiente específico de armazenamento.

Add-AzureVhd -LocalFilePath C:\Download\LoadMaster-VLM-7.0-3-Azure\LMAzure.vhd Destination http://example.blob.core.windows.net/vhds/lmazure.vhd

  1. Por fim execute o seguinte comando para adicionar uma nova imagem no Azure com base no arquivo .vhd carregado.

Add-AzureVMImage -ImageName lmazure –MediaLocation http://example.blob.core.windows.net/vhds/lmazure.vhd

Já está! Agora temos uma nova imagem disponível em Azure, que podemos usar para construir uma nova máquina virtual no Azure.

Virtual Machine Selection - Kemp
O processo de criação da VM a partir desta imagem também é muito simples e está detalhado no Video de Instalação da KEMP, por isso não vou repetir esse processo aqui. Eu estou supondo que a VM está em execução e acessível, por isso vamos dar uma olhada em como publicar RD Gateway e RD Web Access.

O primeiro passo é a criação de um serviço virtual, onde especificamos o endereço virtual, este é o endereço interno do KEMP LoadMaster. Tanto o RD Web Access como o RD Gateway vão utilizar a porta TCP 443 por isso é a única porta que vamos especificar por agora.

Paramater Selection
Nas Opções Standard configuramos as opções de persistência que precisamos para a RD Gateway selecionando Source IP Address.
Visual-for-Blog
Depois de salvar a configuração do serviço Virtual, é hora de adicionar os servidores que deseja balancear (referidos como Real Servers – servidores reais). Iremos especificar isso da seguinte forma:
visual-for-kemp-loadmaster-blog
Se o KEMP LoadMaster for capaz de acessar o servidor real com sucesso, você deve ver o seguinte status para cada servidor real:
Kemp Loadmaster Post Image
Para tornar o KEMP LoadMaster acessível desde a internet, criamos um ponto de extremidade para a porta 443 na VM do Azure onde está o LoadMaster, com as seguintes propriedades:
kemp-loadmaster-Endpoint-image
O ambiente RDS deve agora estar acessível quando procurarmos o nome DNS da VM do LoadMaster  e adicionamos / rdweb. Deve-nos ser apresentada a página de Acesso RD via Web, e após fazer logon, o ambiente de trabalho publicado.
kemp-blog-post-image-loadmasters
Quando iniciar o Desktop completo o cliente vai acessar o KEMP LoadMaster na porta 443, que resulta em uma conexão com um dos servidores RD Gateway através do mecanismo de balanceamento de carga do KEMP.

Podemos ver as conexões entrando, olhando para as estatísticas do LoadMaster.
kemp-loadmster-blog-image
Temos também uma panorâmica de todas as métricas e estatísticas

loadmaster-network-metrics

Agora que estamos funcionando, algumas considerações finais.

Com o ambiente já instalado e funcionando, temos um ambiente RDS, com RD Gateway e RD Web Access com a carga balanceada pelo KEMP LoadMaster. Há, porém, uma última coisa importante mencionar.

Como você pode saber, o Remote Desktop Protocol 8.0 suporta também UDP, onde antes só TCP era utilizado.

Isso faz parte das melhorias feitas pela Microsoft na experiência global do protocolo RDP. Para utilizar UDP, precisamos obviamente de publicar a porta UDP (porta 3391) no Azure e em nossa configuração de balanceamento de carga. No entanto, o KEMP LoadMaster apenas suporta balanceamento de carga UDP com transparência. De acordo com a KEMP Technologies isso ainda não é possível no Azure devido a limitações da plataforma. Porém, eles me disseram que estão engajados ativamente com as equipes Azure da Microsoft. Então poderemos ver isso no futuro. Em teoria, seria possível publicar UDP diretamente no ponto de extremidade  (servidores RD Gateway ), no entanto, não há nenhuma maneira de configurar o cliente RDP para enviar o tráfego TCP do LoadMaster e tráfego UDP diretamente ao RD Gateway. Por enquanto, o ponto importante a considerar neste cenário específico é a melhoria de protocolo com o uso RDP sobre UDP não pode ainda ser usado com o LoadMaster.

E como último comentário, com a configuração descrita neste blog, temos obviamente, um ponto único de falha, o próprio KEMP LoadMaster, já que consiste em uma única instância. Uma vez que este é uma versão gratuita, a opção de Alta Disponibilidade não está incluída, ao contrário do que acontece nas demais versões pagas do LoadMaster para Azure que a KEMP tem disponíveis. Ao planificar a arquitetura de balanceador de carga para seu ambiente de produção, veja os diferentes modelos de Balanceardor de Carga que a KEMP oferece.

Estou engajando com KEMP Technologies para ver se podemos fazer mais alguns testes especificamente em Alta Disponibilidade e discutir isso em um próximo artigo.

LoadMaster: Fácil de configurar e muitas opções

A minha conclusão, é que o KEMP LoadMaster traz muita flexibilidade, várias opções de configuração, métricas e estatísticas de balanceamento de carga de seu ambiente no Azure. Para mais que a instalação é muito fácil de realizar, especialmente com o vídeo de instalação que a KEMP Technologies disponibiliza. E como o LoadMaster para Azure é uma licença livre, (que inclui ainda suporte on-line grátis!) os únicos custos que você tem são os custos do Azure para a correr a VM do LoadMaster. Por outras palavras, se você está procurando uma solução de balanceamento de carga, que ofereça mais do que o Windows Azure oferece hoje, o KEMP LoadMaster para Azure é uma ótima opção!

You may also like

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More

Privacy & Cookies Policy