2015-11-18 4 views
1

Я пытаюсь подключить свое приложение, работающее на одном экземпляре EC2, к MongoDB, работающему на другом экземпляре EC2. Я уверен, что проблема в настройках безопасности, но я не совсем уверен, как с этим справиться.AWS, NodeJS - Подключение приложения к Mongodb на другом экземпляре EC2

Во-первых, экземпляр моего приложения находится в группе автомасштабирования, которая находится за ELB. Параметры входящей безопасности для экземпляра и ELB позволяют получить доступ к порту 80 из любого места, а также весь трафик из собственной группы безопасности.

Экземпляр EC2, который запускает Mongo, может принимать соединения, если группа безопасности для этого экземпляра принимает весь входящий трафик из любого места. Любая другая конфигурация, которую я пробовал, заставляет приложение сказать, что он не может установить соединение с удаленным адресом. Я установил правила для приема входящего трафика из всех групп безопасности, которые у меня есть, но он работает только в том случае, когда я разрешаю весь трафик из любой точки.

Кроме того, мой экземпляр db настроен с эластичным ip. Должен ли я иметь этот экземпляр за ELB?

Так мои вопросы таковы:

1) Как я могу безопасно подключаться к моей EC2 экземпляра, запускаемого Монго?

2) Что касается архитектуры, имеет смысл запускать мою базу данных таким образом, или мне нужно это за балансировщиком нагрузки?

Эта проблема меня отключает намного больше, чем я думал, поэтому любая помощь будет оценена.

ПРИМЕЧАНИЕ

Я также установить bind_ip=0.0.0.0 в /etc/mongo.conf

ответ

2

Ваш вопрос в том, что вы используете публичный упругую IP для подключения к серверу базы данных с других серверов. Это означает, что соединение выходит в интернет и обратно в VPC, в котором представлены следующие вопросы:

  1. вопросы безопасности в связи с передачей данных не содержится в вашем VPC
  2. проблемы латентности сети
  3. группа безопасности сервер базы данных не может определить группу безопасности входящих соединений

Избавьтесь от упругой IP на сервере MongoDB, нет никакой потребности в этом, если вы не планируете подключать к нему из-за пределов VPC. Измените свои серверы для использования частного внутреннего IP-адреса, назначенного вашему серверу базы данных при создании подключений к нему. Наконец, заблокируйте свою группу безопасности, чтобы разрешить доступ к БД из других групп безопасности.

Необязательно: создайте приватную размещенную зону в Route53 с записью A, указывающей на собственный IP-адрес вашего сервера базы данных, затем используйте это имя хоста вместо внутреннего IP-адреса.

Смежные вопросы