Inicie duas instâncias do Servidor de Acesso do OpenVPN, atribua um IP Elástico a cada uma delas. Configure-os para autenticação LDAP, para que você não precise criar todas as contas duas vezes e mantê-las sincronizadas nas duas instâncias.
Abra a interface de administração em ip:443/admin
e clique em LDAP - > Definir LDAP:
Você pode implantar seu próprio serviço LDAP ou usar:
Agora, você precisa decidir como deseja que os clientes se conectem a essas instâncias.
A maneira mais fácil é adicionar à configuração do cliente ambos os OpenVPN Access Servers:
remote-random
remote hostname-of-instance1
remote hostname-of-instance2
Como alternativa, você pode criar um registro de round robin no AWS Route53 com os dois endereços IP e fazer com que o Route53 monitore a acessibilidade dos nós e remova a instância inacessível quando necessário:
Neste caso, você só precisa de:
remote round-robin-record
no seu arquivo de configuração dos clientes OpenVPN.
Como alternativa, você poderia implantar um ELB da AWS, escolher o número de instâncias que deseja executar a qualquer momento e permitir que o ELB crie e retire as instâncias conforme necessário, sempre que elas morrerem ou ficarem inacessíveis.
Nesse caso, seus clientes OpenVPN estariam se conectando ao endereço IP / hostname do próprio ELB.
EDITAR: Quando um dos servidores OpenVPN for desativado, seus clientes serão desconectados e provavelmente você deseja que eles reconectem-se automaticamente ao servidor OpenVPN. Você pode conseguir isso adicionando:
keepalive 10 120
para o arquivo de configuração do OpenVPN. Mais informações em: link
Com essa configuração, os clientes e servidores farão um ping entre si a cada 10 segundos. Se nenhum tráfego for visto por uma pessoa por mais de 120 segundos, o túnel será desligado + reiniciado.
EDIT2:
Se você não quiser que o OpenVPN solicite que o usuário insira novamente seu login / senha toda vez que ele se reconectar, peça a ele para adicioná-lo ao seu arquivo de configuração do cliente OpenVPN:
auth-user-pass auth.txt
Em seguida, crie um arquivo chamado auth.txt no mesmo diretório do arquivo de configuração, com apenas duas linhas:
mylogin
mypassword
Verifique se o arquivo está adequadamente protegido.