Question

Je veux publier un site Web sur les serveurs d'Amazon, que:

  1. Runs CakePHP
  2. Utilise MySQL pour stocker des données
  3. Permet aux utilisateurs de télécharger audio par flash (actuellement en utilisant un Flash Media Server hébergé), et d'écouter les fichiers plus tard

Ai-je besoin d'Amazon EC2 pour le site, RDS pour la base de données MySQL, et CloudFront pour le FMS? Je voudrais vraiment une visite virtuelle dont les services que je devrais utiliser.

Merci.

Était-ce utile?

La solution

Tout d'abord, vous avez besoin d'EC2 afin d'avoir une machine virtuelle, où vous pouvez installer Apache, PHP et votre application Web.

Ensuite, vous avez aussi besoin d'un serveur de base de données et référentiel de données pour les fichiers multimédias. La méthode recommandée est exactement ce que vous suggérez. RDS pour MySQL et CloudFront comme référentiel de fichiers

Dans un premier temps aucun des services ci-dessus (RDS, CloudFront et même EBS) étaient disponibles. Les développeurs ont aucun moyen d'utiliser une base de données MySQL, car même si elle a été installée dans une instance EC2, l'instance n'est pas garanti pour rester opérationnel et si l'instance est perdue, les données sont également perdues. Pour cette raison, EBS a été introduite. Il a créé un stockage monté avec persistance garanti que vous pouvez accéder à partir de l'instance EC2. Théoriquement, vous pouvez y installer MySQL et l'utiliser pour stocker les fichiers flash. Si vous ne souhaitez que pour servir des fichiers via le protocole HTTP, il n'y a pas de problème en utilisant EBS.

CloudFront a cependant quelques avantages:

  • Les utilisateurs sont automatiquement acheminés vers l'emplacement de bord le plus proche pour la livraison de haute performance de votre contenu.
  • Vous pouvez également l'utiliser pour diffuser du contenu à travers le protocole RTMP.
  • Vous n'avez pas à vous soucier de la taille du stockage. Avec EBS vous créez un stockage avec une taille spécifique. Cela pourrait être un problème si vous trouvez plus tard que vous avez besoin de plus de stockage. Avec CloudFront les fichiers sont installés dans S3 et vous n'avez pas besoin de se soucier de leur taille.
  • Vous ne perdez pas la capacité du serveur web. Si vous utilisez EBS, les fichiers seront servis par le serveur dans EC2.

Vous pouvez également utiliser S3, mais vous ne pouvez pas utiliser le protocole RTMP et vous devez créer manuellement des liens vers vos fichiers. En outre, il ne serait pas possible d'utiliser votre nom de domaine pour les fichiers.

RDS a aussi quelques avantages sur l'installation de MySQL EC2, EBS:

  • sauvegardes de base de données automatisée
  • Vous pouvez surveiller votre base de données avec Amazon CloudWatch (service gratuit)

Autres conseils

Vous avez besoin de lancer EC2 instance et créer votre serveur LAMP. RDS est bon si vous n'avez pas besoin de gérer MySql db vous, mais un facteur limitant de RDS est que vous ne pouvez pas avoir la réplication DB.

Pour le stockage persistant, vous pouvez utiliser EBS ou S3 pour le fichier de données.

Une chose mentionnée dans aucune de ces réponses est la sécurité qui peut (ou non) besoin d'aller autour de votre accès aux fichiers. réseaux Cloud sont bonnes pour les données accessibles au public, mais je n'ai pas vu un réseau de cloud encore qui fournira un niveau granulaire de l'accès aux fichiers sur une base par utilisateur. Bien que vous soyez en mesure de masquer les fichiers pour accéder url afin qu'il ne soit pas facile à séquentiellement ID de fichier audio estimation, qui ne peut pas être suffisant si les gens gardent audio privée. Ne dis pas que ne fait pas le faire, juste la décision avec soin.

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