EC2 - Stockage partagé - S3FS ou EBS?


9

Construire mon service Web sur EC2 en ce moment et avoir une seule instance derrière un équilibreur de charge. Je vais bien sûr répondre à plusieurs cas.

Mon idée initiale était d'exécuter toutes les instances d'esclaves stupides et d'utiliser S3 comme stockage local. Pour cela, j'ai commencé à utiliser S3FS mais ce n'est pas vraiment prêt, d'après ce que j'ai vu, pour une utilisation en production dans un environnement de service Web. L'écriture des journaux semble apparaître très tard, sinon jamais. De nombreux problèmes avec la mise en cache étrange, même sans indicateur de cache, etc. C’est généralement un cauchemar à développer.

Mais les alternatives semblent peu nombreuses. L'un est évidemment les volumes EBS, qui peuvent être attachés à une seule instance. Quelques solutions pour partager cela: -

  • Partage SMB avec d'autres instances. Avoir un maître et les autres esclaves - obv a besoin d'une redondance intégrée ici avec plusieurs volumes EBS peut-être?
  • Partage Rsync vers d'autres boîtes. Cela semble douloureux, étant donné qu'il n'est pas persistant et sera mis à jour périodiquement. Potentiellement correct, si des scripts sont forcés de se mettre à jour lorsque des changements majeurs se sont produits.

La question est ... que font les gens? Cela semble un cas d'utilisation tout à fait commun, mais la variété des réponses trouvées dans les forums et même ici sur SF, semble suggérer qu'il n'y a pas de réponse concise ... aide demandée!

Réponses:


0

En effet, il existe de nombreuses réponses, en fonction de votre connaissance des options, de ce que vous êtes à l'aise, de ce que vous partagez et de la fréquence à laquelle il va être synchronisé, de la façon dont il doit être "synchronisé", de la façon dont il " ll sera utilisé (de rechange pour Heartbeat? Lecture seule vs une instance d'écriture? Instances équilibrées?) Et dans quelle mesure vous voulez que la configuration soit et quelle application vous utilisez (bases de données qui peuvent se synchroniser? Applications conçues pour le stockage partagé) ? ...)

Vous pouvez utiliser Rsync pour planifier des synchronisations, des partages à partir d'un serveur de fichiers, d'un serveur NFS, du "logiciel RAID 1" DRBD, etc ... cela dépend de votre cas d'utilisation particulier et de la façon dont vous sauvegardez les données.

La réponse courte est qu'il n'y a pas de réponse à votre question car cela dépend du cas d'utilisation.


Merci Bart. Je craignais ce genre de réponse, même s'il fallait s'y attendre je suppose! Le cas d'utilisation est ... J'ai un webservice piloté par PHP - il héberge également des images, css et le reste (tout cela pourrait être porté en standard s3 / cloudfront), les DB sont sur RDS. Les seules choses écrites sont des fichiers journaux passés vraiment. - Je me dirige vers l'utilisation d'un EBS avec un rsync pour le garder à jour de s3. Et un script pour pousser les mises à jour manuellement.
waxical

2

Un volume EBS qui pousse vers S3 / CloudFront semble être la meilleure chose à faire ici, surtout si vous êtes préoccupé par les images, CSS, javascript, ce genre de choses.

EBS sera plus facile à prendre en photo / à sauvegarder que S3, en particulier pour le système de fichiers du serveur.

Vous pouvez également désigner un serveur comme "maître" et un autre comme "esclave" et n'apporter des modifications qu'au "maître" par exemple.

En ce qui concerne la journalisation, jetez un œil à certains des services de journalisation dans le cloud comme http://loggly.com/ ou https://papertrailapp.com/ .

HTH

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.