Comment réduire l'instance AWS EC2 et RDS

J'utilise un peu de temps AWS Pour une application Web simple. J'ai remarqué que les coûts sont trop élevés pour utiliser l'application:


EC2 t2.micro

: $ 28 / Mem.


LoadBalancer-hour (or partial hour)

: 37 dollars


RDS db.m1.small instance hour (or partial hour) running MySQL

: 50 dollars

$ 100 + / Mons pour le site qui a 5-10 Utilisateurs par jour.

Comment puis-je réduire la taille des instances existantes EC2 et RDS et supprimer ou réduire le besoin d'équilibrage de charge sans retravailler le travail sur la mise en place de tout cela?

En substance, je dois effectuer les actions suivantes:

Servir mon application d'interface externe statique (Actuellement en S3) de l'autre côté HTTPS (Actuellement pour cela est utilisé Cloudfront)

Servir mon serveur API (Actuellement en ElasticBeanstalk) de l'autre côté HTTPS (On m'a dit que pour cela, j'ai besoin d'un équilibre de charge)

Placer une base de données (Actuellement utilisé AWS RDS de ElasticBeanstalk)

Actuellement, les utilisateurs ne sont pas tellement, alors j'ai besoin d'un hébergement d'API beaucoup moins chère que 80 Dollars américains par mois pour RDS et EC2. Il est nécessaire que ces services coûtent plus cher 30 dollars par mois. Je ne vois généralement pas le besoin d'équilibrage de charge, mais, comme je l'ai mentionné, je pensais que j'en ai besoin pour https?
Invité:

Catherine

Confirmation de:

Tu n'as pas besoin ELB ou RDS. Notez que ELB Fournit une certaine sécurité, protégeant certaines attaques de niveau 4 et 7. vous pouvez utiliser CloudFlare (est libre) ou CloudFront (pas cher) au lieu ELB, Ou vous pouvez le faire sans elle. Ceci est une sécurité bon marché qui soulage la charge de votre serveur.

Je lance Nginx, PHP 5.6 et MySQL sur t2.nano. Pour le dernier 24 J'ai eu une heure 1500 Utilisateurs I. 15000 Requêtes environ par 15 Sites Internet. Certaines ressources statiques ont été mises en cache CDN, Mais toutes les pages sont tombées au serveur. Selon CloudWatch, Le serveur utilise près de 2% La CPU, la moyenne dépasse rarement cette valeur pendant une période de 5 minutes.

j'ai
https://www.photographerstechs ... oads/
Sur la façon dont j'ai tout fait.

Choses clés que j'ai faites:

Utilisez la page de cache Nginx Pour les utilisateurs anonymes

Désactiver le schéma de performance MySQL (C'est à la fin de mon
https://www.photographerstechs ... ysql/
)

Ajouter 512 Mb
https://www.photographerstechs ... ance/
(Il ne l'utilise pas beaucoup).

Let's Encrypt pour https, Utilisant
https://github.com/hlandau/acme

Migration

La meilleure façon de transférer MySQL - utilisation mysqldump. Installer MySQL Sur votre serveur et réglez-le à une pénurie de RAM, ajoutez le fichier de pagination, déchargez la base de données de RDS Pour le fichier sur votre serveur, puis téléchargez la base de données sur votre serveur. Vous devrez peut-être ajuster les utilisateurs et les autorisations. Faire la dernière instantanée de la base de données manuelle RDS, Puis éteindre RDS. Après quelques mois, revenez et retirez la photo RDS, Si tout est en ordre.

Redimensionner votre instance EC2, Arrêtez-le, cliquez avec le bouton droit de la souris et modifiez la taille de l'instance, puis recommencez. Cela prendra une minute ou deux. Vous pouvez le faire à travers API, si tu veux.

Réponses sur les questions

HTTPS

: "On dirait d'avoir https de AWS, J'ai besoin d'équilibrage de charge pour mes copies EC2"

Il y a plusieurs façons d'ajouter https aux serveurs EC2.

Utilisation ELB Avec des certificats Amazon très simple.

Demander le certificat dans le centre de certification (beaucoup d'entre eux) Et configurez votre serveur Web pour l'utiliser. J'ai un guide sur la façon de faire cela avec des certificats libres Let's encrypt et nginx
https://www.photographerstechs ... -aws/
.

Utilisation
https://www.cloudflare.com/
, qui peut procéder à votre serveur http via https. Vous pouvez aussi utiliser CloudFront pour
http://docs.aws.amazon.com/Ama ... .html
. Je ne doute pas qu'il y a beaucoup d'autres moyens

Notez que si votre domaine est configuré pour suivre le trafic sur ELB, Vous devez modifier légèrement la situation. Le moyen le plus simple - Obtenez une adresse IP élastique pour votre instance EC2 et placez cette adresse IP élastique dans votre configuration DNS Comme un record A.

Taille de l'instance

: Je ne peux pas donner une réponse spécifique ici, car nous n'avons pas assez d'informations. Transition S. t2.micro sur t2.nano Doit être facile, car c'est la même technologie, seulement moins.

Si vous étiez changé d'un autre type d'instance, je dirais, vérifiez votre AMI, Peut-être que c'est vieux PV AMI, Et pas nouveau HVM AMI. Si vous modifiez votre question pour donner plus d'informations, je peux à nouveau y penser.

Giselle

Confirmation de:

Plusieurs options pour examen -

Réduire la version de votre instance EC2 avant que

t2.nano

Puisque votre application n'a pas de trafic / charge, vous pouvez simplement arrêter d'utiliser ELB

Je pense que le tien RDS

db.m1.small

Instance définie sur C.

multi-az

L'option est activée, vous pouvez le changer et désactiver

multi-az

option parce que cela réduira le coût de votre instance RDS Jusqu'à la moitié de son coût actuel.

Si vous souhaitez toujours réduire le coût, vous pouvez envisager EC2
http://docs.aws.amazon.com/AWS ... .html
ou
https://aws.amazon.com/ec2/pri ... nces/
pour EC2 et RDS, Si tu en as besoin.

Dominique

Confirmation de:

Vous pouvez réduire la taille de l'instance EC2 avant que

t2.nano

Depuis que vous n'attendez pas un tel trafic.

Vous pouvez également arrêter d'utiliser un équilibrage de charge. Je ne pense pas que cela sert de but en termes de régulation du trafic entrant.

Vous pouvez également réduire RDS avant que

db.t2.micro

. Je passe autour 20 Dollars RDS Cette taille. Aussi n'utilisez pas Multi-AZ.

Bien que cela nécessite un travail supplémentaire, vous pouvez également exécuter

t2.micro

EC2 Et configurer là MySQL indépendamment et complètement refuser d'utiliser RDS.

Pour répondre aux questions, connectez-vous ou registre