O S3 é mais barato que uma solução EC2 DIY (para arquivos pequenos)

O S3 é mais barato que uma solução EC2 DIY (para arquivos pequenos)

É realmente mais barato hospedar imagens e scripts via S3 do que com uma instância EC2 executando nginx/varnish/etc. ?

Parece-me (mas estou apenas começando com a AWS) que os custos da solicitação serão o fator principal se você não usar sprites ou outras otimizações... ou estou faltando alguma coisa?

Responder1

Você está tentando comparar maçãs e laranjas aqui. Os serviços EC2 (Elastic Compute Cloud) e S3 (Simple Storage Service) da Amazon atendem a dois propósitos totalmente diferentes. S3 destina-se a armazenamento redundante e não é um "servidor" em si. Sim, se você tivesse um servidor web hospedado em outro lugar onde pudesse usar o S3 como uma forma de CDN usando o S3 junto com o Cloudfront, mas o objetivo principal é o armazenamento. O EC2, por outro lado, é um VPS (servidor virtual privado) que seria capaz de executar daemons como nginx, verniz, apache, etc. O S3 por si só não pode fazer isso por você.

Se você criar sua própria AMI (Amazon Machine Image) para um EC2, você os armazenará no S3 e pagará as taxas de armazenamento associadas a isso. Uma instância EC2 pode ser executada sem qualquer uso do S3. No entanto, como mencionado, as instâncias EC2 não armazenam dados após o desligamento quando a instância não está mais em execução. Para manter os dados entre inicializações e desligamentos, você deve armazená-los no S3 ou usar um EBS (Elastic Block Store) que pode persistir os dados para você.

Existem diferentes níveis de preços para largura de banda de entrada, saída e dentro de uma determinada região, bem como capacidade de armazenamento, solicitações de E/S, etc. Isso fica complicado e existem várias calculadoras disponíveis para ajudá-lo a descobrir isso. Escrevi minha própria planilha com fórmulas para importar meus downloads de CSV do histórico de uso para ajudar a estimar custos de uso futuros. Tenho gerenciado várias instâncias de servidor para um cliente no EC2 há mais de 9 meses. Descobri que o custo mais fácil de calcular é o tempo de execução da instância, pois é uma taxa horária simples por instância. Depois disso, o volume do EBS e as capacidades de armazenamento S3 são fáceis de calcular, mas as solicitações de E/S e a largura de banda podem ser surpreendentes às vezes.

Meus custos de armazenamento S3 costumam ser bastante triviais (geralmente < US$ 2/mês) e eu armazeno diversas AMIs e alguns documentos que os servidores de aplicação acessam, junto com a inicialização inicial das instâncias. Minhas instâncias usam um servidor Puppet mantido em um VPS fora da Amazon que também serve como meu servidor de monitoramento e jumpbox. Executando cerca de 7 instâncias em média, descobri que minhas solicitações de E/S estão entre 5 e 8 milhões e custam < US$ 1/mês em média. Nos últimos 6 meses, obtive uma média de cerca de 10 GB em volumes EBS e isso custa apenas um pouco mais de US$ 1/mês. Eu uso volumes EBS para meu conteúdo estático junto com meus arquivos de banco de dados MySQL e logs binários. A transferência de dados de entrada ocorreu entre 20-24 GB e teve uma média de ~$ 2,25/mês, enquanto a saída funcionou entre 241-326 GB e uma média de ~$ 42/mês. Minha largura de banda regional entre instâncias variava entre 130 MB e 535 GB, pois nem todas as minhas instâncias estão nas mesmas zonas de disponibilidade e tinha uma média de aproximadamente US$ 2,45/mês. Dito isso, como afirmei que a taxa horária é a mais fácil de calcular, corremos mais de US$ 1.700/mês para as próprias instâncias EC2. No momento, estamos procurando migrar para instâncias reservadas em vez de instâncias sob demanda e devemos reduzir esse valor para cerca de US$ 600/mês após o custo inicial (US$ 6-9 mil) de obtenção da instância reservada.

Responder2

Com o S3 você paga pela transferência e armazenamento. Com o EC2 você também paga pelo tempo de execução das instâncias. De qualquer forma, você está pagando pela transferência e armazenamento, por isso deve ser mais barato em todos os casos usar apenas o S3 para hospedagem de arquivos. O EC2 deve ser sempre mais caro porque você paga pelo tempo de execução da instância, além do armazenamento e da transferência. A Amazon tem umcalculadora de preçosque você pode usar para brincar com os números com base em seu próprio caso de uso e na estimativa de transferência e armazenamento necessários.

Responder3

Você precisa levar em consideração a quantidade de tráfego que puxará os dados s3 para o servidor da web. ec2 você paga por hora, mas obtém 160 GB de armazenamento local, s3 você paga por armazenamento e largura de banda.

Em geral eu diria que para um servidor web a instância ec2 será mais barata ou igual a s3. Mas dê uma olhada na calculadora de preços para verificar

Responder4

Como o S3 fornece essencialmente um sistema de arquivos de rede distribuído, tente usar nós EC2 para construí-lo.

MongoDB/GridFS seria uma comparação convincente.

O S3 supostamente tem tempos limite de leitura/gravação de tempos em tempos e construir sua própria camada de cache também pode ajudar.

informação relacionada