Todo Especialista de mensageria tem um grande problema na hora de definir alta disponibilidade para o serviço de email (não só Exchange :) ) e o problema está exatamente em como desenhar um cenário de Alta Disponibilidade para o envio e recebimento de mensagens externas (send and receive).

A principal dúvida não está em como configurar, mas sim em o que usar. Para ajudar na resolução desta dúvida vamos abordar neste artigo as diferenças e as possibilidades HA que podemos fazer usando registro MX no DNS Server.

Vale lembrar as possíveis configurações de HA no DNS externo para registros MXs, elas são:

MXs com prioridades iguais:

Neste cenário temos redundância e balanceamento de carga, pois assim que o servidor de email do remetente valida a existência dos registros MXs no domínio destinatário, ele faz o envio da mensagem para o MX disponível no momento, caso os 2 (ou mais) MXs estejam ativos o envio será aleatório. Exemplo:

microsoft.com. 7158    IN      MX 5 f.mx.mail.microsoft.com.
microsoft.com. 7158    IN      MX 5 g.mx.mail.microsoft.com.
Microsoft.com. 7158    IN      MX 5 h.mx.mail.microsoft.com.

f.mx.mail.microsoft.com.    300     IN      A    200.209.7.1
g.mx.mail.microsoft.com.    300     IN      A    187.16.10.1
h.mx.mail.microsoft.com.    300     IN      A    203.19.19.1
Uma forma também conhecida de utilizar redundância de registros MXs é criando 1 MXs para vários destinatários, dessa forma temos balanceamento de carga mas não redundância, já que o servidor destinatário não insiste em realizar uma conexão com o range de hosts disponíveis para o MXs. Com isso a melhor forma de usar essa opção é utilizar mais de 1 MXs que respondem para vários Host-A

microsoft.com.   7158  IN   MX   5 f.mx.mail.microsoft.com.
microsoft.com.   7158  IN   MX   5 g.mx.mail.microsoft.com.
microsoft.com.   7158  IN   MX   5 h.mx.mail.microsoft.com.

f.mx.mail.microsoft.com.    300     IN      A    200.209.7.1
f.mx.mail.microsoft.com.    300     IN      A    200.209.7.2
f.mx.mail.microsoft.com.    300     IN      A    200.209.7.3

g.mx.mail.microsoft.com.    300     IN      A    187.16.10.1
g.mx.mail.microsoft.com.    300     IN      A    187.16.10.2
g.mx.mail.microsoft.com.    300     IN      A    187.16.10.3

h.mx.mail.microsoft.com.    300     IN      A    203.19.19.1
h.mx.mail.microsoft.com.    300     IN      A    203.19.19.2
h.mx.mail.microsoft.com.    300     IN      A    203.19.19.3


MXs com prioridades diferentes:

Neste cenário disponibilizamos redundância para o domínio, garantindo assim que caso o MX com prioridade menor esteja indisponível, o seu sucessor seja utilizado, exemplo:

microsoft.com. 7158    IN      MX    1 f.mx.mail.microsoft.com.
microsoft.com. 7158    IN      MX   3 g.mx.mail.microsoft.com.
microsoft.com. 7158    IN      MX   5 h.mx.mail.microsoft.com.

No exemplo acima, o primeiro registro a ser utilizado é o “f.mx.mail.microsoft.com.”  que possui a prioridade 1, caso ele esteja
com o status down, o próximo passo será o MX com prioridade 3 (g.mx.mail.microsoft.com) e assim sucessivamente.

Vale lembrar que é uma boa pratica utilizar links diferentes pra cada registro MXs criado, com isso garantimos que a redundância de links também, como mostrado na tabela acima.

Tendo todas as informações acima em mente, poderíamos montar um cenário de HA baseado no Edge Server e Hub Transport parecido com a imagem abaixo:

image2

 

Com isso, garantimos o envio e recebimento dos emails no nosso ambiente com garantia de entrega ;) . Espero ter sido o mais claro possível neste post.

E assim abordamos uma visão geral de como garantir um serviço de Alta Disponibilidade de mensagem com registros MXs.

Sobre Jonathan Santos

Jonathan Santos Santos escreveu 1 artigos no blog.

Share →

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>