Non posso parlare per le istanze di Windows, ma presumo che le loro caratteristiche di base siano abbastanza simili alle istanze di Linux.
La tua stima per l'utilizzo della larghezza di banda è di 100 download di video simultanei (non sono sicuro che tu intenda scaricare il file o eseguire lo streaming del video - assumerò quest'ultimo). Se prendiamo una velocità di streaming di 512 kbps, sono necessari circa 51 MB / s o 6,5 MB / s.
Le istanze EC2 differiscono nelle loro prestazioni I / O (che include la larghezza di banda). Esistono 3 livelli di prestazioni I / O: basso, moderato e alto. Tuttavia, tenere presente che l'I / O del disco (ovvero dai volumi EBS) dipende anche dalla larghezza di banda. Puoi davvero considerare solo la larghezza di banda all'interno della rete EC2 (poiché sarà completamente variabile su Internet).
Alcuni numeri tipici per quantificare 'basso', 'medio' e 'alto' (fonti diverse citano numeri diversi per valori teorici, quindi potrebbero non essere completamente precisi).
Alto:
teorico: 1 Gbps = 125 MB / s; Realistico ( sorgente ): 750 Mbps = 95 MB / s
Moderato:
teorico: 250 Mbps; Realistico ( fonte, p57 ): 80 Mbps = 10 MB / s
Basso:
teorico: 100 Mbps; Realistico (dai miei test): 10-15 Mbps = 1-2 MB / s
(Esiste effettivamente anche un livello "molto elevato" (teorico a 10 Gbps) ma si applica solo alle istanze di calcolo del cluster).
Un ulteriore punto di menzione è il grado di variazione. Su istanze più piccole, c'è maggiore variabilità nelle prestazioni poiché i componenti fisici sono condivisi tra più macchine virtuali. Indipendentemente da ciò, ci si può aspettare una variazione di circa il 20% delle prestazioni (fonti: 1 , 2 , 3 ). Nel tuo caso (come da ipotesi / calcoli in alto), potresti aver bisogno di una larghezza di banda di picco di 13 MB / s (doppio 6,5 MB, poiché anche l'I / O del disco è limitato in rete). Se si trasferiscono contenuti con larghezza di banda inferiore, si dovrebbe essere in grado di utilizzare un'istanza con prestazioni I / O "moderate" (vedere la pagina dei tipi di istanza), se i tuoi calcoli comportano un requisito di larghezza di banda maggiore, avrai bisogno di un'istanza con prestazioni I / O "elevate". Il semplice streaming dei dati non dovrebbe essere associato alla CPU o alla memoria, ma sostenere 100 connessioni simultanee richiederà probabilmente almeno un'istanza di medie dimensioni - e se la larghezza di banda è un problema, in base a quanto sopra, un'istanza di grandi dimensioni sarebbe una scommessa più sicura).
Consiglierei di confrontare i server che avvii per vedere se soddisfano le tue esigenze (calcolate). Avviare due istanze (dello stesso tipo) ed eseguirle iperf
su ciascuna utilizzando gli indirizzi IP privati delle istanze: sarà necessario aprire la porta 5001 nel gruppo di sicurezza se la si esegue con le impostazioni predefinite). Inoltre, la maggior parte dei test al di fuori della rete EC2 mostra risultati compresi tra 80 e 130 Mbps (casi di grandi dimensioni), sebbene tali numeri non siano necessariamente significativi.
Un CDN sarebbe più adatto alle tue esigenze, se il tuo setup lo consente. S3 sembra avere un limite di circa 50 MB / s per la larghezza di banda (almeno da una singola istanza) come da questo articolo , ma questo è superiore a quello che dovresti richiedere (S3 non supporta lo streaming). Cloudfront sarebbe più adatto alla tua attività (poiché è progettato come CDN) e supporta 1000 Mbps = 125 MB / s per impostazione predefinita ( sorgente ) con una larghezza di banda maggiore disponibile su richiesta e può anche trasmettere contenuti)