Comunicação de saída do Azure

2

Estou tendo problemas de comunicação de saída em máquinas Ubuntu no serviço do Azure. Eu configurei o servidor usando o Ubuntu 14.04 (também tentei 12.04) e não tenho nenhum problema de SSHing na máquina ou navegando para a máquina. O problema que tenho é quando o aplicativo que eu configuro tenta se conectar ao conjunto de réplicas do MongoDB, não é possível, jogando ambos:

pymongo.errors.AutoReconnect: [Errno 110] Connection timed out

e:

bson.errors.InvalidDocument: BSON document too large (7754 bytes)
    - the connected server supports BSON document sizes up to 0 bytes

Executando mtr --report no domínio para o conjunto de réplicas e também para o google ou microsoft ou stackoverflow ou serverfault Sempre recebo o seguinte:

Start: Fri Jul 25 09:35:38 2014
HOST: hostname                  Loss%   Snt   Last   Avg  Best  Wrst StDev

Se eu tentar fazer ping de domínios, recebo o seguinte:

PING serverfault.com (198.252.206.16) 56(84) bytes of data.
^C
--- serverfault.com ping statistics ---
106 packets transmitted, 0 received, 100% packet loss, time 105135ms

Eu não sei onde ir com isso. Qualquer ajuda é muito apreciada. É uma configuração de VM padrão, porta ssh e https aberta, sem rede virtual. Se você precisar de mais alguma coisa, me avise e eu tentarei fornecê-los.

    
por Nalum 25.07.2014 / 12:00

1 resposta

2

O Azure não oferece suporte a nada, exceto TCP e UDP fora de uma rede virtual. Por esse motivo, você não poderá usar a saída ping (ICMP). O traceroute também não funcionará (mesmo que os probes de saída usem TCP SYNs ou UDP), pois depende das mensagens Expired ICMP TTL para retornar ao seu host.

Então, o ping e o mtr que você tentou realmente não significam nada. O que você pode tentar, em vez disso, é algo como "nc -vz www.serverfault.com 80", que iria verificar se você pode se conectar em uma porta web. Você deve esperar ver algo como:

$ nc -vz www.serverfault.com 80
Connection to www.serverfault.com 80 port [tcp/www] succeeded!

Quanto às comunicações entre seu aplicativo e seu banco de dados, você incluiu muito poucas informações aqui para solucionar problemas corretamente.

Para alguns indicadores gerais: Se você tivesse servidores de aplicativo e banco de dados nas mesmas redes virtuais do Azure, seria capaz de conversar com seu banco de dados usando os endereços IP internos em sua rede virtual. Como eles não estão na mesma rede virtual, você precisa configurar um ponto de extremidade no servidor de banco de dados e verificar suas Listas de Controle de Acesso (tendo em mente os requisitos de segurança). Essa pergunta pode ser útil: link .

    
por 25.07.2014 / 12:27