Frage Was ist die beste Vorgehensweise für die Kommunikation zwischen Amazon EC2-Instanzen?


Ich habe Amazon EC2-Instanzen für ein bevorstehendes Projekt eingerichtet. Sie sind alle Mikroinstanzen, die Ubuntu Server 64bit ausführen. Hier ist, was ich bisher eingerichtet habe:

  • Webserver - Apache
  • Datenbankserver - MySQL
  • Entwicklungsserver - Apache und MySQL
  • Dateiserver - SVN & Bacula (Backups erfolgen in S3-Buckets)

Derzeit gibt es nur einen Webserver, aber irgendwann wird es mehr geben.

Meine erste Frage ist, was ist das?   beste und sicherste Möglichkeit für Amazon EC2   Instanzen, um zwischen jedem zu kommunizieren   andere? Momentan benutze ich SSH, ist   dass die beste Methode?

Laut Amazon werden Instanzen, die untereinander über ihre Elastic-IP-Adressen kommunizieren, Gebühren für die Datenübertragung erhoben. Instanzen, die mit ihren privaten IP-Adressen kommunizieren, können dies jedoch kostenlos tun. Leider werden private IP-Adressen geändert, wenn die Instanz gestoppt und neu gestartet wird.

Das ist meine zweite Frage, wie   Sie nutzen Amazon-Instanzen   Private IPs, wenn sie nicht statisch sind?

Ich weiß, dass die Instanzen wahrscheinlich nicht gestoppt und sehr oft gestartet werden, aber trotzdem, wenn die IP-Adresse in verschiedenen Konfigurationsdateien ist, würde es ein Schmerz sein, sie alle durchlaufen und ändern zu müssen.

Ich bin in erster Linie besorgt über die Webserver, die Zugriff auf den Datenbankserver und den Dateiserver benötigen, der Zugriff auf alle Instanzen beim Durchführen von Sicherungen benötigt.

Hinweis:  Ich habe Bacula noch nie benutzt und ich habe es noch nicht eingerichtet, aber ich nehme an, dass es die IP-Adressen der Clients benötigen wird, um sie zu sichern.


41
2018-01-27 16:08


Ursprung


+1 - Ich würde elastische private IPs lieben. Beachten Sie auch, dass ich denke, dass Sie nicht zwischen den Regionen über private IPs kommunizieren können. - Joel K
Ich denke, Sie werden feststellen, dass eine einzelne m1.small Ihnen eine viel bessere Leistung als mehrere t1.micro geben wird. Aktualisieren Sie dann auf c1.medium. Starten Sie dann mehrere c1.medium oder verwenden Sie einen noch größeren Instanztyp. Beachten Sie jedoch, dass m1.small und c1.medium nur 32-Bit und nicht 64-Bit unterstützen. - Eric Hammond


Antworten:


Lesen Sie den Artikel von Eric Hammond, in dem erläutert wird, wie Sie elastische IP-Adressen auch innerhalb von EC2 verwenden können. Diese Methode führt zu keinen Bandbreitengebühren, da das Auflösen der Elastic IP-Adresse (nach Name) in EC2 die Private IP-Adresse zurückgibt.

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

Für weitere Optionen habe ich einen Artikel, der einige Alternativen untersucht:

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


29
2018-01-28 00:18



Vielen Dank für Ihre Antwort. Ich denke immer mehr, dass dynamisches DNS der richtige Weg ist, obwohl ich noch nie einen DNS eingerichtet habe. Kennen Sie Websites, die eine detaillierte Anleitung zur Vorgehensweise bieten? - ks78


Stellen Sie Ihre EC2-Instanz in einer AWS Virtual Private Cloud (VPC) bereit. Wenn Sie Ihre VPC konfigurieren, weisen Sie allen EC2-Instanzen in der VPC CIDR zu, und die interne IP ist statisch.


6
2017-09-05 15:21



Dies ist bei weitem der beste Ansatz. - ceejayoz


  • Sicherste Kommunikationsmethode

SSH ist eine sehr gute Methode, um Daten zwischen verschiedenen Servern zu übertragen. Wenn Sie jedoch nach einer dauerhaften Verbindung (z. B. zu einer Datenbank) suchen, können Sie jede Art von verschlüsselter Tunneling-Software wie z stunnel

  • Nicht statische private IPs

Da es keine Möglichkeit gibt, statische private IPs zu verwenden, können Sie eine automatische Serverbereitstellung verwenden. Es gibt mehrere Tools wie mcollective, capistrano oder func, mit denen Sie Ihre neue Instanz bei einem zentralen designierten Server registrieren und Aktionen für mehrere Instanzen generieren können darauf basierende Maschinen


2
2018-01-27 16:12



Ich hatte ursprünglich dieselbe Frage zu StackOverflow gestellt. Dort schlug jemand vor, einen DNS-Server zu verwenden. Wenn sich also die privaten IP-Adressen ändern, ist das egal, weil sie die von DNS bereitgestellten Namen für die Kommunikation verwenden. Was ist deine Meinung zu dieser Lösung? - ks78
Es ist keine schlechte Lösung, wenn Sie in der Lage sind, eine dynamische DNS-Zone auf dem neuesten Stand zu halten, obwohl Sie für alle Ihre Instanzen einen primären DNS-Server verwenden müssen. Deshalb schlug ich stattdessen mcollective oder capistrano vor, da dies auch den Vorteil bietet, komplexe Operationen über Ihre Knoten hinweg auszuführen - lynxman
Vielen Dank. Ich habe mich nur gefragt, wie deine Meinung zu dieser Lösung lauten würde. Ich werde in Mcollective und Capistrano schauen. - ks78
Entschuldigung, einen alten Thread wieder zu beleben, aber sind private IPs auf ec2 immer noch nicht statisch? Das war nicht das, was ich bei einem brandneuen ec2-Setup erlebt habe - die Netzwerk-Schnittstellen bleiben bestehen, nachdem ich Server gestoppt habe und private IP-Adressen haben sich bei mir noch nicht geändert. Ich scheine auch in der Lage, sekundäre private IP-Adressen zu wählen, wenn sie benötigt werden. - icyitscold