Windows Azure - PING, ICMP e conectividade na nuvem.

Cloud Computing & Microsoft Azure

capa

Bom o lance é o seguinte: Um determinado cliente estava passando por um problema de latência em uma das aplicações rodando em um ambiente IaaS, era uma simples VM no Windows Azure. Após um checklist alguém teve a brilhante ideia de realizar um PING no servidor e…

0001

Não preciso dizer qual foi a reação do cliente ao ver o resultado… ligações desesperadas, conclusões precipitadas, e-mails urgentes e  lá vamos nós…

Em fim, mesmo o PING não sendo “100% confiável” isso ocorre por um motivo e neste post vamos entender o por que e algumas técnicas para testes de conectividade envolvendo VMs no Windows Azure.

 

O PING

PING ou Packet InterNet Grouper é utilizado para medir quantos milissegundos (ms) um pacote de informações leva para ir até um destino e voltar. De forma simples, quanto menor o valor que ele retornar, mais rápida é sua conexão.

Sendo assim o PING - (procurador de pacotes na internet, em tradução livre) e trata-se de uma ferramenta fundamental para verificar se um computador está funcionando e se as conexões de rede (TCP/IP) encontram-se intactas.

Esta ferramenta verifica a conectividade de nível IP com outro computador TCP/IP através do envio de mensagens de solicitação de eco de protocolo ICMP (echo 8). A confirmação das mensagens de resposta é exibida juntamente com o tempo de ida e volta.

 

O problema

O erro acima ocorre devido uma “limitação”, na verdade, se trata de um dos requisitos de segurança do Windows Azure, mas este é outro ponto. 

Você não vai conseguir fazer um PING fora da Nuvem (Cloud Services), a menos que você esteja utilizando o Windows Azure Connect (que vão vamos abordar aqui).

Isso ocorre devido a limitação no Load Balance do Azure não permite o tráfego de protocolos diferentes ou não baseados em TCP. PING em endereços externos a VMs no Azure não funcionam pois não há suporte a entrada ou saída ICMP (Internet Control Message Protocol), para Internet pois o tráfego é via Load Balance.

 

A solução

Você conseguiria fazer isso sem problemas entre uma VM do Azure e o ambiente On-Premise utilizando o Windows Azure Connet (point-to-point IPSec VPN tunnel) ou Virtual Network Gateway (site-to-site IPSec VPN tunnel). Este não é nosso cenário então vamos a dica:

Como uma alternativa para o ping com ICMP, você pode verificar a conectividade, tentando chegar a uma porta TCP específica com ferramentas como TCPing, PortQuery ou NMap. Você consegue um ponto de entrada para uma VM no Azure, desde que você tenha aberto um EndPoint para a porta que você está tentando alcançar. Já com o Azure Connect e o Virtual Network você não precisa de um EndPoint específico, porque você vai estar se comunicando através de um túnel VPN.

Entre as opções disponíveis minha dica é utilizar o Psping. Com ele é possível testar a conectividade em uma porta específica. Um exemplo, caso a porta no EndPoint do RDP de acesso seja a 50799, você poderia realizar o teste com a seguinte linha de comando: C:>psping meriat.cloudapp.net:50799

Estou assumindo que você só precisa trocar para o seu DNS NAME e portas. Se o seu caso for o mesmo do meu, e você estiver testando um site hospedado na sua VM, basta colocar seu DNS padrão seguido da porta 80. C:>psping seusite.com.br:80

Sendo assim, vamos tentar um PING na aplicação xxx.cloudapp.net:

000000001

Agora utilizando o Psping e apontando para a porta 80 como o sugerido acima:

000000002

 

Você ainda pode utilizar comandos para a execução e monitoramento em intervalos de tempo fora outras funcionalidades especiais que você pode ver no site oficial.

Até esta data o Psping estava na versão 2.01 e pode ser baixado entre as utilidades no site do Windows Sysinternals CLICANDO AQUI!!!

 

Até mais e bom estudo a todos!


Author's profile picture

Vitor is a computer scientist who is passionate about creating software that will positively change the world we live in.

MVP Azure - Cloud Architect - Data science enthusiast


3 minutes to read