Posso hospedar um site estático no Amazon EC2 juntamente com o EFS?

0

Meu site está hospedado no momento no EC2 com o volume do EBS. Mas muitas vezes eu corro um programa java na mesma instância (que gera para o EBS) para gerar / atualizar arquivos para o site. CPU e amp; picos de memória para 100% no tempo de execução, o que torna meu site muito lento ou não abre, até que o processo termine. Além disso, estou pagando por uma grande instância durante todo o mês, apenas para executar este programa java algumas vezes por mês.

Por que não executar o programa java em locais & atualizar arquivos de saída para o EBS? A velocidade da Internet na minha área é ridícula.

Por que não enviar para o S3? Meus arquivos são pequenos em tamanho & grande em volume. Velocidade de transferência inaceitável entre EC2 a S3. Eu até tentei s4cmd, mas ainda assim a velocidade de transferência é inaceitável.

Por que não montar o mesmo volume do EBS em 2 instâncias do EC2? Eu acho que é um hack.

Por isso, quero mudar para o EFS & conecte duas instâncias do EC2. Um dedicado para o funcionamento do site. E outra instância sob demanda para executar o processo Java somente quando necessário.

Minhas perguntas sobre o EFS: 1) O meu programa java pode gerar arquivos grandes para o EFS com a mesma velocidade que o EBS? 2) A Amazon não está cobrando mais pela largura de banda de saída do EFS. É limitado?

    
por Avinash 31.12.2016 / 06:58

1 resposta

1

Nota importante: A partir de 2018-07-12, o EFS permite-lhe adquirir provisionada . A resposta abaixo reflete o comportamento do serviço antes que esse recurso estivesse disponível. Anteriormente, sistemas de arquivos EFS pequenos eram fáceis de sobrecarregar com o tráfego, porque o desempenho aumentava linearmente com o tamanho dos dados armazenados ... portanto, com apenas alguns GB armazenados, o limite efetivo era muito pequeno para alguns casos de uso que não em conta.

Whyn't mount same EBS volume to 2 EC2 instances? I think it's a hack.

Você não pode montar o mesmo volume do EBS em várias instâncias. Você pode, no entanto, criar uma exportação NFS a partir da máquina com o volume EBS e montá-la pela rede. NFS é uma tecnologia estabelecida, não um hack. Na verdade, isso seria quase idêntico ao uso do EFS de sua perspectiva, já que o EFS de fato usa o mesmo protocolo - NFS.

Amazon is not charging extra for EFS outbound bandwidth. Is it limited?

"Outbound bandwith" não é exatamente um conceito válido com o EFS, porque o tráfego é estritamente entre o EFS e a instância que está acessando-o. Se você montá-lo corretamente, usando o endpoint específico da zona de disponibilidade, o tráfego entre o EFS e as instâncias do EC2 nunca deixará a zona de disponibilidade.

Se um navegador da Web fizer o download de um arquivo que está em seu sistema de arquivos EFS, ele deverá necessariamente estar sendo baixado por meio de uma de suas instâncias. Portanto, a largura de banda de saída é, na verdade, de saída do EC2, não de saída do EFS.

A taxa de transferência disponível ("largura de banda") entre o EFS e o EC2 aumenta com o tamanho total dos arquivos armazenados em um sistema de arquivos EFS.

Amazon EFS uses a credit system to determine when file systems can burst. Each file system earns credits over time at a baseline rate that is determined by the size of the file system, and uses credits whenever it reads or writes data. The baseline rate is 50 MiB/s per TiB of storage (equivalently, 50 KiB/s per GiB of storage).

Accumulated burst credits give the file system permission to drive throughput above its baseline rate. A file system can drive throughput continuously at its baseline rate, and whenever it's inactive or driving throughput below its baseline rate, the file system accumulates burst credits.

http://docs.aws.amazon.com/efs/latest/ug/performance.html

Mas há uma capacidade de burst de 100MiB / s, por menor que seja o sistema de arquivos. Para um sistema de arquivos de 10GiB, você pode aumentar para 100MiB / s por 7,2 minutos por dia, ou 25MiB / s por 28,8 minutos por dia, etc.

O que você está esquecendo com a sua conclusão de que isso é insuficiente é o cache do sistema operacional. No servidor da Web, os arquivos lidos do EFS podem permanecer no cache do sistema operacional nessa máquina, o que significa que, depois que um arquivo é exibido em um navegador, o servidor da Web pode não precisar ler o arquivo do EFS no próximo download, mas em vez disso, apenas verifique se ele não foi alterado e, em seguida, exiba-o no navegador a partir da memória. Esse comportamento deve ser automático, a menos que você o desative.

It's strange amazon is linking size of data to traffic. I might store only little data, but that doesn't mean my outbound traffic too will be very low.

Não é muito estranho, pois o tamanho dos dados armazenados é a única dimensão que impacta o preço. Os volumes do EBS são geralmente semelhantes - quanto maior o volume, maior o rendimento em MiB / s e / ou IOPS está disponível a partir desse volume.

Aqui, novamente, não confunda o tráfego de saída do seu aplicativo com a taxa de transferência da loja de apoio. Os dois valores não estão strongmente correlacionados.

Em instâncias menores, as características da instância têm mais probabilidade de ser o fator limitante. Por exemplo, uma instância t2.small só tem 31.25 MiB / s (250 mbps, 0.25 gigabit / s) de largura de banda disponível, portanto, o limite superior de desempenho não será o sistema de arquivos.

Teste seu aplicativo com o EFS e observe as métricas do CloudWatch para o sistema de arquivos. Cada carga de trabalho é diferente e essa é realmente a única maneira de saber se funcionará como esperado.

    
por 01.01.2017 / 19:23