Como carregar instâncias de sftp de equilíbrio na AWS

10

Eu gostaria de saber se é possível carregar sftpservidores de equilíbrio AWS. Eu tenho 2 servidores e cada um dos meus servidores está usando s3fs-fusepara montar o mesmo S3 bucketem um ponto de montagem. Ambas as minhas ec2instâncias são capazes de ler / gravar em seus pontos de montagem e S3, a partir de , posso ver os arquivos dos dois servidores.

O que estou procurando é ter SFTPque transferir arquivos e usá Amazon S3-los para armazenar meus arquivos. Os arquivos seriam carregados e baixados diariamente.

https://github.com/s3fs-fuse/s3fs-fuse

Quanto ao meu próximo passo, eu gostaria de saber como posso equilibrar a carga dos meus sftpservidores, para que, quando um usuário se conectar a um endereço IP específico, ele os redirecione para um dos meus sftpservidores. Dei uma olhada elastic load balancers, mas eles parecem permitir apenas portas específicas. Também investiguei HAProxy, mas não tenho certeza de quão segura será essa solução. Eu tenho que levar HIPAAem consideração a conformidade. O balanceador de carga deve ser um endereço IP estático, pois nossos fornecedores não suportam DNS hostnames.

popopanda
fonte
7
Eu nunca quis me incendiar tanto como agora.
Wesley23:
3
TBH, usando s3fs-fuse para PHI parece bastante tolo.
EEAA
Atualmente, os ELBs atualmente oferecem suporte a todas as portas (1-65535): aws.amazon.com/blogs/aws/… . Porém, os ELBs também exigem que os clientes usem o nome DNS gerado pela AWS (que também aponta para dois endereços IP públicos, que podem ser alterados).
Jukka
A maior questão é: por que você deseja carregar o saldo? Se for para HA, você ainda terá um SPoF no seu haproxy. Se for para os requisitos de ssh da CPU, seria difícil de acreditar, mas um motivo válido.
W00t
Além disso, você pensou em pedir ao seu fornecedor para suportar envios S3 criptografados? Não é nada difícil ...
w00t

Respostas:

22

Meu comentário provavelmente poderia usar alguns esclarecimentos. Cuspi com a eloqüência de um iaque embriagado:

Eu nunca quis me incendiar tanto como agora.

Por quê? Por que eu diria uma coisa dessas? Principalmente porque sou uma pessoa horrível. No entanto, além disso, posso explicar minha explosão revisando o post original aos poucos:

Eu gostaria de saber se é possível carregar servidores sftp de equilíbrio na AWS.

Sim. Impossível não é nada . Mas saiba que, a menos que você obtenha um pacote SFTP especial, o balanceamento de carga será inteiramente sua. O serviço sendo SFTP e hospedado na AWS é irrelevante.

Eu tenho 2 servidores e cada um dos meus servidores está usando s3fs-fuse para montar o mesmo bucket S3 em um ponto de montagem. Ambas as minhas instâncias ec2 são capazes de ler / gravar em seus pontos de montagem e, no S3, posso ver os arquivos dos dois servidores.

Você começou bem com um sistema de arquivos compartilhado, não obstante o desempenho e a confiabilidade da configuração.

Quanto ao meu próximo passo, eu gostaria de saber como posso equilibrar a carga dos meus servidores sftp, para que, quando um usuário se conectar a um endereço IP específico, ele os redirecione para um dos meus servidores sftp.

A questão agora é: Por que você deseja carregar o saldo. Há uma quantidade fantástica de taxa de transferência e capacidade de processamento oferecida ao catálogo de instâncias da Amazon, e a necessidade de carregar o SFTP com equilíbrio significa que você está se aproximando dos níveis pornográficos de atividade de rede. Mantenha-o simples, repetível e resiliente sempre que possível. Obtenha um i2.xlarge com um daemon SFTP em execução e você deve ficar bem, não importa o quê. Construa-o com o Puppet / Chef / $trendy-config-management-toole você estará no negócio. Continuando no entanto ...

Dei uma olhada nos balanceadores de carga elásticos, mas eles parecem permitir apenas portas específicas. Também investiguei o HAProxy, mas não tenho certeza de quão segura será essa solução.

HAproxy é exatamente o tipo de ferramenta que você precisa. Sua incerteza sobre segurança é facilmente dissipada com apenas algumas horas de leitura. Meu desejo de auto-imolação está aumentando a partir deste ponto. Se você não tiver certeza sobre algo, tenha certeza. O HAProxy é a escolha para muitas instituições financeiras, hospitais e governos.

Eu tenho que levar em consideração a conformidade HIPAA.

Totalmente entendido, mas a conformidade não é primariamente o papel das ferramentas. Você precisará entender os conceitos por trás dos requisitos de conformidade HIPAA e ver como o HAproxy pode cumpri-los. O HAProxy não é compatível com HIPAA nem com HIPAA. Independentemente da ferramenta usada, você precisará verificar independentemente as suposições e os requisitos subjacentes às suas necessidades regulatórias e de conformidade. De fato, se houver, o S3 e o uso de instâncias da Amazon devem ser inspecionados com mais cuidado do que o uso do HAproxy.

O balanceador de carga deve ser um endereço IP estático, pois nossos fornecedores não suportam nomes de host DNS

Este. Isso foi feito. Seu fornecedor é ruim e deve se sentir mal. Agora eu quero pular na lava. Não oferecer suporte a algo básico como a resolução de DNS não tem nenhuma relação, mas também é como dizer "Um carro deve ter um mecanismo para eu usá-lo". Bem, claro. Obviamente, um balanceador de carga terá a capacidade de usar um endereço IP estático. Há muitas outras considerações que você precisa pensar sobre os endereços IP estáticos simples.

TL; DR

Sim, você pode carregar o SFTP com o HAproxy. A conformidade com a HIPAA depende de você e a escolha da ferramenta não marcará as caixas. Você precisa pesquisar no Google e ler a documentação.

Eu tenho algumas chamas para apagar.

Wesley
fonte
Obrigado pelo feedback honesto e sugestões. Vou examiná-los, mas isso me dará um começo.
Popopanda
7
Esta é a minha resposta favorita no SF há algum tempo. <3
ceejayoz
O Netscaler também possui um modo SFTP para servidores virtuais, e pode considerar isso também. Um dispositivo Netscaler suportado por instância do EC2 (com diferentes opções de largura de banda) está disponível no mercado da AWS. Custa dinheiro embora.
Jukka
Depois de trabalhar na área de TI da área de saúde por quase uma década, os fornecedores terceirizados não conseguem oferecer suporte às pesquisas de DNS, usando domínios que não são acessíveis entre sistemas e outros níveis de ímpares que atentam contra os padrões aceitos não são particularmente surpreendentes e ocorrem. muito mais frequentemente do que alguém gostaria. Por exemplo, há vários anos, um fornecedor me disse que não suportava autenticação de chave pública ssh porque não usava senhas que podiam ser rotacionadas a cada 30 dias. HIPAA parece causar uma certa quantidade de hiperparanóia e confusão. Estou surpreso que a AWS esteja disposta a ser bacharel.
Andrew Domaszek
0

Sim. É possível usando o AWS Load Balancer.

  1. Crie um balanceador de carga com o Listener na porta 22.
  2. Crie um grupo de destino com 2 da sua instância SFTP.
  3. Alinhe corretamente seus SGs no Instance e no Load Balancer.
Dheepan Swaminathan
fonte