Comment choisir la meilleure instance EC2 pour le système

Sep 15 2020

J'ai hébergé un site de commerce électronique dans AWS-EC2 dans un type d'instance t3a.medium. Maintenant que le trafic augmente, l'utilisation du processeur est très élevée et le site cesse de fonctionner encore et encore. En regardant dans htop, mysql utilise un maximum de CPU.

Comme dans l'instance actuelle, vcpu n'est que de 2, je veux donc changer le type d'instance. Mais le problème est de savoir comment savoir lequel conviendrait le mieux à mon système?

Réponses

27 MLu Sep 15 2020 at 11:56
  1. Il est facile de modifier les types d'instances vers le haut, vers le bas ou sur le côté. Ne pas essayer de deviner lequel fonctionnera le mieux pour vous - à la place le tester . Si vous avez maintenant t3a.medium, essayez de passer à t3a.large . Ou vers m5.large - cela peut être moins cher si vous maximisez le t3a.large et que vous manquez constamment de crédits CPU (consultez l'onglet de surveillance dans les détails de l'instance).

    Si votre application est gourmande en mémoire, regardez r5. * instances, si c'est un regard lourd en CPU sur c5. * instances. Ils ont tendance à être moins chers que l'objectif général pour certaines charges de travail.

  2. La meilleure pratique consiste à découpler votre base de données de votre application / frontend Web , ne les hébergez pas sur la même instance. Déplacez la base de données vers le service AWS RDS - il la gérera pour vous, y compris les sauvegardes, les mises à niveau, le basculement, etc.

  3. Une fois que votre application est découplée de la base de données, regardez Auto-Scaling - au lieu de passer à une instance de plus en plus grande à mesure que votre trafic augmente, vous pouvez évoluer horizontalement en ajoutant de plus en plus d'instances plus petites, toutes configurées de la même manière. Cela vous permet de fonctionner avec moins d'instances pendant les périodes calmes (nuit, week-end) et d'en ajouter davantage pendant les périodes de pointe. De cette façon, votre facture horaire fluctuera avec la charge de trafic.

L' essentiel est qu'il n'y a pas de "meilleure instance EC2" - tout dépend de votre utilisation réelle.

La bonne chose est qu'il n'y a pas d'engagement à long terme dans AWS, il suffit de tester les choses et de faire évoluer l'architecture selon les besoins.

J'espère que cela pourra aider :)

4 Criggie Sep 16 2020 at 03:56

De plus, il existe un excellent site de comparaison sur https://www.ec2instances.info/ pour vous aider à choisir le type d'instance le plus rentable pour vos besoins.

Le simple fait d'augmenter la taille d'une instance peut ne pas convenir à vos besoins ou à votre budget.

Vous pouvez voir à partir de votre propre surveillance que l'hôte est plafonné sur le processeur - utilisez des outils internes ou l'onglet de surveillance AWS dans EC2. Remarque EC2 n'affiche pas l'utilisation de la mémoire, vous devrez obtenir ces informations à partir de vos propres outils.

Ainsi, le site ci-dessus (qui n'est pas officiel AWS) vous permet de choisir un processeur et une mémoire minimum, puis de trier le coût. Notez que la tarification varie d'un AWS DC à l'autre et que l'affichage du prix «mensuel» est plus facile à comprendre que la tarification à l'heure.


De plus, les types d'instances qui commencent par T (c'est-à-dire les instances t3, t2, t4g) utilisent tous des «crédits CPU». Vous ne pouvez donc pas utiliser les cœurs à 100% toute la journée. La quantité de CPU est basée sur un seau dans lequel vous pouvez boire, mais se recharge lentement.

Vous pouvez choisir d'activer "CPU illimité" pour les instances T *, mais cela coûte beaucoup et ne prend pas beaucoup avant de passer à une instance CPU dédiée comme un M5 devient moins cher.


EXEMPLE

Pour vous, un t3a.medium dispose de 4 Go de RAM et de 2 processeurs virtuels pendant 4 h 48 min par jour pour 35 $ US / mois

L'activation du processeur illimité pourrait augmenter ce chiffre à environ 80 $ / mois à 100% d'utilisation.

Un c5a.medium est la même spécification, mais dispose de processeurs 24 heures sur 24 pour 65 $ US / mois

Si vous avez besoin de plus de CPU, un c5a.xlarge donne 8 Go et 4vCPU pour 129 $ US / mois.

Remarques:

  • ces prix sont pour Singapour DC. D'autres varient.
  • Les types d'instances avec "a" en troisième position sont basés sur AMD Epyc. Cela peut ou non répondre à vos besoins. Ceux avec "g" sont basés sur Graviton2 qui sont ARM-64, et ceux qui commencent par "a" sont des instances de Graviton plus anciennes. Confus? D signifie disque et N signifie réseau plus rapide.

1 DeepShah Dec 17 2020 at 15:17

Nous avons rencontré des difficultés similaires avec les types d'instances EC2 t3a (t3a.medium) avec MySQL Server 5.7.32. L'utilisation du processeur serait de 100% tout le temps. Le passage à l'instance t3 a résolu notre problème.

Peut-être et je dis peut-être, MySQL n'est pas optimisé pour les instances T3a (AMD EPYC).