Elastic Load Balancer & SSL termination

Je configure une application Rails sur AWS: 1) tout le trafic doit être crypté ssl 2) fluctuera fortement dans la quantité de trafic sur une base hebdomadaire 3) sera maintenu par quelqu'un qui est un codeur plus fort que sysadmin

Je pense que la terminaison SSL sur un équilibreur de charge élastique soutenu par de petites instances ec2 exécutant nginx et licorne

Un petit sous-set des requests prendra plus de 10s, à cause de cela, je discute également en utilisant «mince» au lieu de «licorne».

Ma question est la suivante: Est-ce que c'est sain d'esprit? Est-ce que je pèse sur les problèmes de coût, de maintenance, de security ou de performance?

One Solution collect form web for “Elastic Load Balancer & SSL termination”

Plus qu'il est sain ou pas, si vous n'êtes pas un administrateur système et vous l'occupez, vous deviendrez un administrateur, très rapide. Es-tu prêt pour ça? 🙂 Je pourrais manquer le point ici, mais permettez-moi de dire un peu de mon expérience étant un mec ruby ​​jouant en tant que sysadmin sur l'Amazonie:

Il y a beaucoup de trucs que vous devez faire pour exécuter sur l'Amazonie: – Le ELB (Elastic load balancer) sur amazon n'est qu'un logging CNAME, de sorte que vous ne pouvez pas faire en sorte que votre domaine indique le code ELB, donc vous devrez avoir un server web avec un ip élastique pour avoir un .htaccess ou une reflection ou tout ce qui est le rewrite sur nginx ou unicorn. Planifiez-le pour qu'il ne vous soit pas returnné.

En ce qui concerne le mince vs la licorne, c'est une stratégie de design au-delà de l'Amazonie dans ce cas. Je n'ai jamais utilisé de fines, mais j'ai entendu dire que je pense bien pour les combinaisons de connection longue forme de comète. Amazon devrait être très bien pour les connections de longue durée, IMHO. Si vous souhaitez même aller plus en security, vous pouvez utiliser les cookies collants pour vous assurer que le browser client ne colle à un seul server.

"Est-ce que je me pèse dans un bourbier de coût?"

Oui, il devient cher rapidement sur l'Amazonie.

"Est-ce que je suis entré dans un bourdonnement de la facilité d'entretien?"

Oui et non. J'avais l'habitude d'avoir les machines "à quelques milles" où je pouvais aller à la remise à zéro ou à replace un disque dur. Sur l'Amazonie, vous devez être prêt à faire sortir une de vos machines et vous devrez la redémarrer. Donc, vous devez planifier soit d'avoir une image forte, soit de le mettre à jour, soit d'aller chercher un chef ou une marionnette pour gérer vos servers (et devenir fou, si difficile à l'installer, m'a pris un mois, mais j'ai appris de 0)

«Est-ce que je suis dans un bourdonnement de performance?

Rappelez-vous que le disque io est loin d'être idéal, donc DB pour les écritures devient lent si votre database fait beaucoup d'écriture, certainement faites un essai simple pour vous assurer que la vitesse est suffisante. Et aussi, vous devrez utiliser EBS pour les files de database.

La vitesse et la memory du processeur sont très bonnes. Je ne m'inquiéterais pas.

Et aussi, j'irais de plus grandes instances avant d'aller horizontalement sur de nombreuses petites instances, sauf si vous prévoyez de ne plus avoir de ports en raison de ces longues connections de mise en commun. Si vous souhaitez avoir de meilleures performances, il est less coûteux de monter verticalement jusqu'à ce que vous atteigniez Xlarge, au lieu de faire tourner des tonnes de machines.

"Est-ce que je suis entré dans un bourdonnement de la facilité d'entretien?" — encore

Si vous avez une tonne de petites machines, vous voulez élastiser les machines en haut et en bas, et c'est un souci de le faire.

Si vous souhaitez un développeur convivial, j'irais avec EngineYard et vérifie si vous pouvez vous déployer avec leur service. Ça vaut le coup.

N'hésitez pas à poser des questions!

  • Déploiement de l'application sinatra sur les sous-réseaux d'applications de rails (unicorn et nginx)
  • Configuration nginx pour le deployment subdir de rails
  • Où le vernis va-t-il généralement dans une stack Web Rails?
  • Rails, Capistrano, Nginx, Unicorn - L'application a déjà été initialisée (RuntimeError)
  • L'application a été pressée, puis les servers ont été détenus. J'ai ajouté 8 servers de plus, toujours trop lent
  • Comment charger des variables d'environnement avec Unicorn
  • Rails + Nginx + Unicorn multiples applications
  • Forward IP réelle via Haproxy => Nginx => Unicorn
  • Gitlab ne fonctionne pas à cause de la licorne
  • Sudo n'effectuera pas de command comme autre user
  • Linode Debian + rvm + nginx + Unicorn tue le maître au démarrage ou ne commence pas unicorn
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de réseau.