web-dev-qa-db-fra.com

Quelle est la meilleure pratique pour la communication entre les instances Amazon EC2?

J'ai configuré des instances Amazon EC2 pour un projet à venir. Ce sont tous des micro-instances, exécutant Ubuntu Server 64bit. Voici ce que j'ai configuré jusqu'à présent:

  • Serveur Web - Apache
  • Serveur de base de données - MySQL
  • Serveur de développement - Apache & MySQL
  • File Server - SVN & Bacula (les sauvegardes sont effectuées sur des compartiments S3)

Actuellement, il n'y a qu'un seul serveur Web, mais il y en aura éventuellement d'autres.

Ma première question est la suivante: quel est le meilleur moyen le plus sûr pour les instances Amazon EC2 de communiquer entre elles? Actuellement, j'utilise SSH, est-ce la meilleure méthode?

Selon Amazon, les instances communiquant entre elles à l'aide de leurs adresses IP élastiques seront facturées des frais de transfert de données. Cependant, les instances communiquant à l'aide de leurs adresses IP privées peuvent le faire gratuitement. Malheureusement, il semble que les adresses IP privées changent si l'instance est arrêtée et redémarrée.

C'est donc ma deuxième question, comment utilisez-vous les adresses IP privées des instances Amazon si elles ne sont pas statiques?

Je sais que les instances ne seront probablement pas arrêtées et démarrées très fréquemment, mais quand même, si l'adresse IP est dans divers fichiers de configuration, il serait difficile de les parcourir toutes et de les changer.

Je suis principalement préoccupé par les serveurs Web, qui auront besoin d'accéder au serveur de base de données et au serveur de fichiers, qui auront besoin d'accéder à toutes les instances lors de l'exécution des sauvegardes.

Note: Je n'ai jamais utilisé Bacula auparavant et je ne l'ai pas encore configuré, mais je suppose qu'il aura besoin des adresses IP des clients pour les sauvegarder.

41
ks78

Consultez l'article d'Eric Hammond expliquant comment utiliser les adresses IP élastiques même depuis EC2. Cette méthode n'entraîne PAS de frais de bande passante car la résolution de l'adresse IP élastique (par son nom) depuis EC2 renvoie l'adresse IP privée.

http://alestic.com/2009/06/ec2-elastic-ip-internal

Pour plus d'options, j'ai un article examinant quelques alternatives:

http://shlomoswidler.com/2010/06/track-changes-to-your-dynamic-cloud-services-automatically.html

29
Shlomo Swidler

Déployez votre instance EC2 dans un cloud privé virtuel AWS (VPC). Lorsque vous configurez votre VPC, vous affecterez CIDR à toutes les instances EC2 dans le VPC et l'IP interne sera statique.

6
user188724
  • Méthode de communication la plus sécurisée

SSH est une très bonne méthode pour transférer des données entre différents serveurs mais si vous cherchez quelque chose comme une connexion permanente (à une base de données par exemple), vous pouvez utiliser n'importe quel type de logiciel de tunneling crypté comme stunnel

  • IP privées non statiques

Puisqu'il n'y a aucun moyen d'avoir des IP privées statiques, vous pouvez utiliser une sorte de déploiement automatique de serveur pour cela, il existe plusieurs outils comme mcollective, capistrano ou func qui vous permettront d'enregistrer votre nouvelle instance sur un serveur désigné central et de générer des actions sur plusieurs machines basées sur cette

2
lynxman