Você não precisa de ELB ou RDS. Note que o ELB fornece alguma segurança, protegendo contra alguns ataques de camada 4 e 7. Você pode optar por usar CloudFlare (gratuito) ou CloudFront (barato) para substituir o ELB, ou você pode ficar sem. É uma segurança barata e descarrega o trabalho do seu servidor.
Eu corro Nginx, PHP 5.6 e MySQL em um t2.nano. Nas últimas 24 horas, tive 1500 usuários e 15.000 solicitações para cerca de 15 sites. Alguns recursos estáticos foram armazenados em cache pelo CDN, mas todas as páginas atingiram o servidor. O servidor usa cerca de 2% da CPU de acordo com o CloudWatch, a média raramente sobe mais do que isso em um período de 5 minutos.
Eu tenho um tutorial sobre como Eu configurei tudo isso.
As principais coisas que fiz foram:
- Use o cache da página Nginx para usuários anônimos
- Desativar o esquema de desempenho do MySQL (que está no final do meu artigo de migração )
- Adicione 512 MB de espaço de troca (não use muito disso).
- Vamos criptografar para https usando acmetool
Migração
A melhor maneira de migrar o MySQL é usando o mysqldump. Configure o MySQL no seu servidor e configure-o para pouca RAM, adicione um arquivo de paginação, despeje o banco de dados do RDS em um arquivo em seu servidor e, em seguida, carregue o banco de dados no seu servidor. Você provavelmente precisará definir usuários e permissões novamente. Faça um instantâneo manual final do seu banco de dados RDS e desligue o RDS. Em alguns meses, volte e exclua seu instantâneo do RDS, se tudo estiver bem.
Para alterar o tamanho da sua instância do EC2, pare-o, clique com o botão direito do mouse e altere o tamanho da instância e, em seguida, inicie-o novamente. Demora um ou dois minutos. Você pode fazer isso por meio da API, se quiser.
Respostas a perguntas
HTTPS : "parece que para ter https com a AWS, preciso de balanceadores de carga para minhas instâncias do EC2"
Existem muitas maneiras de adicionar https aos servidores do EC2.
- Usar um ELB com certificados da Amazon é fácil.
- Solicite um certificado de uma autoridade de certificação (há muitos) e configure seu servidor da Web para usá-lo. Eu tenho um tutorial sobre como fazer isso com livre vamos criptografar certificados e nginx aqui .
- Use CloudFlare , que pode fazer proxy de seu servidor http via https. Você também pode usar o CloudFront para proxy https voltar para http . Não tenho dúvidas de que existem muitas outras maneiras
Observe que, se você tiver seu domínio configurado para rotear o tráfego para um ELB, precisará alterar um pouco as coisas. A maneira mais fácil é obter um endereço IP elástico para sua instância do EC2 e colocar esse IP elástico na configuração do DNS, como um registro A.
Tamanho da instância : não posso dar uma resposta concreta aqui, pois não temos informações suficientes. Mudar de t2.micro para t2.nano deve ser fácil, já que são a mesma tecnologia, apenas menor.
Se você estava mudando de outro tipo de instância, eu diria que verifique sua AMI, talvez seja uma antiga AMI de PV em vez de uma nova AMI de HVM. Se você editar sua pergunta para fornecer mais informações, posso pensar em outra.