Question

J'ai passé la journée à expérimenter avec AWS pour la première fois. Une instance EC2 est en cours d'exécution et j'ai monté un Elastic Block Store (EBS) pour conserver les bases de données MySQL.

Est-il judicieux de placer également mes fichiers d'application Web sur EBS ou dois-je simplement les déployer sur le système de fichiers EC2 normal?

Était-ce utile?

La solution

Lorsque vous parlez de vos fichiers d'application Web, je ne sais pas exactement de quoi vous parlez.

Si vous faites référence à votre code déployé, il n’a probablement aucun sens à utiliser EBS. Ce que vous voulez faire est de créer une AMI avec vos conditions préalables, puis d’avoir un script pour créer une instance de cette AMI et déployer votre dernier code. Je vous recommande vivement d’automatiser et de tester ce processus car il est facile d’oublier certains paramètres que vous devez modifier manuellement quelque part.

Si vous stockez des fichiers de données modifiés par l'application en cours d'exécution, EBS peut avoir un sens. S'il s'agit de quelque chose comme des images téléchargées par l'utilisateur ou similaires, vous constaterez probablement que S3 vous en fournit un modèle beaucoup plus simple.

EBS serait utile pour: les bases de données, les index Lucene, les CMS basés sur fichiers, les référentiels SVN ou tout autre système similaire.

Autres conseils

EBS vous donne un stockage persistant. Ainsi, en cas d'échec de votre instance EC2, les fichiers existent toujours. Apparemment, leurs performances d’IO sont accrues, mais j’aimerais les tester pour en être sûr.

Si vos fichiers doivent changer fréquemment (comme le fait une base de données) et que vous ne voulez pas continuer à les synchroniser sur S3 (ou ailleurs), un fichier EBS est un bon choix. Si vous apportez des modifications peu fréquentes et que vous pouvez synchroniser manuellement (ou par script) les fichiers selon vos besoins, stockez-les dans S3. Si vous devez arrêter ou si vous perdez votre instance pour une raison quelconque, vous pouvez simplement la supprimer lorsque vous démarrez la nouvelle instance. Cela suppose également que vous vous souciez des coûts. Si le coût n'est pas un problème, utiliser l'EBS est moins compliqué. Je ne sais pas si vous envisagez de créer un fichier EBS distinct pour votre base de données et vos fichiers Web, mais si vous ne prévoyez qu'un seul EBS et que vous disposez de suffisamment d'espace libre pour vos fichiers Web, le système EBS est moins compliqué. . Si c’est la performance qui vous préoccupe, comme mentionné, il est préférable de tester votre application en particulier.

Notre approche consiste à avoir un script pré-déployé sur notre AMI qui récupère la version la plus récente et la plus performante du code à partir du contrôle de code source. Il est donc très simple de lancer rapidement de nouvelles instances ou de mettre à jour toutes les instances en cours (nous les sortons de la rotation d’équilibrage de charge, exécutons le script et les remettons dans la rotation).

MISE À JOUR:

En lisant entre les lignes, il semble que vous montiez un volume EBS distinct sur une instance sauvegardée par magasin d'instances. AWS a récemment introduit des instances basées sur EBS qui présentent une multitude d'avantages par rapport aux anciennes instances de magasin d'instances. Cependant, je monte toujours mes données MySQL sur une partition EBS distincte afin de pouvoir facilement les monter sur un autre serveur si nécessaire.

Je suggère fortement une instance sauvegardée par EBS avec un volume EBS distinct pour les données MySQL.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top