Vraag Wat is de beste werkwijze voor communicatie tussen Amazon EC2-instanties?


Ik heb Amazon EC2-instanties opgezet voor een aanstaand project. Het zijn allemaal micro-instanties met Ubuntu Server 64bit. Dit is wat ik tot nu toe heb ingesteld:

  • Web Server - Apache
  • Database server - MySQL
  • Ontwikkelingsserver - Apache & MySQL
  • Bestanden server - SVN & Bacula (back-ups worden uitgevoerd naar S3-buckets)

Momenteel is er slechts één webserver, maar uiteindelijk zullen er meer zijn.

Mijn eerste vraag is: wat is het   beste, meest veilige manier voor Amazon EC2   instanties om onderling te communiceren   andere? Momenteel gebruik ik SSH, is   dat de beste methode?

Volgens Amazon, zullen instanties die onderling communiceren met behulp van hun Elastic IP-adressen, kosten voor gegevensoverdracht in rekening worden gebracht. Instanties die communiceren via hun privé-IP-adressen, kunnen dit echter gratis doen. Helaas lijkt het erop dat private IP's veranderen als het exemplaar wordt gestopt en opnieuw wordt opgestart.

Dus dat is mijn tweede vraag, hoe gaat het   u maakt gebruik van Amazon-instanties '   Private IP's als ze niet statisch zijn?

Ik weet dat de instanties waarschijnlijk niet zullen worden gestopt en zeer vaak worden gestart, maar toch, als het IP-adres zich in verschillende configuratiebestanden bevindt, zou het lastig zijn om ze allemaal te doorlopen en te wijzigen.

Ik maak me voornamelijk zorgen over de webservers, die toegang nodig hebben tot de databaseserver en de bestandsserver, die toegang moeten hebben tot alle instanties bij het uitvoeren van back-ups.

Notitie:  Ik heb Bacula nog nooit eerder gebruikt en ik heb het nog niet opgezet, maar ik neem aan dat het de IP-adressen van de clients nodig heeft om een ​​back-up te maken.


41
2018-01-27 16:08


oorsprong


+1 - Ik zou houden van elastische privé-IP's. Merk ook op dat ik denk dat je niet kunt communiceren tussen regio's via privé-IP's. - Joel K
Ik denk dat je zult merken dat een enkele m1.small je veel betere prestaties gaat geven dan meerdere t1.micro. Upgrade dan naar c1.medium. Start dan met het starten van meerdere c1.medium of gebruik een nog groter exemplaarstype. Merk echter op dat m1.small en c1.medium alleen 32-bits ondersteunen, niet 64-bits. - Eric Hammond


antwoorden:


Bekijk het artikel van Eric Hammond over hoe je Elastic IP-adressen kunt gebruiken, zelfs vanuit EC2. Deze methode resulteert NIET in enige bandbreedtelast omdat het oplossen van het elastische IP-adres (op naam) binnen EC2 het privé-IP-adres retourneert.

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

Voor meer opties, heb ik een artikel dat enkele alternatieven onderzoekt:

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


29
2018-01-28 00:18



Bedankt voor uw reactie. Ik denk meer en meer dat dynamische DNS de manier is om te gaan, hoewel ik nog nooit een DNS heb opgezet. Kent u websites die een gedetailleerde uitleg bieden van hoe u dit moet doen? - ks78


Implementeer uw EC2-instantie in een AWS Virtual Private Cloud (VPC). Wanneer u uw VPC configureert, wijst u CIDR toe aan alle EC2-instanties in de VPC en zal het interne IP-adres statisch zijn.


6
2017-09-05 15:21



Dit is veruit de beste aanpak. - ceejayoz


  • Meest veilige communicatiemethode

SSH is een zeer goede methode voor het overbrengen van gegevens tussen verschillende servers, maar als u op zoek bent naar zoiets als een permanente verbinding (bijvoorbeeld naar een database), kunt u elke vorm van gecodeerde tunneling-software gebruiken, zoals stunnel

  • Niet-statische privé-IP's

Omdat statische privé-IP's niet op de juiste manier kunnen worden gebruikt, kunt u hiervoor een of andere automatische serverimplementatie gebruiken, er zijn verschillende hulpmiddelen zoals mcollective, capistrano of func waarmee u uw nieuwe exemplaar kunt registreren bij een centraal aangewezen server en acties kunt genereren op meerdere machines op basis daarvan


2
2018-01-27 16:12



Ik had oorspronkelijk dezelfde vraag gepost op StackOverflow. Daar stelde iemand voor om een ​​DNS-server te gebruiken, dus als de Private IP's veranderen, zou het er niet toe doen, omdat ze DNS-opgegeven namen zouden gebruiken om te communiceren. Wat is jouw mening over die oplossing? - ks78
Het is geen slechte oplossing als u in staat bent om een ​​dynamische DNS-zone up-to-date te houden, maar omdat u deze evenals een primaire DNS-server voor al uw instances zou moeten gebruiken, zou dit u ook één faalpunt geven, daarom heb ik in plaats daarvan mcollective of capistrano voorgesteld, omdat dat je ook het voordeel zou geven van het uitvoeren van complexe bewerkingen op al je nodes - lynxman
Bedankt. Ik vroeg me af wat je mening over die oplossing zou zijn. Ik zal kijken naar mcollective en capistrano. - ks78
sorry om een ​​oude thread nieuw leven in te blazen maar zijn private IP's nog steeds niet-statisch op ec2? Dat is niet wat ik heb meegemaakt op een gloednieuwe ec2-setup - de netwerkinterfaces blijven hangen nadat ik stop servers en privé IP-adressen zijn nog niet veranderd. Ik ben ook in staat om secundaire privé-IP-adressen te kiezen, indien nodig. - icyitscold