Как разрешить взаимодействие между EC2-экземплярами в одной группе firewall - PullRequest
0 голосов
/ 09 августа 2011

Ситуация

Давайте возьмем следующий дизайн:

App servers      DB servers
- Server A       - Server X
- Server B       - Server Y
- Server C       - Server Z

Каждый сервер приложений имеет как app-server-group, так и db-server-group.Каждый сервер БД находится только в db-server-group.

. Хотя я предполагал, что серверы в одной и той же группе брандмауэров смогут подключаться друг к другу, оказалось, что они этого не делают: p.


Требования

  • Серверы A, B и C должны иметь возможность подключаться к X, Y, Z
  • Сервер X, Y и Z вообще не должен быть доступенснаружи db-server-group.
  • Сервер A, B и C должен быть доступен (через порт 80) снаружи app-server-group.
  • Сервер A, B, C, X, Yи / или Z никогда не должен быть жестко закодирован.Поэтому я не хочу никаких исключений [A, B, C, X, Y, Z] - правил межсетевого экрана.Это потому, что он должен быть отказоустойчивым и автоматически масштабируемым.Может случиться так, что A выйдет из строя, а идентичный экземпляр D (с новым IP) выйдет вверх, он сможет мгновенно подключиться к X, Y, Z, не меняя правила брандмауэра.Так что никаких IP-псевдонимов (эластичных IP-адресов) тоже нет ...
  • Пока IP-адреса не заданы жестко, я смогу использовать для этого IP-таблицы.
  • Использование аутентификации (пользователем / pass) для X, Y и Z не вариант.Базовая база данных не обеспечивает этого.

Вопрос

Как я могу заставить эту работу =)?

1 Ответ

3 голосов
/ 14 августа 2011

Вы правы, все серверы, назначенные в группу db-server-group, должны иметь доступ к портам, которые открыты на всех серверах в группе db-server-group.Вы уверены, что открыли правильные порты?Вы уверены, что у вас нет брандмауэра на самих ящиках, блокирующего вас (например, брандмауэр Windows, если вы работаете в Windows).

Исходя из ваших требований, это не звучит так, как будто вы хотите, чтобы вашСерверы приложений в группе безопасности серверов Db.Вы можете просто открыть порты в группе db-server-security для группы app-server-group.Источником этого правила будет что-то вроде sg-xxxxxxxx, а не IP-адрес.Это значение sg-xxxxxxx можно найти на вкладке сведений группы приложений-сервера в консоли управления AWS, которая называется «идентификатор группы».Если вы используете сервер MS SQL, вам нужно разрешить tcp-трафик на 1433. Как вы хотите, никакие IP-адреса или другая аутентификация не будут задействованы для пропуска трафика через.

, тогда у вас будет включен порт 80app-server-group, открытая для источника 0.0.0.0.

...