Não posso falar em instâncias do Windows, mas presumo que suas características básicas sejam bastante semelhantes às instâncias do Linux.
Sua estimativa para o uso da largura de banda é de 100 downloads simultâneos de vídeo (não sei se você quer fazer o download do arquivo ou fazer o streaming do vídeo - assumirei o último). Se tomarmos uma taxa de fluxo de 512kbps, você precisará de 51Mbit / s ou 6,5MB / s.
As instâncias do EC2 diferem no desempenho de E / S (que inclui largura de banda). Existem 3 níveis de desempenho de E / S: baixo, moderado e alto. Porém, lembre-se de que a E / S do disco (ou seja, dos volumes EBS) também depende da largura de banda. Você só pode realmente considerar a largura de banda na rede EC2 (pois ela será completamente variável na Internet).
Alguns números típicos para quantificar 'baixo', 'médio' e 'alto' (fontes diferentes citam números diferentes para valores teóricos, portanto, podem não ser completamente precisos).
Alto:
Teórico: 1 Gbps = 125 MB / s; Realista ( origem ): 750 Mbps = 95 MB / s
Moderado:
Teórico: 250Mbps; Realista ( fonte, p57 ): 80 Mbps = 10 MB / s
Baixo:
Teórico: 100Mbps; Realista (dos meus próprios testes): 10-15Mbps = 1-2MB / s
(Na verdade, também existe um nível 'muito alto' (teórico de 10 Gbps), que se aplica apenas a instâncias de computação em cluster).
Um outro ponto de menção é o grau de variação. Em instâncias menores, há mais variabilidade no desempenho, à medida que os componentes físicos são compartilhados entre mais máquinas virtuais. Independentemente disso, você pode esperar uma variação de +/- 20% no seu desempenho (fontes: 1 , 2 , 3 ). No seu caso (conforme as suposições / cálculos na parte superior), você pode precisar de uma largura de banda máxima de 13 MB / s (dobro de 6,5 MBps, pois a E / S de disco também é limitada em rede). Se você estiver transferindo conteúdo de largura de banda menor, poderá usar uma instância com desempenho de E / S 'moderado' (consulte a página de tipos de instância), se seus cálculos resultarem em um requisito de largura de banda mais alto, você precisará de uma instância com desempenho de E / S 'alto'. Simplesmente o streaming dos dados não deve estar vinculado à CPU ou à memória, mas sustentar 100 conexões simultâneas provavelmente exigirá pelo menos uma instância de tamanho médio - e se a largura de banda for uma preocupação, com base no exposto, uma instância grande seria uma aposta mais segura).
Eu recomendaria comparar os servidores que você inicia para ver se eles atendem às suas necessidades (calculadas). Inicie duas instâncias (do mesmo tipo) e execute iperf
em cada uma delas usando os endereços IP privados das instâncias - você precisará abrir a porta 5001 no seu grupo de segurança, se a executar com as configurações padrão. Além disso, a maioria dos testes fora da rede EC2 mostra resultados entre 80-130 Mbps (grandes instâncias) - embora esses números não sejam necessariamente significativos.
Uma CDN seria mais adequada às suas necessidades, se sua configuração permitir. O S3 parece ter um limite em torno de 50 MB / s para largura de banda (pelo menos em uma única instância), conforme este artigo , mas é mais alto do que o necessário (o S3 não suporta streaming). O Cloudfront seria mais adequado para sua tarefa (como é projetado como uma CDN) e suporta 1000 Mbps = 125 MB / s por padrão ( origem ), com maior largura de banda disponível mediante solicitação e também pode transmitir conteúdo)