Que tipo de configuração do EC2 eu quero?

2

Ok, sou mais um programador e não sou tão familiar quando se trata de coisas como a configuração do sistema, embora eu tente o meu melhor. No momento, estou usando o Slicehost (estatísticas abaixo) para executar um site pessoal que recebe uma boa quantidade de tráfego.

  • Linux (Ubuntu 8.04.2)
  • 512MB de RAM
  • Média xfer = 4,85 GB (0,68 pol / 4,17 out)
  • Backups automáticos

Eu pago US $ 48 / mês (US $ 38 por hospedagem, US $ 10 por backup).

Estou no processo de reformulação do site e, com isso, gostaria de mudar para a AWS (EC2 e S3). Eu estou tentando descobrir uma configuração similar (provavelmente um pouco melhor em termos de RAM, já que eu sempre usei alto uso de root e swap IO), e quanto isso vai me custar.

A Amazon oferece um calendário mensal simples , mas não tenho certeza se estou inserindo as informações corretas em termos de encontrar uma configuração comparável, bem como o que o preço está saindo para ser.

Informações relevantes sobre a nova versão do meu site:

  • Ruby (REE 1.8.7) / Rails 3.1
  • PostgreSQL 9.0.4
  • O SearchSphinx (2.0) deve estar em execução em segundo plano
  • Vários outros trabalhos agendados e tarefas de ancinho serão adicionados à medida que o aplicativo amadurecer
  • App permite aos usuários fazer upload de imagens como parte de seus perfis, o que eu estou pensando em armazenar no S3

Para comparação, a versão atual do meu site em execução no Slicehost:

  • PHP5
  • PostgreSQL 8.3
  • Apache, DB e arquivos (imagens) todos armazenados no mesmo sistema

Acho que minhas perguntas se resumem a:

  1. Desejo uma instância sob demanda ou uma instância reservada? Eu assumo reservado, mas isso fez o preço saltar para os milhares por apenas 1 instância.
  2. De acordo com os tipos de instância da AWS , provavelmente posso optar por um Micro (613MB de RAM) ou Small (1.7GB RAM) instância. Isso soa bem?
  3. Eu não tenho ideia de quais números eu quero que os números coloquem na parte de volumes do EBS da calculadora, se houver alguma coisa. Preciso mesmo de um volume do EBS ou minha instância do EC2 terá espaço suficiente? (Lembre-se de que estou transferindo minhas fotos enviadas por usuários para o S3.)

Eu acho que é sobre isso. Quando tento fazer algumas estimativas aproximadas do que suponho que está certo, ele sai para US $ 63 / mês com uma taxa de instalação de US $ 350. (Isso também não inclui nenhuma das despesas do S3.) Estou assumindo que o custo adicional valerá a pena a dor que me resolverá no longo prazo, mas eu nem tenho certeza se estou colocando o "direito" "números na calculadora em primeiro lugar.

    
por Matt Huggins 29.07.2011 / 23:54

4 respostas

5

Embora eu ame o Amazon AWS, eu questionaria se é certo para você. A AWS é especializada em computação em nuvem; Ou seja, muito do seu valor agregado está "entre" as VMs do servidor - ferramentas de gerenciamento, armazenamentos de dados extremamente escalonáveis, roteamento de tráfego, etc. Mas você só precisa de uma única VM de servidor maior.

Tenha um olhar para o Linode , eles têm uma grande reputação no segmento de autoatendimento e preços justos para VPS com mais RAM . Ou, dado que você não é sysadmin, talvez procure um VPS gerenciado de fornecedores como ServInt, WiredTree etc.

Supondo que você escolha a Amazon mesmo assim:

Do I want an on-demand instance, or a reserved instance?

Reservado é substancialmente mais barato a longo prazo.

I can probably settle for a Micro (613MB RAM) or Small (1.7GB RAM) instance.

Você precisará medir seu appstack + o uso de RAM do aplicativo. Eu acho que uma pequena instância de 1,7 GB de RAM é mínima.

Do I even need an EBS volume

Você estritamente precisa de EBS; o armazenamento de instância 'local' (chamado ephemeral) é destruído quando a VM trava / é encerrada. Todos os dados persistentes precisam estar no EBS, S3, etc. Mas não se preocupe muito com os custos do EBS, para um banco de dados pequeno, geralmente não é muito do custo total.

Keep in mind I'm offloading my user-uploaded photos to S3.

Boa ideia - que você também pode fazer no Slicehost, Linode, etc.

    
por 30.07.2011 / 00:10
4

