Яка найкраща практика для зв'язку між примірниками Amazon EC2?


41

Я встановлював екземпляри Amazon EC2 для майбутнього проекту. Всі вони є мікроінстанціями, на яких працює 64-бітний Ubuntu Server. Ось що я зараз налаштував:

  • Веб-сервер - Apache
  • Сервер баз даних - MySQL
  • Сервер розробки - Apache & MySQL
  • Файловий сервер - SVN і Bacula (резервне копіювання робиться у відра S3)

Наразі існує лише один веб-сервер, але з часом їх буде більше.

Перше моє запитання - який найкращий, найбезпечніший спосіб спілкування між собою випадків Amazon EC2? В даний час я використовую SSH, це найкращий метод?

За словами Amazon, за випадки спілкування між собою за допомогою своїх Elastic IP-адрес стягується плата за передачу даних. Однак випадки спілкування за допомогою приватних IP-адрес можуть робити це безкоштовно. На жаль, виявляється, що приватні IP-адреси змінюються, якщо екземпляр зупинено та перезапущено.

Отож, це моє друге питання: як ви можете використовувати приватні IP-адреси примірників Amazon, якщо вони не є статичними?

Я знаю, що екземпляри, ймовірно, не зупинятимуться і запускатимуться дуже часто, але все-таки, якщо IP-адреса є в різних файлах конфігурації, буде боляче пройти їх усі і змінити.

Мене в першу чергу турбують веб-сервери, яким буде потрібен доступ до сервера баз даних та файлового сервера, які потребують доступу до всіх примірників при виконанні резервних копій.

Примітка: я ніколи раніше не використовував Bacula, і ще не налаштовував його, але я припускаю, що для резервного копіювання потрібні будуть IP-адреси клієнтів.


2
+1 - Я б хотів еластичні приватні IP-адреси. Також врахуйте, що я думаю, ви не можете спілкуватися між регіонами через приватні IP-адреси.
Джоель К

Я думаю, ви побачите, що один m1.small забезпечить вам набагато кращі показники, ніж кілька t1.micro. Потім перейдіть до c1.medium. Потім почніть запускати кілька c1.medium або використовувати ще більший тип екземпляра. Однак зауважте, що m1.small та c1.medium підтримують лише 32-розрядні, а не 64-бітні.
Ерік Хаммонд

Відповіді:


29

Перегляньте статтю Еріка Хаммонда, де пояснюється, як використовувати IP-адреси Elastic навіть зсередини EC2. Цей метод НЕ призводить до жодної плати за пропускну здатність, оскільки розв’язування еластичної IP-адреси (за назвою) зсередини EC2 повертає приватну IP-адресу.

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

Для отримання додаткових варіантів у мене є стаття, де розглядаються декілька альтернатив:

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


Дякую за Вашу відповідь. Я все більше думаю про те, що динамічний DNS - це шлях, хоча я ніколи раніше не встановлював DNS. Чи знаєте ви про будь-які сайти, які пропонують детальну інформацію про те, як це зробити?
ks78

6

Розгорніть свій екземпляр EC2 у віртуальній приватній хмарі AWS (VPC). Під час налаштування VPC ви призначите CIDR всім екземплярам EC2 в VPC, і внутрішній IP буде статичним.


Це далеко не найкращий підхід.
ceejayoz

2
  • Найбільш безпечний спосіб спілкування

SSH - це дуже хороший метод для передачі даних між різними серверами, але якщо ви шукаєте щось на зразок постійного з'єднання (наприклад, до бази даних), ви можете використовувати будь-яке зашифроване програмне забезпечення для тунелювання, наприклад stunnel

  • Нестатичні приватні IP-адреси

Оскільки немає статичних приватних IP-адрес, ви можете використовувати для цього автоматичне розгортання сервера, є кілька інструментів, таких як mcollective, capistrano або func, які дозволять вам зареєструвати новий екземпляр на центральному призначеному сервері та генерувати дії на декількох машини, засновані на цьому


Я спочатку опублікував те саме питання в StackOverflow. Там хтось запропонував використовувати DNS-сервер, тому, якщо приватні IP-адреси змінити, це не має значення, оскільки вони використовуватимуть імена, надані DNS, для спілкування. Яка ваша думка щодо цього рішення?
ks78

1
Це не є поганим рішенням, якщо ви зможете постійно оновлювати динамічну зону DNS, хоча, оскільки вам потрібно буде використовувати це як первинний сервер DNS для всіх своїх випадків, це також дасть вам єдину точку відмови, саме тому я запропонував mcollective або capistrano, тому що це також дасть вам перевагу у виконанні складних операцій у ваших вузлах
lynxman

Спасибі. Я просто цікавився, якою буде ваша думка про це рішення. Я розберуся на колектив та капістрано.
ks78

Вибачте за відродження старої теми, але приватні IP-адреси все ще нестатичні на ec2? Це не те, що я був свідком абсолютно нового налаштування ec2 - мережеві інтерфейси залишаються навколо, коли я зупиняю сервери та приватні IP-адреси на мене ще не змінилися. Я також, здається, зможу вибрати вторинні приватні IP-адреси, якщо це потрібно.
icyitscold
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.