A menos que haja algo fundamental faltando em sua pergunta, eu diria que a AWS seria uma jogada terrível para você. Mesmo antes de considerar o tráfego e o EBS (que você definitivamente precisará armazenar seus bancos de dados PgSQL e SearchSphinx) é o dobro do custo e para quê? Seu caso de uso não parece incluir nenhuma das coisas em que a AWS é realmente boa (lidar com cargas muito pesadas, especialmente aquelas que podem ser manipuladas por processamento em segundo plano ou lidar com um crescimento rápido e uma equipe de TI incompetente que não pode fazer planejamento de capacidade), para que você pague a taxa de "dimensionamento instantâneo" sem receber nada de volta.

Para responder às suas perguntas específicas:

  1. "Eu quero uma instância sob demanda?" -- talvez. Pense em uma instância reservada como se fosse como comprar um servidor de forma direta e direta. Se você estiver disposto a fazer isso pelo seu serviço, você terá uma instância reservada. Se você não sabe se vai precisar do servidor em 6 meses ou um ano, provavelmente não precisará. E se você não tem o dinheiro inicial para pagar por isso, então obviamente você não pode.
  2. Dimensionamento de instâncias - como Jesper disse, analise a pegada de memória de seu serviço e tome sua própria decisão. Se você está correndo agora em 512MB, meu palpite é que um micro não faria muito bem a você.
  3. Sim, você precisa do EBS. Onde o seu índice PgSQL e Sphinx vai viver de outra forma? Eu suspeito que você pode não ter percebido que o EC2 é fundamentalmente diferente de outros provedores de hospedagem. Quando você inicializa uma instância, não recebe de volta o que tinha quando foi desligado. Quando você inicializa uma instância, você obtém o que está na AMI que você inicializou. Isso significa que toda vez que você fizer atualizações de segurança ou alterar qualquer coisa no sistema operacional que deseja persistir, você terá que re-lançar essa AMI, e qualquer coisa que naturalmente mude durante a execução tem que ir em um EBS (e eles não me dou bem, na minha experiência).

Mais uma vez, não acho que você seja adequado para usar o AWS. Ficar com um serviço VPS tradicional.

    
por 30.07.2011 / 00:42
1

Eu vou oferecer uma perspectiva alternativa sobre isso, já que minha situação é um pouco diferente (não muito crítica), e me dá um pouco mais de liberdade de ação.

Um dos meus servidores é executado na AWS - é principalmente para alguns sites pequenos para mim e alguns amigos, cerca de 10 sites, total de transferência de dados de 2 GB / mês. Todos são PHP / MySQL executando algum CMS.

Meu custo mensal é de $ 12 +/- 2: $ 5 para custos de exemplo, $ 2,5 para instantâneos, $ 3,5 para EBS (e o restante para 'itens diversos' ($ 0,5 para S3, $ 0,2 para largura de banda, $ 0,08 para Cloudfront, etc) Eu poderia adicionar outro servidor por cerca de US $ 8 / mês (que eu pretendo fazer em algum momento).

Meu t1.micro executa o PHP no modo FastCGI, com Apache, nginx, postfix, dovecot, vsftp e mysql - usa 250 MB de memória e carrega um blog do Wordpress em menos de 2 segundos.

A razão pela qual meus custos são tão baixos (além do óbvio - sites pequenos e micro instância) é porque eu vou com o preço à vista. Tenho notado que a flutuação é mínima, normalmente igual ao custo da instância reservada. Então, eu fiz overbid de maneira significativa (algo como $ 0.5 para a instância de $ 0.007) e estou essencialmente garantido que a instância não será encerrada. Duvido que você encontre uma solução VPS por menos de $ 5 / mês com acesso root.

Certamente, a premissa é inútil para algo de missão crítica, mas implementar um pouco de failover e você poderia facilmente ter algo viável. Para mim, é a plataforma perfeita para experimentar e testar coisas com o menor custo possível.

Minhas respostas para suas perguntas:

  1. Instância spot com overbid (caso contrário, você precisa ser reservado)
  2. O servidor depende das suas necessidades específicas - eu sugeriria o PHP-FPM e usaria o nginx como um proxy reverso para arquivos estáticos - ele diminuirá significativamente o uso da memória. Se você pode conviver com uma micro instância, tenha em mente que você pode sempre atualizar mais tarde - essa é a vantagem da AWS.
  3. Você deve usar os volumes do EBS - lembre-se de torná-los persistentes (os volumes da raiz do EBS não são persistentes por padrão).

A AWS pode ser muito barata em certas circunstâncias e extremamente cara em outras - seja criativo e mantenha suas opções em aberto, e você encontrará o que é melhor para você.

    
por 30.07.2011 / 06:06
0

Se você se concentrar nos custos, poderá tentar cloudorado , que calculará o preço de um servidor em vários provedores. Não vai calcular backups, mas sim servidor e transferência.

    
por 31.07.2011 / 16:54